February 12, 2008

« Previous | Main | Next »

Software is Permanently Awful

Notice: about half of my readers seem to be programmers or at least familiar with programmer jargon. The other half are not. I'm trying to compromise between not boring the first and not annoying the second.

Paul Buchheit claims that "If CPU speed doubles every 18 months, then [Javascript] in 2007 performs like C in 2002." Since C is chosen for performance and Javascript chosen for features (it's what makes Gmail and Google Maps a lot more usable than their precursors), this basically means that people can slap together slow-running programs now and expect them to be as usable as carefully hand-crafted, ultra-efficient applications -- within a couple years. Then consider this interview with science fiction author Neal Stephenson:

My thoughts are more in line with those of Jaron Lanier, who points out that while hardware might be getting faster all the time, software is shit (I am paraphrasing his argument). And without software to do something useful with all that hardware, the hardware's nothing more than a really complicated space heater.

A third data point: In Founders at Work, Paypal cofounder Max Levchin talks about how one challenge with his Palm-based cryptography startup was that a particular operation took about two seconds -- and he had to make it look like his program was doing something, because otherwise two seconds of nonresponsiveness would be annoying.

In light of what Levchin said, I think I can divide interactions with computers into three categories:


  1. Things that happen basically instantly, like a character appearing on the screen when I punch a key.

  2. Operations like Levchin's decryption, or copying a file, or starting up an email client -- things that take just long enough for someone to notice that they're tedious.

  3. Anything that gives you time to get up and have a cup of coffee: rebooting, compiling, installing new games, transferring CD- to DVD-sized chunks of data around, downloading media.

I suspect that advances in computer speed mostly show up in shifting things from one category to another: drawing a picture on the screen might have taken a lot of effort thirty years ago, but now it happens instantly and is the basis for our interactions with computers; opening a web page was in Category 3 for me for a while; click the link, go do something, come back in a few minutes to see if it's loaded -- now it's in Category 1. Anyone designing a new operating system can make a couple tradeoffs: should booting up take 55 seconds instead of 60, or should wobbly 3D windows be something that happens right away rather than after a couple seconds of choking? In every case, the radical improvement is noticeable, so it's what wins. But the 'radical' improvement just means changing how we do an activity we already do -- the really radical stuff is a lot riskier than the shift between categories.

As long as that's true, we should expect new operating systems to give us faster, more accessible glitz, not profound changes in how we use computers. Paul Buchheit can now do in a browser what he would have had to do on a desktop in 2002. But that just means that, after half a decade of exponential increases in computing power, he's doing the same old thing.

TrackBack

TrackBack URL for this entry:
http://www.byrneseyeview.com/cgi-bin/mt/mt-tb.cgi/219

Comments (1)

Unfortunately, no increase in performance is going to stop software from being shit. If anything, it makes it worse. Things that used to be Category 3 were even then only possible when the best programmers spent a lot of time working out the kinks and making them go fast enough to work at all. When performance is free, no talent is required and all sorts of crap is possible.

Of course, it also means a much lower barrier to entry and more monkeys on more typewriters, so it's not a bad thing. It's just that (in my mind) the trends in hardware power don't correlate with better software. At least, not positively.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Meta

About | Contact | Hire?

A Byrne's Eye View of:


And don't forget:

Recommended Links

Powered by
Movable Type 3.33