
Bret Victor: Inventing on Principle - jashkenas
http://vimeo.com/36579366
======
thesash
This is so inspiring, especially after having read and followed some of Bret
Victor's previous work. You can literally see the progression of his thoughts
moving towards this, demonstrating that he really is driven by inventing along
the principal of immediate feedback for creators.

<http://worrydream.com/MagicInk/> <http://worrydream.com/KillMath/>
[http://worrydream.com/InteractiveExplorationOfADynamicalSyst...](http://worrydream.com/InteractiveExplorationOfADynamicalSystem/)
[http://worrydream.com/ScientificCommunicationAsSequentialArt...](http://worrydream.com/ScientificCommunicationAsSequentialArt/)
<http://worrydream.com/DynamicPicturesMotivation/>
<http://worrydream.com/ExplorableExplanations/>
<http://worrydream.com/Tangle/>

------
shoover
For anyone who may read this thread and think the talk is just a showcase for
Bret's design and coding skills, it's not. The demos are awesome in their own
right, but they exist to set the stage for the rest of the talk.

"The purpose of this talk is to tell you that this activist lifestyle is not
just for social activists. As a technologist you can recognize the wrong in
the world. You can have a vision for what a better world could be. You can
dedicate yourself to fighting for principle. Social activists typically fight
by organizing, but you can fight by inventing."

He explains how he got to where he is, gives other examples from computing of
people whose work transcends a skill or craft, and walks through how you can
work toward that if you want to.

------
gfodor
Yeah, this right here is probably the Mother of All Demos for this generation.
Truly stunning. Every time Bret posts something I think he's finally released
his masterstroke, but then he one ups himself the next time. Can't wait to see
what he does next.

------
jasonfried
Bret is one of the smartest, most insightful designers of our time.

------
chmelynski
Might I note that spreadsheets have immediate feedback. They also enforce a
pure functional style (which you can break out of by bolting on a script
written in a completely different language. Makes it possible to mutate state,
but you have to do it consciously, and it requires a context switch).

Both of these are great features for programming. I sometimes use a
spreadsheet to "mock up" a function, if I think the function is amenable to
such a thing.

Unfortunately, spreadsheets have pretty severe limitations as general
computing environments.

~~~
gruseom
_Unfortunately, spreadsheets have pretty severe limitations as general
computing environments._

I'm working on this problem, so comments like this are like crack to me.

Please say more. What severe limitations? Can you imagine a more powerful
spreadsheet that didn't have them? If such a spreadsheet existed, what could
be done with it?

~~~
chmelynski
Let me try and cover most limitations by saying this: a spreadsheet should
basically be an interface to a Lisp interpreter. The ability to define new
functions (within the spreadsheet itself) is the biggest thing, I guess. But
if the spreadsheet is just an interface to Lisp, you get everything else, too.

Another problem is that you're stuck working with tables. Tables are great,
but I want to be able to edit other data structures in a spreadsheet-like way.

Especially trees. Trees are everywhere. Mathematical functions, HTML, code in
pretty much every programming language, XML documents (which include Word and
Excel). All trees.

Joel Spolsky claims in his Trello post
(<http://www.joelonsoftware.com/items/2012/01/06.html>) that Excel is about
simple creation of tables, and great mass-appeal products are about the data
structure they revolve around.

I think trees are underserved. I want to be able to write a _tree_ , not 2 + 4
* 5 / 6, or <html><head><body></html>, or (((()()()))()())))(()()()())).

Plus you don't have to give up tables. Making a table out of a tree is easy
(think HTML tables). Modeling a tree with a table is more clunky, in my
opinion.

I think that a well-designed product along these lines could drag millions of
"non-programmer" spreadsheet users all the way to _Lisp_.

~~~
gruseom
_I think that a well-designed product along these lines could drag millions of
"non-programmer" spreadsheet users all the way to Lisp._

I love you! Please email me. Address in my HN profile.

 _The ability to define new functions (within the spreadsheet itself) is the
biggest thing_

