Archive for the ‘Software development’ Category
Instant Feedback: It Applies Everywhere
If you work in software development and you haven’t watched Bret Victor’s presentation “Inventing on Principle”, you must do so now:
This video made its rounds among developers and general nerds early this year to much fanfare. The key take-away – at least for me – was that in order for a creative process (like programming) to be effective you must remove the things that stand between an action and its effect as much as possible, making the whole process more like the real world – more “tangible”. Or in Victor’s words (recited from memory):
Just like a painter immediately sees the effects of his brush strokes [...] a coder should immediately see the effects of his code changes
This presentation has inspired several projects based on the “instant feedback” concepts Victor sets forth so powerfully.
Several of these projects have been coming to fruition over the last few weeks, including:
- Gabriel Florit’s Livecoding.io
- Kahn Academy’s new coding environment – (blog post)
- Chris Granger’s LightTable – (introduction)
- Geoff Goodman’s Plunker
These – as well as most of the examples in Victor’s original presentation – are all IDEs (nerd-speak for whatever nerds use to write programming code).
But while listening to Gabriel Florit presenting livecoding.io at the Boston DataVis meetup yesterday it dawned on me that this is not just about coding.
Yes, I am *that* slow (or was so distracted to begin with by thinking about how empowering these concepts will be for coding) but: Instant feedback should be the default behavior for all software.
Granted, the feedback problem is particularly bad in software development, but think about all the other software you use – or develop:
- Wherever there is an “Apply” button there is room for more instant feedback.
- Wherever these is a modal dialog window there is room for more instant feedback.
- Wherever the user doesn’t see the effects of a change or a choice until several choices or commands have been made, there is room for more instant feedback.
- Wherever the user is changing something he’s unable to see and most hold in memory or imagine the results of his actions, there is room for more instant feedback.
…and it will always make the software feel more tangible and “natural” to use.
Of course there are cases where – for performance reasons or otherwise – this may not be feasible, but the industry as a whole is way too stuck in the “Apply changes” mindset.
I can definitely see a number of improvements we can and will do on the – already pretty dynamic – interface of DataMarket.com guided by these principles.
I must echo what my colleague, Vidar Masson, said this morning, talking about Bret Victor: “People are going to remember this presentation for a long time!”.
Indeed! And its effects will reach far beyond the IDE.
