The Alto---A Love Story
Over two decades ago, Xerox PARC developed a machine with a 0.4MIPS CPU, 64KB of 16-bit RAM, an 8.5" x 11" bitmapped monitor displaying 825x860 black-and-white 1-bit pixels, a keyboard, a 3-button mouse, and a 2.5MB 40rpm 8-inch removable cartridge disk. It supported multiple operating systems, virtual memory, concurrent programs, escape expansion, filename completion, 31-character filenames, upper and lowercase characters, and a hierarchical filesystem. It had multiple fonts, icons, a programmable cursor, a menubar, popup menus, and overlapping, moveable, resizable, scrollable windows. It came with a Smalltalk integrated development environment (which itself supported garbage collection), and compilers for BCPL, Mesa, and LISP. It ran three drawing programs, a paint program, an editor, and a WYSIWYG word processor that also remembered its user's preferences. It provided multi-player, network games like Trek and Mazewar. It offered client-server network communications, remote procedure calls, ftp, telnet, chat, and electronic mail. It talked to other machines, to file servers, and to shared 60ppm 500dpi PostScript-style laser printers with 2.67Mb/s packet-switched Ethernet. It was the size of a dishwasher. It was the future in a box.
It was called the Alto, and all its parts, hard and soft, were revolutionary advances---most of which were invented at PARC. It was so expensive, however, that it was never released commercially. Its 64KB of memory alone cost $7,000---enough money to buy two Volkswagens in 1973.
As enormously advanced as the Alto was, it was incomparably weaker than today's monster machines. By October 1998, $4000 (about the price of one used Volkswagen) could buy a machine with a 450MHz CPU (perhaps 500MIPS with superscalar integration of multiple ALUs and pipelining), a 100MHz 64-bit bus, a 32KB L1 cache, a 512KB L2 cache, 256MB of 32-bit 100MHz error-correcting SDRAM, a 14.4GB 7200rpm disk drive, a 21" flat-screen bitmapped monitor displaying 1900x1200 24-bit color pixels, a 16MB video card itself running at 250MHz, a 40x CD-ROM drive, a 56.6Kb/s modem, a 100Mb/s Ethernet network card, a sound card, a keyboard, a mouse, a microphone, speakers, a camera, and various other accessories.
From the Alto descended, directly or indirectly, all of today's desktops: MacOS, Windows, Linux KDE and Gnome, X Windows, Solaris CDE, OS/2 WPS, NeXTStep, and BeOS. Unfortunately, not only do the fundamental assumptions behind today's desktops date from that era, so too do the fundamental assumptions behind today's operating systems.
Lacking the computational muscle to do any better, computers of that era did the least possible work, leaving everything else to their users. In particular,
They ignored their data: They did not look inside the pages they were responsible for. Thus, they had no idea of the many attributes each page may have. Hence, they could not help the user organize pages or find pages given half-remembered attributes.
They ignored their user: They did not build a model of the user they were responsible for. Thus, they had no idea what the user's interests and behavior patterns were. Hence, they couldn't attempt to predict what pages the user was likely to need next, or in any other way aid the user to find and organize information.
They ignored their appearance: They did not map their pages to a navigable space, the desktop metaphor notwithstanding. Hence, they could not help the user navigate through the space of pages or find pages based on spatial cues alone. The user's spatial memory was not being leveraged at all.
They paid scant attention to their user, their data, and the interface between the two. Page attributes were few (typically: name, location, creation date, size, and type), and automated page collection, analysis, organization, mapping, and reorganization were all non-existent. Users were forced to label each page and place it in a single, fixed location in a strict, and effectively linear, hierarchy. And, despite the desktop metaphor, what spatial organization there was existed solely in the user's mind, not the machine's understanding. All information management was left entirely up to the user.
All of which made perfect sense in 1973.