DAB A LITTLE VON NEUMANN BROWN...
ยทUpdated:
·

โ€‹We've highlighted a few of Nicky Case's wonderful interactive projects before (like LOOPY, a systems visualizer and this fascinating firefly simulation), but Joy.Js, a tool for making "happy little programs," is so neat that it earns that Bob Ross-ism.

At its core, Joy.Js is an open source editor that lets people code interactive in-browser programs that their users can then edit, in real time, with no prior programming knowledge. Someone with no idea how to code can see the actions of a Joy.Js program in plain english, and can then change the values or commands in any line of that code's program.

Turtle graphics, Joy.Js style. 

Take for instance this classic turtle graphics demo: since it's written with Joy.Js, all of the turtle's commands are editable in real time. A user can even hover over any step to see what the end result on the left looks like if the program stops there. Adding to the turtle drawing is as simple as clicking a few buttons and adding your own commands:

Just like that, we've made this turtle a Satanist. 

Just to give you a sense of what's possible with Joy.Js, Case has also written a modeling program for nonlinear dynamics and a chirpy generative music maker. Seeing programs like these written in simple statements and being able to change them with immediate results has neat teaching potential and is, frankly, a little magical.

Surely Bob Ross, who enjoyed the minutiae of the painting process most of all, would love seeing anything creative made less intimidating. Happy coding!

Oh, and since you can easily share your Joy.Js creations with a URL, here are some happy little trees, too.

[Nicky Case]

<p>Mathew Olson is an Associate Editor at Digg.</p>

Want more stories like this?

Every day we send an email with the top stories from Digg.

Subscribe