About
Subscribe

Also-ran solutions

While there is something liberating in the knowledge that there`s a piece of software, an operating system or a compiler that can fix all your immediate computing needs, the Internet has ultimately caused a loss of long-term vision in the world of software development.
Johannesburg, 12 Aug 1998

In my explorations of interesting topics, one of the things I sometimes ponder is the fact that most used on the Internet (be it desktop or server applications) is clobbered-together, last-ditch stuff that addresses a particular problem and doesn`t think or strategise beyond the tip of its own nose.

The entire Internet consists of what we`ll call 'also-ran' software.

While that may sound like a strong statement, think about the types of applications and server software we use on a daily basis, either in an Internet access business or at home or work, on your workstation. As a recent IDC study shows, ISPs aren`t buying vendor-made, proprietary e-mail server solutions. Instead, they continue to use free Unix-based mail servers like Sendmail or the like. Why? IDC thinks it`s because of a Catch-22 situation afflicting ISPs: users won`t ask for better or more advanced messaging server software unless they know what`s possible; and ISPs won`t invest large sums of money in technology that isn`t being demanded by users.

But I`m not sure if that`s really what it is. The entire Internet consists of what we`ll call "also-ran" software. Sendmail is very capable, but it`s an organically "grown" solution that`s evolved over many years. The original program was probably written by someone who couldn`t find anything to address a particular need. It`s the same for many Unix- (or Windows-) based utilities, especially where the Internet is concerned.

Distribution outlets

Interestingly, and visibly, software development is directly related to the types of distribution outlets that are available to it. I mean that in the most positive way imaginable - in sharp contrast to the time of licensing codes, anti-cracking software and those terrible hardware devices that one had to plug into a parallel port (anyone remember those?), when BBSs and the Internet arrived, the entire face of software distribution changed, and with it the mode of production. Suddenly, every Tom, Dick and Jane could see there was demand out there, and that was enough to generate supply. So the world of freeware, shareware, postcardware, etc started to take off in earnest.

Whatever distribution medium (floppy disks, mainly) had gone before was negligible in comparison to the vast amounts of that a BBS could serve in one day. Distribution became immediate and a new level of instant gratification became the expected standard. But with instant gratification also comes the debris of a particular mode of programming: software only intended to address a specific problem - a quick-fix, once-off solution.

The Internet and Unix

As a euphemism, this mode of producing software is often called "open systems", meaning presumably, that the system will "talk" to all others and that further software development for it should be quick and easy. Nothing could be further from the truth, of course, as everyone who`s ever tried to port a Unix-base application to Windows NT will know. In fact, even porting from Solaris to Linux is often almost impossible without major re-writes.

Positive or negative? It`s hard to say. This mode of history has indelibly stamped itself onto the way we think about software these days, Microsoft or not. To go with the rhizomatic development of our thought patterns the Web has brought about (discussed in last week`s column), we have a notion that software is, by its nature, unfinished and intended to address a particular situation. Hence the incredible proliferation of one-stop "utilities", eg to speed up the Windows 95 shut down process, to speed up dialling into your service provider, etc.

Even Microsoft is publishing hacks of this nature: apart from some relatively useful free software available on its Web site (browsers, etc) the company also publishes shell extensions, "PowerToys" etc, all intended to solve particular problems or shortcomings of Windows 95/98. The ultimate irony is when Microsoft published the PowerToys on its Web site, but said it doesn`t accept responsibility for them in any way whatsoever. Marketing ploy or genuine confusion?

Not very elegant

While there is something liberating in the knowledge that there`s a piece of software, an operating system or a compiler that can fix all your immediate computing needs, the Internet has ultimately caused a loss of long-term vision in the world of software development. If you think about it, nobody knows where operating systems, and consequently computing paradigms in general, are going at the moment. MacOS? Unix? Free or proprietary? Windows 95? 98? NT? NT Workstation? It`s all not very clear to start with, and there are only two key uniting factors: they are all unfinished (not very stable) and they all connect to the Internet in some manner.

The Unix spirit, described best in the airlines joke (a description of "Unix Airlines" where the passengers bring their own toolboxes and parts and put the plane together on the runway), is as liberating as it is holding back development. As Hajime Mitarai, the president of camera-maker Canon, said: "We should do something when people say it is crazy. If people say something is `good`, it means someone else is already doing it."

Unfortunately, working the Unix way is good for operations but quite bad for creativity and the development of entirely new, path-breaking paradigms in computing (and technology in general). What does it mean for society that everyone is now developing on the Microsoft platform? Do you want the traffic lights regulating your way to work in rush hour to be dependent on NT?

Share