Post by gareth evans
The graphical user interface and the world wide web are two
fantastic developments in the field of computing, but why
do they come with so much baggage dragging them down? Have we
forgotten the capabilities of simple OSs?
Anyone who has used the Geoworks Ensemble product from the early 1990s knows
that a GUI is not the problem. Like early versions of Windows, Ensemble was a
graphic environment that ran on top of MS-DOS/DR-DOS/PC-DOS. It included a
WYSIWYG word processor and drawing program, a terminal emulator, and the usual
collection of utility applications: address book, calculator, calendar,
notepad, etc. There was a game package and additional clipart. The printing
model had fine control that produced near letter-quality output even with
nine-pin dot matrix printers. The code was tight, object-oriented, and based on
their own extensions to C.
It ran well on a 286 PC with one megabyte of RAM. By discarding unneeded
drivers and other files, some enthusiasts managed to fit a working copy onto a
single 1.44MB floppy. (A typical installation was closer to 6 MB.) A lot of
users were churches and small organizations that used Ensemble to create their
own newsletters with sophisticated graphics. All this in 1991.
There are a lot of reasons why Geoworks never made it in the broader personal
computer market, but code bloat and poor performance are not among them.
The Geoworks example makes clear that the bloat and baggage being associated
with GUIs and web browsing are not strictly necessary. They are the result of
design decisions, such that code size and efficiency are not high on the list of