Hacker News new | ask | show | jobs
by Wowfunhappy 1448 days ago
Unfortunately, Scratch's stated policy is that they don't accept accept PR's from outside contributors unless they address an issue marked "help wanted". This is also a breaking change, and it does make Scratch a lot less performant.
2 comments

Fair enough, I haven't looked at contributing myself so I was not aware of the policy. I do think it might still be worth trying to reach out to their team to see what their thoughts are about the issue you experienced.

I'm sure it could be an uphill battle, but something like this might warrant a toggle-able "debug-friendly" mode that wouldn't be as concerned with performance. I could image possibly extending this principle to make repaints happen much more often, possibly even with a deliberate short pause after each repaint (which you might have already done) to avoid super fast jittering confusing a student's path to understanding loops or the speed of computations allowing them to hide bugs in a string of instructions that don't have one of these wait commands or "critical points" in execution to force a repaint to help them understand the current state.

Time to make a fork and use that for teaching instead
I’d like to! Scratch’s backend is closed source. The open source version lets you save and load projects locally, but that’s a nonstarter for my classes, where most students work on different computers each day.

I did have some success last weekend getting my fork to send a project’s data to a Cloudflare worker (where I can store it via Workers KV), but past that point I feel a bit stuck. None of this code is documented and I don’t have any backend experience. I think I need some sort of actual account and login system so that students can access all of their past projects.

I'll probably keep poking at it, I'm just not sure I'll get anywhere. Other prominent forks such as Turbowarp don’t have cloud saving either, and now I think I understand why.

It’s kind of frustrating tbqh. Scratch isn’t a good open source project if it’s centralized around a single host. I expect this of corporations who ultimately need to cultivate a customer base, but Scratch is an academic initiative from a prominent university. I understand why the backend is closed source, but I wish they provided clear documentation on how to hook it up to something else. (I also realize that like everyone in academia, they're probably understaffed and overworked, and I really do respect the tool they've built.)