This is simply one of the best guides I've seen to anything...ever. It's uncommon for an online guide to have well-written text, even rarer for it to leverage HTML's structure and organization, and almost unheard of to incorporate interactive useful elements that gel with the textual sections.
Looking through the rest of the author's (Bret Victor) website, I'm in awe. If this guy wanted to declare himself the Edward Tufte of interactive visualization, I think he'd have a good case for it.
Yeah, and taking a look at his CV he also did a lot of Apple-interface design work. And has a best selling product (neat synthesizer). And a lot of other top-notch work. This guy is a definitely a neo-Tufte candidate for the digital era.
Definitely read the appendix "Tools & Implementation". He expresses frustration with the current state of the art in building visualizations.
My guess is that he is using his javascript library for "reactive documents" called Tangle http://worrydream.com/Tangle for all the demos in this article.
I'll just add that I really find this whole piece astounding and many levels above the majority of things I find on the internet.
Excellent stuff, as others have mentioned, I thought of Tufte meets Web.
The "Tools & Implementation" section had me thinking of the pure data sound programming environment - the way you drag the numerical parameters in the code (cheekily reminiscent of processing) that draws the circles to change values.
tangle.js is referenced in the html of the page, and I shall certainly be looking into that for maths visualisations at a more humble level.
Looking at his website, his resume and his project, I just feel like stopping everything I do. A little bit like if you start to run for a couple miles and after 5-6 when you're pretty tired, you ask your friend how much remains. And he smile at you, start running even faster and says 195miles.
Or, it's like playing Starcraft agains a good player. You get beaten pretty hard but you still played your best and are proud. But then, somehow, you play a real professional gamer.. and you just feel like stopping playing that game. Nothing works, you look like a total beginner, you get 5/0-ed, and then, you learn he was on the phone the whole time.
Add Bret Victor to the list of people to read about when you want to be depressed about your lot in life. This list includes Fabrice Bellard et al.
Bret is even more impressive since he combines hardware, software and UI skills.
Why depressive? As Neal Stephenson mentions upon Hiro meeting Raven in Snow Crash. If you are over age of 25, you realize that there are certain levels of excellence that you will never reach even if you move to that Shaolin monastery.
I think some people have this innate drive to excellence (how much of that is acquired and how much is inherited is another discussion) and apply themselves with full dedication. You can see Bret's teenage projects were already pretty impressive.
Ever since then Bret's toolbox of skills has only multiplied till you see the effect today.
If someone had told me his work had been done by a devoted team of a dozen people, I'd still be tremendously impressed that only twelve people managed to accomplish so much. The fact that it's one man? It's chilling.
Try looking at things another way—he's generously provided us all with an incredible foundation upon which to build our own things. After having read a few of his essays, I certainly feel changed.
I feel exactly the opposite way. I find this essay and his site in general really inspiring, and I always get lots and lots of ideas for things to do when I read them! I'm also really glad he's implemented Tangle, because it means I don't have to; I can just use it. Although I haven't yet.
Exactly - the takeaway is that Bret can create amazing things as a result of building off of his own creations. He's not running, he's building reusable components for a rocket ship.
That's not what I get from it. I think Bret is creating amazing things because he's doing something different from the crowd, he's worked hard on it over a period of many years, his standards of quality are extremely high, and he's spent even more years developing the skills (programming and visual design, in this case) needed to make it work. (And he's pretty smart, too, which is kind of a multiplier to the above items.)
Building off of your own creations and 750¢ will get you a cup of coffee. Build off other people's creations where you can. If you're doing something different from the crowd, sooner or later you'll get to a point where you have to pull yourself up by your bootstraps, and you have to be able to do that or you'll hit a wall. But it's far from sufficient.
"he's worked hard on it over a period of many years, his standards of quality are extremely high, and he's spent even more years developing the skills" - completely agree with that too. However, just view this as pre-requisites to building work that is so good that no other building block will suffice. Tangle would not have evolved if not building off Magic Ink and other work. This article would not have been nearly as meaningful without Tangle and the other visualization patterns he created in past.
Ok well, it's been 3 hours I'm on the website; reading, looking the source, bookmarking lots of things, buying new games and books. This guy is simply amazing. Please, do yourself a favor and get a look at these links: http://worrydream.com/#!/Links
I'm a physicist studying nucleon structure. This is a field so complicated that other physicists typically shake their heads and mutter "must be mad". We typically work at several layers of abstraction.
This (Tangle) is the one tool that I've seen that is capable of communicating well to non-physicists what I do, without their needing to know Mathematica or C++ in detail. I really need to get around to writing a web page that does that. Awesome. Inspiring. Ridiculously, breathtakingly good. Bret's entire website is outstanding.
Totally speechless. Feel like this is what I ought to be working on/with. I look forward to the day when online news sources take advantage of the medium to cover wars and budget proposals in this format.
Very impressive, but I am not sure his comment about Mathematica is right. The Wolfram Demonstrations project is about aiding such explorations in Mathematica. It may not look as pretty, but it's definitely capable of enabling explorations using the Manipulate[] command.
Work is very nice by web standards, but Mathematica's version of interactive documents is much more sophisticated. Strange that he seems to be unaware of what Mathematica can do, given the rant on tools at the end. Its pretty much exactly what he wants, only just proprietary and not on the web.
"Its pretty much exactly what he wants, only just proprietary and not on the web."
Which is exactly what he doesn't want. The authoring tools should be accessible to everyone.
Secondly, after exploring his site I'm guessing Bret would reject Mathematica even if it were free & open source. Because even then it's not accessible to everyone - you still need to know how to program.
All I'm saying is that its a shame he doesn't seem to know about what Mathematica has done in version 6 and beyond, since its seems squarely up his alley... which is ironic because he specifically calls out Mathematica in the article for not being interactive enough.
Bret Victor is one of the great people working in computing (not computer science) today. I expect something paradigm-shifting from him in the coming years.
This is a good example of how to make a high-confidence prediction about the future: look for something that's already happened, and predict that it will have happened soon.
In other words: he's already published paradigm-shifting things!
I don't know whether this was a one off, a subject which he was able to knock out of the park or if you are right. I do think someone should pay him a lot of money to find out.
Definitely not a one-off project. It's part of his "Kill Math" series that he started earlier this year. Check out the introduction: http://worrydream.com/KillMath/
Beautiful site. But I hope anyone actually trying to solve the example problem of guiding a car on a road uses a PID controller and not a binary threshold. Here's an interactive example for those interested: http://fstutoring.com/youlearn/pid/controller
I agree. It's a nice site and a lovely visualization, but it's not the right way to solve the problem. A PID controller or something similar like a Kalman filter is the way to go.
The Anybots robots are a great example of a PID filter in action.
This is definitely one of those moments where something inspires me to look at everything I'm working on and want to throw it all away, and rebuild it at this level.
I think the best part of it is the car at the top. I can easily play with that for a few minutes. They do say 80% of the gains come from 20% of the effort right? :)
Nice little bit up there, but it was absolutely frustrating at first since I wasn't able to go down the page with my up and down keys and I was wondering why for almost 5 minutes.
I see what this author has done, and I wonder to myself if I could ever possibly have the time to write myself tools to do the things he suggests. Then I wonder if I have the time not to.
I was very surprised how well this worked on my android phone. Normally these sorts of things are frustratingly worthless. Here I was able to interact almost as well on my phone as on my laptop.
Apple:
>>I designed the initial user interface concepts for iPad, iPod Nano, and half a dozen experimental hardware platforms. Initiated, designed, and prototyped over seventy concept projects, including radically reinvented interfaces for video editing, animation, drawing, learning, collaboration, mail, photos, and much more. Invented features for Mac OS X Lion. Worked with designers and engineers from all parts of Apple. Routinely presented to top-level management
Did he actually expect that the work he created would all be used? Or that if it wasn't used that he would be able to take that work (now property of Apple) and show it to the public? I don't think either positions can be considered reasonable.
Also, in general, direct manipulation of objects (mapped to real world gestures/physical object interaction) is not the end all be all of HCI. The use of abstraction in the pursuit of increased expressiveness and user input magnification is perfectly acceptable. Being able to immediately understand something is not more important than being able to efficiently accomplish a task repeatedly.
"The use of abstraction in the pursuit of increased expressiveness and user input magnification is perfectly acceptable. Being able to immediately understand something is not more important than being able to efficiently accomplish a task repeatedly."
Whoa that is a pretty strong statement you just made there. I'd say there are two pretty strong and valid camps about this -- one saying its important to understand immediately and another saying tis important to do a depth of work effeciently. Both have extremely valid examples of why their theory is better.
Ideally you would have a balance between the two. What put me off in his statement regarding working at Apple (aside from what seems to be some unrealistic expectations) was his statement that he became known for "pervasively direct-manipulation interfaces (where the user does his thing by moving and gesturing with meaningful objects, instead of relying on verb buttons and other indirect controls)." I think there's certainly a place for that sort of interaction, but I can see why Apple would not entirely embrace it to the exclusion of other types of interaction.
No. He's not trying to keep a car on the road. He's trying to let you understand the problems behind keeping a car on the road, so that you should solve that problem for yourself.
I'm sorry then. I just personally find that how dumb his example is keeps this from being interesting at all.
Why not pick an example where his clear ability to make useful visualizations reveals some startling insight about an initially complex system that he then abstracts away to simplicity?
EDIT: Thanks for downvoting guys. If you felt this blog post revealed something fundamental and astonishing, how about explaining it to me instead of downvoting me out of anger? I think I'm done posting on this website.
I think the downvotes reflect the fact you are belittling this post when it is clearly brilliant.
Your reasoning that "he doesn't keep the car on the road" misses the point. He's demonstrating abstraction itself, and using a medium (reactive documents) that are really engaging.
Focussing on the car itself, kind of misses the point.
Calling his examples "dumb" just looks petty and deserves the downvotes, there is nothing about this that is "dumb"... it verges on "genius".
The blog post revealed something or probably two somethings fundamental and astonishing - one being a new ( to me ) process of problem solving, and the other being an almost virtuosic display of visualization. I disagree that it was anything to do with car control algorithms. As the author says, that example was picked after watching Alan Kay use it. Maybe the author felt Dr. Kay was a good example to emulate.
Actually, the opposite. As I read through the examples and played with the demos, several ideas for ways I would change the algorithm came up as I saw how his simplest algorithm failed. Which I think was precisely his point. Once you have these tools in place and can move up and down the ladder, you have learned much more about the problem domain, and better solutions become apparent.
The intro is a really good guide on how to build interesting (exploration) games. Minecraft comes to mind, for example people making charts of ore beta distributions in effort of understanding the inner workings of the world they play.
This is simply one of the best guides I've seen to anything...ever. It's uncommon for an online guide to have well-written text, even rarer for it to leverage HTML's structure and organization, and almost unheard of to incorporate interactive useful elements that gel with the textual sections.
Well done.