
Up and Down the Ladder of Abstraction - macrael
http://worrydream.com/LadderOfAbstraction/
======
danso
Wow.

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.

~~~
danso
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.

~~~
egiva
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.

~~~
Radim
his PhD application is pretty unique, too:
<http://www.ugcs.caltech.edu/~bret/create_humor_gradapp.html>

~~~
Maven911
oh my goodness, that is the most hilarious thing ever, and whats more
suprising is that hes an EE and not a CS major

------
macrael
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.

~~~
keithpeter
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.

------
phzbOx
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.

Meh.

~~~
kragen
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.

~~~
jonmc12
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.

~~~
kragen
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.

~~~
jonmc12
"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.

------
nagrom
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.

~~~
kragen
You mean you've used Tangle for that, and it worked? Are your explanations
public?

~~~
nagrom
Work in progress; if/when it gets finished, I'll post it on here.

~~~
kragen
Cool! Maybe email me too? kragen@canonical.org.

------
arkitaip
Fascinating read and absolutely gorgeous to look at. This is the guy behind
Magic Ink <http://worrydream.com/#!/MagicInk>

~~~
kragen
I agree. And I think you can see both this essay and Tangle as further work in
the direction he identified in Magic Ink.

------
asolove
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.

------
xtacy
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.

<http://demonstrations.wolfram.com/>

Example:
[http://demonstrations.wolfram.com/DigitalTiltShiftPhotograph...](http://demonstrations.wolfram.com/DigitalTiltShiftPhotography/)

<http://reference.wolfram.com/mathematica/ref/Manipulate.html>

~~~
programnature
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.

~~~
bbq
"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.

~~~
programnature
One of his featured projects is <http://worrydream.com/#!/Tangle>

It requires knowing 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.

~~~
bbq
Tangle is just a stepping stone as far as I can see:
<http://worrydream.com/KillMath/>

Right now he's simply playing around with some basic ideas.

------
icandoitbetter
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.

~~~
div
I'd never come across his site or anything by his hand before, and feel like
I've missed out on a lot.

On the upside, I'm excited at going through all of his archives. I haven't
felt inspired like this in quite a while.

~~~
danso
You feel exactly the same way I do.

------
enjalot
This is the future of education. He just laid the blueprints.

~~~
VBprogrammer
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.

~~~
icandoitbetter
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/>

------
gfodor
Bret Victor, as usual, is a humbling reminder of how much I don't know and how
constrained my thinking is. Bravo!

------
colanderman
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>

~~~
joshhart
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.

------
michaelchisari
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.

------
yariang
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? :)

~~~
ineedtosleep
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.

------
jpitz
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.

------
jonnycowboy
Is this behaviour supported (and easy to use) on mobile devices as well?

A great use of this would be for electronic math textbooks for showing
students (high school) how various parameters influence graphs, etc.

~~~
xenonite
Impressed on iPad here...

~~~
danso
From his CV: <http://worrydream.com/cv/bret_victor_resume.pdf>

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

~~~
hendzen
He sounds rather bitter about his experience at apple:
<http://worrydream.com/#!/Apple>

~~~
9999
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.

~~~
tsunamifury
"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.

~~~
9999
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.

------
tambourine_man
Damn this guy is good. Check the whole site out, well worth it.

------
rottencupcakes
Does it bother anybody else that he fails so miserably at solving the example
he uses for this article: keeping the car on the road?

~~~
nagrom
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.

~~~
rottencupcakes
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.

~~~
Volpe
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".

------
defdac
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.

------
AdamTReineke
That was fantastic. In case you missed it, use the arrow keys to move the car
in the header to jump up the ladder.

~~~
pyre
Annoyingly, the arrow keys are hijacked, and I can't use them to scroll the
page.

------
nitrogen
The only thing that could make this better is if the arrow keys still worked
for scrolling (Firefox 7).

------
jsilence
Awsome!

