The Software Swamp
by David M. Schwartz, CEO, ImaginOn, Inc.
As published in the May 24th, 1998 Sunday edition of the
San Jose Mercury News.

Have you noticed the sheer size of new software programs lately?  They can't even fit 'em on floppy disks.  They're on CDs.  Did you watch your PC's performance degrade after you upgraded your Web browser to the new fourth generation version?  Maybe you think programmers just don't give a hoot about using up all the space on your hard drive, and bogging down your machine while they're at it.  Well, don't blame us programmers, we're just as fed up  as you are.  Software bloat and its computer-choking behavior are the direct consequence of operating systems from   hell.  And I'm not just blaming Bill Gates and his Windows 95 crew, Mac OS 8 and popular versions of Unix are equally nasty. Once upon a time, operating systems ("OS") were a joy and a blessing for programmers.  Operating systems freed us from worrying about troublesome programming details like where to store data on a disk, or how to put a picture on the video display.  Just ask the OS to do it, and like magic, the job was done.  Initially, operating systems were small, less than one-tenth of a megabyte, for some.  However, over the years, operating systems have grown and grown.  The soon to be released Windows 98 and Mac OS-X will each suck up close to 100 megabytes of your hard disk space and 16 megabytes of main memory before you load a single word processor or spreadsheet program.  Sure, only 10% of your computer's capability is used by the OS.  But, put it in perspective.  That 10% represents more computing power than an entire mainframe computer had in 1960.

Giant, complex operating systems would be worth having if their benefits outweighed the performance penalty, bulk, and pain endured in creating software for these behemoths.  Off the record, many programmers agree the tradeoff is no longer worthwhile.  For the record, we say nice things about Win 95, NT 4, Mac OS and Unix, because, hey, don't bite the hand that feeds you.  Lots of programmers are seeking a way out from under the OS mudslide.  So far, the best alternative to come along is Sun Microsystem's Java.

Write a software program.  Debug it.  Ship it.  Rest assured the program will run on any computer with the capabilities the program needs, be it PC, Mac or workstation.  Programs written in Java are like that.  Java is indeed a great step forward.  In my opinion, the entire computer industry owes Sun Microsystems a big, "Thanks, I needed that."  Using Java moves us closer to freedom from "Windows Ninety-Whatever" and "Mac OS-WhoKnowsWhat".  But why stop here?  Why not eliminate software operating systems altogether?  It is possible.

Today's computer chips have both the room and the power to absorb the tasks that software operating systems perform now.  Once these functions are built into the hardware, we can do away with the software OS entirely.  We will make a few small changes in the way we create and distribute programs.  Instead of compiling a program's C or Fortran language source code into binary code before shipping, we will ship the source code itself.  To protect the trade secrets in the source code, it will be encrypted, then decrypted and compiled when you want to run the program.  Old OS functions will be stored in chips, and used as needed to support old software written for Win 95, Mac OS and Unix. Programmers will place descriptions at the beginning of their software that inform the computer of the language the program is written in, the OS it was written for, if any, and the system resources required, such as memory, speed, input devices, and display.  The computer will, in turn, write its own descriptions on data files stored by programs.  Using this approach, software written in any current or future programming language will be able to run on any computer, old or new.

All we need to make this happen, to put Win and OS Whatever behind us, is one industry standards committee dedicated to writing a specification that we programmers can use, and that chip manufacturers can count on to describe our software programs.  Sure, it will take some meetings, some work, a few drafts, some more work, but at the end of the day, everybody will benefit.  Programmers will once again spend their time making programs as good as they can be, instead of fighting OS dinosaurs.  Computer users will enjoy faster, simpler, more reliable machines.  Our industry will be ready for another period of unfettered growth.

About the Author
David M. Schwartz, IEEE, AES, is the CEO of ImaginOn, Inc., San Carlos, CA, a software startup company in the internet hybrid CD business.  Mr. Schwartz was formerly a Vice President of Atari Corp. and earlier, a senior member of the technical staff at Tandy Electronics R&D.  He has been granted 7 US patents and published numerous technical papers.