In the late 1960s, Charles Simonyi came from Hungary to California to study mathematics and computer science, first at UC Berkeley and then at Stanford. As Microsoft grew rapidly in the 1980s and ’90s, he was one of the company’s most influential figures, overseeing development of Word and other products in the Office software suite. In 2002, hoping to avoid what he considered a looming dead end in software development, he left to found his own firm, Intentional Software. Here, he lays out what he is doing, and why it matters.
James Fallows: You are a longtime software pioneer, at Microsoft and elsewhere. What made you think you needed to take a different path in software development?
Charles Simonyi: It came from looking at the gap between what hardware made possible and what software achieved. If you look at the growth in hardware, it has been astounding. Everyone knows about Moore’s Law and the exponential increase in computing capacity. The increase in storage capacity joined that, and the bandwidth between computers. The numbers are unbelievable. At home I’m moving all my DVDs to computer drives; and all my photos, past and present; my papers; my CDs—everything.
And the displays! Remember when Bill Gates was building his house? Everyone was envious: “Oh my God. He is so rich that he can have computer displays just for art.” Now I’ve just been to a Rolling Stones concert that had, like, a 100-foot display. And in Times Square there are skyscrapers whose main purpose is to carry displays on their walls. We are surrounded by displays everywhere.
If you look at the game improvement, starting with Pong and going to the modern games like Halo, the detail and the excitement that you get is just tremendous, and the complexity also.
All of this has created some incredible improvements in our lives. But hardware needs to be activated by software. The gap has been actually widening between the possibilities and what has been achieved. We have some terrific applications, and I include the search engines—Google and Bing—and of course the Office suite.
But the potential is much, much greater. And it really has to do with encoding knowledge in a deeper way. That’s basically the reason I thought that a different path was needed.
JF: Suppose this had happened already, and software had matched hardware in realizing its potential. How would our lives be different now? And by extension, how will people’s lives be different in five or 10 years if your vision is fulfilled?
CS: The basic answer is that nobody would be doing routine, repetitive things anymore. Think of how many times you go to a new Web site, and after you’ve formed that intention of doing something—subscribing, buying, establishing a relationship—the rest [of the process] is routine and repetitive. But you still have to do it. Look at health care, and the simply incredible number of repetitive and routine actions you have to take as a patient.
Amazon has been applying a sort of rationalization and organization to a wider area of retail—but the elimination of routine activities from your life is the main thing we have missed.
I think what will happen is that the concept of what’s routine—and therefore avoidable—will expand. For example, making appointments, maintaining your calendar. Better software will definitely get into those areas.
JF: Why hasn’t this happened already? Is it lack of effort, or because the software problems are intrinsically more difficult than those with hardware?
CS: It’s the latter. Software is intrinsically harder, because that’s where the complexity has moved.
In the old days, through the industrial revolution, whatever complexity we were able to create was expressed in machinery. The example I use is a Mergenthaler linotype machine, which was a fantastically complex mechanism for setting type for books or newspapers. Or if you see an old James Bond movie, there is a Telex machine making noise in the corner. Now if you open up a modern ink-jet printer, there are practically no moving parts—just a little stepper motor that moves the head along. All the complicated behavior—the colors and fonts and justification and pictures—is imbued in the software. We’ve swept complexity from the mechanical world and moved it into the software. Software is distilled complexity, and complex things are hard to create.