If you have not watched the talk (<a href="http://vimeo.com/36579366" rel="nofollow">http://vimeo.com/36579366</a>), I highly,
highly recommend it. It's a very worthwhile and inspiring hour. In it
Bret Victor (<a href="http://worrydream.com" rel="nofollow">http://worrydream.com</a>) discusses living life according to an
overriding principle. For him, that principle is that creative tools
should offer immediate feedback. He demonstrated a number of software
tools to that effect: creating computer art, games, algorithms,
electrical circuits and animations by seeing the effects in real-time
as you code them. The link is an implementation of one of his demos.<p>But more important than his particular example is the general theme.
Having a principle, which is a specific, actionable thing wrong with
the world (other examples from the talk: Larry Tesler and modal computing,
Richard Stallman and non-free software) is what allows you to have the
biggest impact. It's being able to look at something in the world and ask
yourself: does this match my principle, and if not, how can I fix it?
I also made a ClojureScript version of Bret Victor's interactive editor applied to game development:<p><a href="http://www.chris-granger.com/2012/02/26/connecting-to-your-creation/" rel="nofollow">http://www.chris-granger.com/2012/02/26/connecting-to-your-c...</a><p>Video here:
<a href="http://www.youtube.com/watch?v=7XUWpze_A_s&context=C4f8c263ADvjVQa1PpcFMoGnzflryqF69PN0E-wmVTQADqR-HOSO4=" rel="nofollow">http://www.youtube.com/watch?v=7XUWpze_A_s&context=C4f8c...</a>
Thanks everybody - didn't expect to make the HN front page! Still working out a couple issues.<p>And go watch Bret's talk if you haven't - a truly ingenious presentation! :)
Why on earth does it look like a book?<p>I'm getting over my abject hate of skeuomorphism. I'm coming 'round to the idea that it can help give users confidence that they'll be able to use your product.<p>...but this baffles me.
I was amazed watching the video of Bret V. using a tool like this, but even given those expectations I'm impressed with how cool this is to use. Thank you very, very much for showing us this.<p>(Only such a beautiful specimen deserves such nitpicking, but: it's not a _genius_ talk, it's an _ingenious_ talk. _Ingenious_ is the adjective form of the noun _genius_.)
Sadly, ctrl on a mac means you right-click instead of left-click. It then gets stuck editing anything you click near :/ (edit: ah, I see they've added alt support. fantastic, works a lot better now)<p>The setup is awesome though, and it does a great job demonstrating what all the values do. I'll have to watch the talk now.
I implement something like this for any sufficiently large (game) project I work on. I can tune the location/size/color/etc of any object on the screen in real time, just by scrolling my mouse left to right. The time saving is invaluable.
Field (<a href="http://openendedgroup.com/field" rel="nofollow">http://openendedgroup.com/field</a>) is a development environment that embraces the ideas of "code space as canvas" and experimentation through instant feedback; I was immediately reminded of it while watching Victor's talk. Values are editable with GUI elements embedded inside the code, almost identically to this demonstration (see <a href="https://vimeo.com/3001412" rel="nofollow">https://vimeo.com/3001412</a> for an example).
A student from Georgia Tech did a fantastic job with one of these last month as well. He called it CodeBook:<p><a href="http://danielchasehooper.github.com/CodeBook/" rel="nofollow">http://danielchasehooper.github.com/CodeBook/</a><p>You guys might want to think about working on it together. His version includes the introspection on an item in the canvas as well as some other great things like inline, as you type JSLinting.
This is great work - thank you for sharing it with the world.<p>There was also this guy who was building a HTML5 live canvas app based on Bret's demo, which looks to be quite handy (if it's released):<p><a href="http://www.youtube.com/watch?v=TBUC-7D1LIc" rel="nofollow">http://www.youtube.com/watch?v=TBUC-7D1LIc</a>
Very nice! I just discovered the talk and demo today. I noticed though that the rendering of the editor seems to vary across web browsers. The figure looks smaller and is positioned in the top-left in Firefox. But it's centered and looks otherwise normal in Chrome.