waterbearlang / waterbear

Visual block syntax for programming languages
http://waterbearlang.com/
358 stars 88 forks source link

Create user accounts #997

Open caleybrock opened 9 years ago

caleybrock commented 9 years ago

Related to Issue #966

Got some feedback (from non-programmers on my paper prototypes) on tutorials and getting users started using Waterbear, and I thought this was a great suggestion. I got asked:

Currently, there is a solution for the last question by being able to export the files. Creating user accounts is not necessary, but it would certainly have some benefits, namely:

For these cases, it would be interesting to have user accounts, for the sole purpose of keep track of what tutorials they have completed. Might be out of scope for the goals of Waterbear, but would certainly be useful! Something like parse would be nice and free for a while: https://www.parse.com/plans

dethe commented 9 years ago

I've been avoiding having a server component for Waterbear to keep things simple (and allow it to be hosted on dreamhost or github pages), but we will need a server at some point to handle things like arduino programming. That's a different matter and I only bring it up because having is a traditional solution to having user accounts. As you point out, that sort of thing can be handled by Software-as-a-service like Parse now. So far we've been leveraging Gists for file storage, and if we allowed users to log into their own gist (github) accounts (or even create them?) we could list their projects stored there, and store information like how many tutorials they've taken in a private gist. Of course, we can also save that type of information in localStorage, like we do for their current script, but that only works as long as they only use one computer/browser, and doesn't sync with their mobile. Another tool that I've thought about integrating is Firebase, which can not only store their information and scripts and sync them across devices, but has real-time data exchange that we could expose to blocks so they can create multi-player games, not only to store high scores, but even each player's current position, etc. It's both powerful and relatively simple (my kid integrated it in his code in under half an hour).

One thing I want to avoid is requiring people to log in to be able to use Waterbear. It should be an option for those that want to store things in a user account, but you should be able to do anything else with Waterbear without having to log in.

caleybrock commented 9 years ago

I completely agree about not requiring people to login to use Waterbear. This is a huge deterrent.

Interesting thoughts on different alternates. I like the idea of storing tutorial information in a private gist. Even local storage for now would be a decent solution. Again, it's not blocking to create things like tutorials, but would be a big add for new users who don't have mentors.