Hacker News new | ask | show | jobs
by xiaomai 2078 days ago
I taught a high-school Intro to CS course last year with the TEALs program (https://tealsk12.org). I was very unenthusiastic when I heard that the first semester was taught using Snap, but I was wrong. Snap is a pretty awesome way to introduce someone to programming (much more powerful and reliable than other block-based programming environments I've tinkered with like the Kano kit).

The one really terrible thing about the current iteration of Snap (that I think would be trivial to solve?) is that you have to remember to save your work. I don't think that's a normal thing for people to think about on the web in this day and age, and I have seen many students (and my own children) lose large amounts of work due to this. It's extremely discouraging.

Other than that though, the snap language/environment is quite nice.

3 comments

Autosave is not exactly trivial, but it's definitely on the list. I do agree it's something incredibly useful!

(Doing it right also can incur some costs, and that's something we would need funding for...)

Local storage might be a lifesaver here. Just in case someone forgets to save offer auto recovery. This can be done client side with no server costs.
Trust me, I know. But even here we run into issues, such as projects over the local storage limit, and the fact that (well, until COVID...sigh), a non-trivial number of students were in computer labs that contained programs like deep freeze making anything local storage based headache inducing as a means of support.
Thanks. Would you say you need more contributors? And if you do what are you needing? Coders? Project Managers? Designers? Writers?
Depends on what you're doing, but coding is probably the obstacle. There's about 4 of us working various amounts of part time.

In the case of auto-save, there's a lot of unsettled design trade-offs, and other needs keep coming up. But if you're curious, you're welcome to check out the GitHub: snap-cloud/snapCloud is the backend, and jmoenig/snap is the main IDE.

Yeah as a beginner at open source contributing (but not development) I'd be looking to fix tiny bugs first anyway!
Good point, I was definitely too flippant about the amount of work involved. Glad to hear it's on the list though!
I thought the message broadcasting and asynchronous behavior of Snap is really cool, specifically how sprites can have multiple code blocks each responding to messages or events.

I'm actually listening to a TEALS meeting right now! Funny to see it on HN.

I can second that, I have seen people frustrated after loosing work in Snap! by missing to save. But then that's maybe also a lesson people ought to learn early-on when creating stuff on the computer: safe early and create backups :)