Killing Complexity

Monday November 01st 2004, 7:32 pm Printer Friendly Version
Filed under:Software Industry
Posted By: Matt

An excellent survey on Information Technology in this week’s Economist, specifically focused on the problems caused by software complexity. The article explains how users are increasingly rejecting product upgrades that offer more features (often of dubious worth to all but a small minority) and are clamoring instead for software that is easier to install, setup, use and maintain. It seems to me that there are a number of converging issues here:

  1. The volumes of information being managed are getting larger and larger.
  2. More and more tech neophytes (the article calls them “analogues”) are being pulled kicking and screaming into the world of software and are finding it far too complicated for them to master.
  3. Vendors are incentivized to add more features, regardless of their real value, in order to sell upgrades to their installed base.

Note however, that this is a big problem even for computer professionals, as I can certainly attest. I work in a team of software developers, all of whom were coding assembler before they could walk (give or take a few years). Yet when, say, our printer stops working, it’s not unheard of to lose hours of productivity while we try to figure out what is wrong.

The Economist survey does a great job of explaining the various facets of this problem as they apply both to businesses and consumers. It stops short of suggesting any potential solutions, however. Instead, the author takes a generally optimistic view of what the future holds by drawing an analogy with other technologies that were complex in the past but have been simplified over time, such as cars and telephones. The idea is that as the pain of complexity continues to outstrip the benefit of new bells and whistles, software vendors will concentrate their efforts on removing some features and making the ones they keep easier to understand and use. One of the nicest ideas mentioned is that new form factors such as handheld devices with tiny screens and TVs that you control with a remote from across the room will force simplication because the user interface itself just plain doesn’t have enough room available for a bunch of convoluted clutter.

There’s something in this, as the article’s examples of Google and Apple’s iPod demonstrate. Google is a particularly good poster child, because its internals have to be so complex in order to render the user experience so simple. I’m sure there will be a lot more of this going on over the next few years; statistical methods for classifying and retrieving information are already very powerful and will benefit greatly from the continued application of Moore’s Law to hardware’s underlying processing power. The survey poo-poos the idea of “artificial intelligence” coming to the rescue, seeing as it’s been hyped since the 1950’s with little to show for it. But the reality is that AI is not an all or nothing proposition, where computers remain dumb brutes until that far-off day when they magically cross a threshold to become sentient beings. Rather, I would submit that in many cases if software performs a cognitive task that previously had to be done by a human, this can be considered AI. The criteria are not quite that clear cut (I once wrote a letter to the Economist explaining why I think chess programs aren’t real AI but backgammon program are). But I feel strongly that Google represents the leading edge of a growing trend of software that hides complexity by being, well, smart.

Another interesting point made by the article is how inadequate the venerable desktop metaphor is for handling modern networked applications that federate huge amounts of information from diverse sources. Here I think one of the primary trends that is growing in importance is the movement away from rigid hierachies and towards flexible metadata. The idea of a file system is hopelessly outmoded because there simply isn’t a single “right” place to put a file inside the tree of folders on your disk. Instead, we will increasingly attach various categories of metadata to files (e.g. “this file is a 20K Microsoft Word document written by Matt on June 2, 2005 regarding the contract negotiations for the Acme account”), and use a search engine to find the files we want.

I don’t think that a computer will ever become as simple to use as a telephone (although the converse might come true if Siemens has anything to say about it). A better (though imperfect) analogy is the car, which has become accessible to the mass market as a result of three major developments. One is the “simplification” of the car itself, which actually involved adding a lot of complexity to its innards (consider the automatic transmission). The second is the available support infrastructure, meaning that I can get pretty reliable standardized service without having to be an inveterate tinkerer myself. And finally, driving a car requires training and official certification (in the form of a driver’s license). It’s a bit naive to expect that computers will ever be entirely trivial easy to use, but through a combination of recognizing the problem, focusing our ingenuity on solving it (instead of packing in more features) and plain old generational shift, we’ll surely look back one day on the current state of affairs and have a good chuckle over how amazingly archaic computers once were.


No Comments »

No comments yet.

Trackback URL RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)

(required)


 

AllPeers File Sharing



AddThis Feed Button



Creative Commons License
This work is licensed under a Creative Commons License
Conestoga Street Wordpress Theme by Theron Parlin