Principle-centered Invention: Bret Victor on tools, skills, crafts and causes
March 07, 2012
I just watched an incredibly inspiring video of Bret Victor's CUSEC 2012 talk, Inventing on Principle. Bret's principle is
creators need an immediate connection to what they are creating.
He illustrates this principle during the first 35 minutes of the presentation, demonstrating some fabulously empowering "live coding" tools to enable programmers to manipulate and immediately see the impact of changes to their code when working with graphics (at the 2:30 mark), games (10:25), algorithms (16:45), circuits (23:15) and animations (29:20).
I've rarely heard an audience respond to a speaker at a technical conference - vs., say, a State of the Union address - with applause so many times throughout a talk, but the audience applauded each of Victor's feats of programming empowerment, leading me to think of live coding / visual programming [tools] as a form of performance art ... and political statement.
As amazing as these tools are, the most inspiring part of his talk - for me - starts just after the 35 minute mark, where Victor ties these all together as examples of inventing on [his] principle, arguing that these arose not as just problem solving opportunities, but as part of what he feels is his moral responsibility to make the world a better place, to free ideas from the unnecessary constraints imposed by poorly designed tools.
Victor goes on to offer other examples of principle-centered inventors, and how their principles enabled them to make extraordinary progress on righting a wrong not yet recognized by a culture:
- Larry Tesler: no person should be trapped in a mode (e.g., early text editors such as vi)
- Doug Engelbart: enable mankind to solve the world problems (empowering knowledge workers)
- Alan Kay: amplify human reach and bring new ways of thinking to a faltering civilization that desperately needs it
- Richard Stallman: software must be free
Victor then goes on to espouse his personal philosophy of principle-centered invention, and to contrast that with the more traditional paths for designers, engineers, researchers and even entrepreneurs that focus on building skills and/or solving open problems. While I believe he has construed both entrepreneurship and academic research a bit too narrowly - I know of several people in these roles who are principle-centered inventors (some of whom I mentioned in an earlier post on irritation-based innovation) - I do agree with his larger message that changing the world requires a larger vision beyond serially solving open problems, and that people can have far greater impact on the world if they are willing to pay attention to common threads that irritate and motivate them across a range of experiences, identify their guiding principle, and then act on that principle.
Rather than further paraphrasing his remarks, I'm going to include an approximate transcript of that last 5 minutes of his talk, in which he integrates ideas about identity, experience and insight into a compelling case for principle-centered invention (and, principle-centered living), in case it might motivate others like me who rarely take the time to watch a 54-minute video [this one was tweeted by Clay Shirky (@cshirky), who emits an extraordinarily high signal-to-noise ratio throughout all of his media streams]
Bret Victor - Inventing on Principle from CUSEC on Vimeo.
The world will try to make you define yourself by a skill. That's why you have a major in college. That's why you have a job title. You are a software engineer. And you'll probably specialize to be a database engineer, or a front-end engineer, and you'll be given front ends and asked to engineer them. And that can be worthwhile, and valuable, And if you want to pursue your life pursuing excellence, and practicing a skill, you can do that. That is the path of a craftsman. That is the most common path.
The only other path you hear about much is the path of the problem solver. So I see entrepreneurship and academic research as kind of two sides of that coin. There's a field, there's a set of problems in that field, or needs in the market. You go and you choose one, and you work it and make your contribution. And a little bit later on, you choose another problem, work it, make a contribution there. Again, that can be worthwhile and valuable, and if that's what you want to do, you can take that path.
But I don't see Larry Tesler on either of those paths. I wouldn't say he was contributing to the field of user experience design, because there was no such thing. He didn't choose some open problem to solve, he came across a problem that only existed in his own head, that no one else even recognized. And certainly, he did not define himself by his craft, he defined himself by his cause, by the principle that he fought to uphold.
I'm sure that if you look at Wikipedia, it will say that he's a computer scientist, or a user experience something, but to me that's like saying Elizabeth Cady Stanton was a community organizer. No. Elizabeth Cady Stanton established the principle of woman's suffrage. That's who she was. That's the identity she chose. And Larry Tesler established the principle of modelessness. He had this vision, and he brought the world to that vision.
So, you can choose this life. Or maybe it will end up choosing you. And it might not happen right away. It can take time to find a principle, because finding a principle is a form of self-discovery; you're trying to figure out what your life is supposed to be about. What you want to stand for as a person. It took me like a decade; 10 years before any real understanding of my principles solidified. That was my 20s.
When I was young, I felt I had to live this way. I would get little glimmers of what mattered to me, but no big picture. It was really unclear. This was very distressing for me. What I had to do was just do a lot of things, make many things, make many types of things, study many things, experience many, many things, and use all of these experiences as ways to analyze myself. Taking all these experiences and saying "Does this resonate with me?" "Does this repel me?" "Do I not care?" Building up this corpus of experiences that I felt very strongly about for some reason. And trying to make sense of it, trying to figure out why, what is the secret ingredient to all these experiences that I'm reacting to so strongly?
Now I think everyone's different, and all those guys I talked about, they have their own origin stories, which you can read about. I will just say that confining ourselves to practicing a single skill can make it difficult to get that broad range of experience which seems to be so valuable for this sort of work.
And finally, if you choose to follow a principle, a principle can't be any old thing you believe in. You'll hear a lot of people say they want to make software easier to use, or they want to delight their users, or they want to make things simple. That's a really big one right now, everyone wants to make things simple. And those are nice thoughts, and maybe give you a direction to go in, but too vague to be directly actionable. Larry Tesler liked simplicity, but his principle was a specific nugget of insight: no person should be trapped in a mode. And that is a powerful principle, because it gave him a new way of seeing the world. It divided the world into right and wrong, in a fairly objective way. So, he could look at someone selecting text, and ask "Is this person in a mode? Yes or no?" If yes, he had to do something about that. And likewise, I believe that creators need powerful tools. It's a nice thought, but it doesn't really get me anywhere. My principle is that creators need this immediate connection, so I can watch you changing a line of code, and ask "Did you immediately see the effect of that change? Yes or no?" If no, I gotta do something about that. And again, all those demos that I showed you came out of me doing that, by following this principle, and letting it lead me to what I had to do.
So if your guiding principle embodies a specific insight, it will guide you, and you'll always know if what you're doing is right.
There are many ways to live your life. That's maybe the most important thing to realize in your life, that every aspect of your life is a choice. There are default choices. You can choose to sleepwalk through your life, and accept the path that is laid out for you. You can choose to accept the world as it is. But you don't have to. If there's something in the world that you feel is a wrong, and you have a vision for what a better world could be, you can find your guiding principle, and you can fight for a cause. So after this talk, I'd like you to take a little time, and think about what matters to you, what you believe in, and what you might fight for.