For younger kids, you might want to have fewer colors, and make the color circles on the palette bigger. It would be nice if the interface rotated on page where you choose the photo. And a way to clear the photo completely, as opposed to having to paint it all in white. I looked for an undo button, but I think it was just reflexive... you probably don't need it. Something that looks like an eraser might be good for kids, as opposed to painting with white. And maybe a few more drawings with big blocks to color and less small nooks to fill (hard for kids).
And if you don't want to use vs2010, there is also gedit on windows which has support for coffeescript.
As for online, what I do is I have an online coffeescript editor (http://ace.ajax.org/), and when I save a file (with extension .coffee), compile it to js in the browser and save both the original .coffee file and .js file back to the server.
In addition, we have a small home-grown framework ("glue") that holds it together, but it's probably only about 100-200 lines of code. The advantage is that we know it and can maintain/add features easily.
But then again we don't really need a low end CMS, which is what many of these other frameworks try to provide.
CoffeeScript is amazing, I use it for everything including writing native iPhone apps (using titanium). Search for Album Plus in the app store. or visit http://www.albumpl.us/
Titanium is a mixed bag. For simple applications, it's great, but as soon as you need to do something a little bit complicated, the learning curve goes up quite a bit.
For example, in my app (http://iphone.albumpl.us) I had to write a couple of small custom objective-c modules to get some camera/image stuff to have sufficient performance. But overall being able to write most of it in CoffeeScript, is so much better (enjoyment-wise and speed-wise) than having to write everything in objective-c.
I love CoffeeScript, except that it makes me hate writing javascript code now :) Thanks @jashkenas for an amazing language.
I personally like code like this:
countNeighbors: (cell) ->
neighbors = 0
neighbors += @isAlive cell.row+x, cell.col+y for x in [-1..1] when x || y for y in [-1..1]
neighbors
isAlive: (row, col) -> if @world[row] and @world[row][col] and @world[row][col].live then 1 else 0
but you have to be careful, since putting a space before the "+x" will cause some bad stuff to happen. Maybe I shouldn't drop so many parenthesis.
@jashkenas can you fix [-10..10] (constant boundary) loops to not check for increasing/decreasing :) I can't think of an edge case that breaks it.
If you add a space after the + also, it’ll be fine (indeed, better).
But to be honest, I hate code that tries to do 5 bits of logic on one 100-character-long line, instead of just breaking into two more readable lines. [Edit: looks like that was fixed in the version at http://willbailey.name/conway/docs/conway.html]
For younger kids, you might want to have fewer colors, and make the color circles on the palette bigger. It would be nice if the interface rotated on page where you choose the photo. And a way to clear the photo completely, as opposed to having to paint it all in white. I looked for an undo button, but I think it was just reflexive... you probably don't need it. Something that looks like an eraser might be good for kids, as opposed to painting with white. And maybe a few more drawings with big blocks to color and less small nooks to fill (hard for kids).
Overall, great MVP.