Inventions and Visions
I look at all my computing heroes and I see many of the great accomplishments they’ve made. I see many great inventions they created and gave to all of us. I see how they’ve enhanced computing for the betterment of all, and I’ve been trying to find a way to contribute in a meaningful way. I think to myself, “If I could have invented just one of the things they’ve made, even if it took me a lifetime, I’d be happy.” I look on in astonishment and I can’t conceive of how they made their great inventions. At least not until recently.
What I’ve come to realize is all the heroes I look up to, all their inventions weren’t created for their own sake, but were instead created along the road towards a Vision. Doug Engelbart might have helped invent the mouse, hypertext, and collaborative software. Alan Kay might have helped invent the modern Graphical User Interface, the laptop computer, and Object Oriented Programming. But none of these things were inventions for their own sake: they were simply the natural fallout of the vision these people were working with.
Doug Engelbart didn’t set out to invent hypertext, he set out to Augment Human Intellect, and creating a form of non-linear text navigation was just a natural consequence of this vision. Of course he invented hypertext, there’s no way he could have avoided it on his journey.
Alan Kay didn’t set out to invent the Smalltalk programming language, he set out to create a democratized Personal Computer for Children of All Ages, where every part of the system was malleable and executable by any user. Smalltalk was never the goal, it was “just” (emphasizing because in reality, it’s of course a tremendous technical achievement) a vehicle to the next step in the vision.
Seymour Papert didn’t set out to build an electronic turtle and the Logo programming language to power it, he set out re-imagine what education looked like when the flexibility and dynamic behaviour of the computer was allowed to play a starring role in how a child learned to think and reason. The LOGO programming language wasn’t the target, instead, it was an arrow.
Doug Engelbart had a vision to augment human intellect.
Alan Kay has a vision to democratize computing and create a more enlightened society.
Seymour Papert has a vision to unshackle education from the paper and pencil, and create a society fluent in higher-level mathematics and reasoning, enabled by the computer.
Bret Victor has a vision to “invent the medium and representations in which the scientists, engineers, and artists of the next century will understand and create systems.”
I’ve spent so much of my life with my eyes and mind keenly focussed on the inventions of others, blatantly ignoring the purpose of those inventions. It’s like Shakespeare is trying to tell me a story and I’m marvelling at his pencils.
I get so caught up on the inventions themselves I can’t possibly fathom how I’d ever invent anything of that kind of magnitude. But I’m looking at it all wrong. If necessity is the mother of all invention, then I need a necessity. Inventions aren’t the point, they’re just the fruit that falls out of the tree as it reaches to the sky.
I don’t have a vision.
I need a vision.
While I have lots of goals, both short and long term, I consider those separate from a vision, because a goal implies there’s an endpoint. I think with a vision, it’s an on-going thing, with a target forever challenging you to keep moving forward.
I don’t know what my vision is, but until I figure that out, I can look at what it is not. Maybe by carving out the negative space around it, I’ll be able to form one in what’s left behind.
A Vision for What I Don’t Want
In twenty or fifty years, what I don’t want is for people to still be using “apps.” Computer programs as isolated individual little packages, operating independently and ignorantly of one another is not something I want to see in my future. I don’t want computer software to continue to be a digital facsimile of physical products on a store or home shelf.
In twenty or fifty years, what I don’t want is for software to be coded up exclusively in textual formats, which are really just digital analogues of paper punch cards. I don’t want to have to type in code in basically a text editor, have some compiling program spit out a binary, and then have the system launch the software once again for the very first time, leaving me to imagine what the program is doing. This is an antiquated way to build software, and it has no place in my vision.
In twenty or fifty years, what I don’t want is for professional software developer to be a common, mainstream job like it is today. There are so many great minds in every field in the world, from the sciences, to medicine, to finance, to families, and they’re all at the complete behest and will of professional software developers. A scientist or artist cannot create their own digital tools, as the world exists today, and instead must rely on software developers. This has no place in my vision. I want every person to have control over what they can make on a computer, so much so that it puts software developers like me out of a job. There might be a few of us left around, for things like low-level systems programming, but otherwise, I don’t want my job to exist.
Finally, in twenty or fifty years, what I don’t want is for children to grow up in the same world we have today. I don’t want the education system to continue to ignore the computer for its true capabilities, and instead cling to teaching everything as if we only had paper. I don’t want children to be manipulating “2x + 4 = 10.” I don’t want them to be trapped by paper, but instead I want them to have fewer restrictions on their imaginations. I don’t want them to think of computers as binary beasts of “yes or no”, “right or wrong”, but instead as a digital sandbox where errors and mistakes and messiness is encouraged and explored.
I don’t want my children to grow up in the world I grew up in. I don’t want their education to be the same, I don’t want their environment to be the same.
Encircling a Vision
All of that is to say I’m trying to find what I want to work on for the rest of my life. I’m trying to find a driving force, an inferno and dynamo which will power me and propel my work. Levers and pulleys are wonderful things, but they’re artifacts to help me on my way. I’m trying to build a civilization.