Why Is Software So Slow?

An interview with software executive Charles Simonyi on why computer applications lag behind hardware, and how new apps could end drudgery

By James Fallows

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.

JF: How does this make a difference in the way you develop software?

CS: The key thing is that the nuggets of information we are exchanging, through e-mail or any other means, will have to be encoded in such a way that they are actionable by computers as well as humans.

Today, most of the information we exchange is expressed in English. There’s nothing wrong with English as one form of expression. The problem with English is that it has been shaped by evolution to work between human beings, and mostly in a face-to-face or a conversational sense. You know how difficult it is to write and be clear when you are not in a conversation, like you and I are right now. If I were to mumble or say something ambiguous, we could resolve it with a question and an answer. When you are writing, you don’t have that luxury of interaction with your reader.

JF: Right, you have to anticipate all possible ambiguities and avoid them.

CS: And misunderstandings. You have to convey, in written words, what in conversations you could clarify with your tone, with your stresses, and so on. And whatever the problems are in writing for people, they are made exponentially worse when you are “writing” for a computer. It is like dealing with somebody who is very capable, but absolutely literal and not in a position to ask questions. Or if you put a computer in the position where it needs to ask questions, that gets annoying, like the menus on a phone system.

JF: Here are three scaling questions: As of right now, which software that people interact with impresses you most for its incorporation of intelligence? Which one most annoys you for its lack of intelligence? And 10 years from now, what will be the most dramatic change we’ll see?

CS: I think that just in terms of usefulness and the incorporation of intelligence, the simple task of spell-check is very impressive, actually. When you misspell a word, or go to Wikipedia and mistype a name, you will get very, very good suggestions, very quickly, even from limited context. I’m in awe of that. And statistics-based translation systems [which match, say, a passage in Chinese with its most likely meaning in English] are getting surprisingly useful.

In terms of annoyance, I will tell you that what annoys me the most is consumer electronics. Consumer electronics is the most pathetic piece of—

JF: —crap?

CS: Your word!—that is foisted on us. The worst part of consumer electronics are the remotes. When you go someplace, be it someone’s home or a hotel room, you’re faced with four remotes, none of which are labeled. Each one has about 50 buttons, and none of the buttons have anything to do with what you would like the display in the room to be used for.

JF: So if that’s the dumbest product, where will we see the most embedded intelligence in five or 10 years?

CS: Any repeated, routine activity that you shouldn’t have to repeat.

I think it will come in health care and, generally, the organization of your life. In some sense, everybody now has an assistant available in terms of word processing and e-mail. We don’t ask somebody to “create a letter” or send a fax. We can do it ourselves conveniently, because the knowledge of how to do it has been encoded in software. But in terms of really organizing our lives, we don’t all have an assistant who knows everything about us, can make obvious judgments without asking us, can follow up on and anticipate things, and do all the things that a good executive assistant would be doing. I think that will be available in five or 10 years. It will be an app.

So that’s what I foresee: that we won’t have to do routine things and we can concentrate on our lives. We can concentrate on other people, on enjoying art and science, while the routine stuff will be done by software.