Agreed. There are others, but if you have functions, especially functions as
values, you can build most of them. But it isn't obvious how to integrate
"native" spreadsheet functions into the spreadsheet as we know it. (Even Simon
Peyton-Jones co-authored a paper on this, to little avail.)

 _Joel Spolsky claims in his Trello post that Excel is about simple creation
of tables._

Right, thereby implying that Trello is what Excel really wants to be for most
users. I bet against that. I don't think there's a simpler tabley core
struggling to emerge from Excel, I think Excel _is_ the core. The spreadsheet
is the local optimum, and local alternatives will either fail to attract users
away from Excel and/or get sucked into the black hole of becoming spreadsheets
themselves. Why? Because spreadsheets let users play with data in a way that
nothing else does. Excel isn't static tables, it's interactive computation.

Of course, when they eventually add formulas to Trello, Joel will write
brilliantly about how everybody needs formulas. :) But can you iterate a
quite-different product into a general-purpose spreadsheet? I don't believe
so. That's Greenspun city.

 _I think trees are underserved [...] Plus you don't have to give up tables.
Making a table out of a tree is easy_

Here we may diverge. If the spreadsheet is a UI for a dynamic table, what does
the UI for a dynamic tree look like? Seems to me you're likely to end up with
something quite different-looking, which will make it hard to appeal to Excel
users.

 _Making a table out of a tree is easy (think HTML tables)_

Meaning the table as a root node, rows as children of it, and cells as
children of rows? Again, though, the UI won't look like a simple Excel-style
grid if it needs to render all trees instead of only "square" ones. The danger
here is that if you make something too abstract, you lose the non-programmer
spreadsheet users, the great bulk of the audience. Your tree idea lives or
dies on whether there's a simple, general UI for it - where "simple" means
"seems simple to Excel users". And also, I suppose, on whether there's a
natural formula language for referencing data laid out in trees. Data
references in formulas are critical to the way spreadsheets work, and they're
the hard part (other than that, expression trees are easy to compute) - and
the way spreadsheets do it relies on the grid layout.

 _Modeling a tree with a table is more clunky_

It is clunky, yes. I'm not sure how to do it well. When people lay out
hierarchical data in spreadsheets they tend to use indentation to indicate
parent-child relationships. Significant whitespace I guess!

------
robbrit
CUSEC (the conference where this was filmed) is hands-down the best technology
conference I've ever been to. If you're anywhere near Montreal, I'd definitely
recommend that do what you can to get up there (it's only $100!) since every
year they have amazing talks like this that remind you why you became a
developer.

~~~
brown9-2
If you wouldn't mind - I'm curious to hear what some of the other talks you've
heard at CUSEC were? This one is amazing and I'd love to make it up there some
year if the rest are even half the caliber of this.

~~~
robbrit
From the Vimeo page above you'll see a list of the videos on the side that
have been published by CUSEC. Some ones that I liked are by Reg Braithwaite,
Greg Wilson, Zed Shaw.

Some ones that aren't on Vimeo that I remember really liking were by Dan
Ingalls and Giles Bowkett, not sure if they were recorded or not.

------
Griever
Incredible. So many unique and well-executed ideas in one presentation. It's
almost too much to take in at once.

With the iPad animation part in particular though, I got the same kind of
feeling watching that as I do when I watch the original "mouse" videos on
Youtube. Very exciting possibilities to say the least.

------
frou_dh
It's embarrassing and inspiring how many orders of magnitude higher this guy
is playing at. What a presentation.

------
Shuo
Bret is always have some impressive ideas. I love his article and the way of
thinking. He is the most insightful designer.

------
Codhisattva
Brilliant coder. Really glad this talk is available! Thank you CUSEC!

------
tree_of_item
Every time Bret makes a new essay I feel like I've completely missed the point
about what matters in technology. It's a strange mixture of frustration and
inspiration. Amazing video.

~~~
shoover
I had a hard time getting the essay on time and interactivity, but this killer
presentation really helped it sink in and dial the frustration to inspiration
ratio.

------
azizali
I love this.. It is truly a life changer

~~~
agumonkey
this is TEDtalk worth. Unbelievable.

