Herman Hollerith was a twenty-year-old engineer when he helped to compile the results of the 1880 U.S. Census.1 He was sure he could invent a way to tabulate the data automatically, and over the next several years he spent his spare time devising a punch card system for surveyors to use. The U.S. government commissioned him to tally the 1890 Census with his new system, which consisted of a set of punch cards and associated readers that used spring-mounted needles to pass through the holes in each card, creating an electrical loop that advanced the reader’s tally for a particular hole location.

Rather than selling the required equipment to the government, Hollerith leased it out at a rate of one thousand dollars per year for each of the first fifty machines. In exchange, he was wholly responsible for making sure the machines performed their designated tasks.2 The tally was a success. It took only two and a half years to tally the 1890 Census, compared to the seven years required for the 1880 Census. Hollerith’s eponymous Tabulating Machine Company soon expanded to other governments’ censuses, and then to payroll, inventory, and billing for large firms like railroad and insurance companies.3 Hollerith retained the idea of renting rather than selling, controlling the ongoing computing processes of his clients in order to ensure a desirable outcome. It worked. His clients did not want to be burdened with learning how to operate these devices themselves. Instead, they wanted exactly one vendor to summon if something went wrong.

By the 1960s, the company name was International Business Machines, and IBM dominated business computing. Its leadership retained Hollerith’s original control paradigm: firms leased IBM’s mainframes on a monthly basis, and the lease covered everything—hardware, software, maintenance, and training.4 Businesses developed little in-house talent for operating the machines because everything was already included as part of the deal with IBM. Further, while IBM’s computers were general-purpose information processors, meaning they could be repurposed with new software, no third-party software industry existed. All software was bundled with the machine rental as part of IBM’s business model, which was designed to offer comprehensive computing solutions for the particular problems presented by the client. This model provided a convenient one-stop-shopping approach to business computing, resulting in software that was well customized to the client’s business practices. But it also meant that any improvements to the computer’s operation had to happen through a formal process of discussion and negotiation between IBM and the client. Further, the arrangement made it difficult for firms to switch providers, since any new vendor would have to redo the entire project from scratch.

IBM’s competitors were not pleased, and in 1969, under the threat of an antitrust suit—which later materialized—IBM announced that it would unbundle its offerings.5 It became possible to buy an IBM computer apart from the software, beginning a slow evolution toward in-house programming talent and third-party software makers. Nevertheless, for years after the unbundling announcement many large firms continued to rely on custom-built, externally maintained applications designed for specific purposes.

Before unbundling, mainstream customers encountered computing devices in one of two ways. First, there was the large-scale Hollerith model of mainframes managed by a single firm like IBM. These computers had general-purpose processors inside, capable of a range of tasks, and IBM’s programming team devised the software that the customer needed to fulfill its goals. The second type of computing devices was information appliances: devices hardwired for a particular purpose. These were devices like the Friden Flexowriter, a typewriter that could store what was typed by making holes in a roll of tape. Rethreading the tape through the Flexowriter allowed it to retype what had come before, much like operating a player piano. Cutting and pasting different pieces of Flexowriter tape together allowed the user to do mail merges about as easily as one can do them today with Microsoft Word or its rivals.6 Information appliances were substantially cheaper and easier to use than mainframes, thus requiring no ongoing rental and maintenance relationship with a vendor. However, they could do only the tasks their designers anticipated for them. Firms could buy Flexowriters outright and entrust them to workers—but could not reprogram them.

Today’s front-line computing devices are drawn from an entirely different lineage: the hobbyist’s personal computer of the late 1970s. The PC could be owned as easily as a Flexowriter but possessed the flexibility, if not the power, of the generic mainframe.7 A typical PC vendor was the opposite of 1960s IBM: it made available little more than a processor in a box, one ingeniously under-accessorized to minimize its cost. An owner took the inert box and connected it to common household appliances to make it a complete PC. For example, a $99 Timex/Sinclair Z-1000 or a $199 Texas Instruments TI-99/4A could use a television set as a display, and a standard audio cassette recorder to store and retrieve data.8 The cassette player (and, later, PC-specific diskette drives) could also store and retrieve code that reprogrammed the way the computers worked.9 In this way, the computers could run new software that was not necessarily available at the time the computer was purchased. PC makers were selling potential functionality as much as they were selling actual uses, and many makers considered themselves to be in the hardware business only. To them, the PCs were solutions waiting for problems.

But these computers did not have to be built that way: there could simply be a world of consumer information technology that comprised appliances. As with a Flexowriter, if a designer knew enough about what the user wanted a PC to do, it would be possible to embed the required code directly into the hardware of the machine, and to make the machine’s hardware perform that specific task. This embedding process occurs in the digital watch, the calculator, and the firmware within Mr. Coffee that allows the machine to begin brewing at a user-selected time. These devices are all hardware and no software (though some would say that the devices’ software is inside their hardware). If the coffeemaker, calculator, or watch should fail to perform as promised, the user knows exactly whom to blame, since the manufacturers determine the device’s behavior as surely as Herman Hollerith controlled the design and use of his tabulators.

>

The essence—and genius—of separating software creation from hardware construction is that the decoupling enables a computer to be acquired for one purpose and then used to perform new and different tasks without requiring the equivalent of a visit to the mechanic’s shop.10 Some might remember global retailer Radio Shack’s “75-in-1 Electronic Project Kit,” which was a piece of cardboard with lots of electronic components attached to it.11 Each component—a transistor, resistor, capacitor, speaker, relay, or dial—was wired to springy posts so that a budding Hollerith could quickly attach and detach wires linking individual components to one another, reconfiguring the board to imitate any number of appliances: radio, doorbell, lie detector,12 or metronome. The all-important instruction manual offered both schematics and wiring instructions for various inventions—seventy-five of them—much like a book of recipes. Kids could tinker with the results or invent entirely new appliances from scratch as long as they had the ideas and the patience to attach lots of wires to springy posts.

Computer software makes this sort of reconfigurability even easier, by separating the act of algorithm-writing from the act of wiring and rewiring the machine. This separation saves time required for switching between discrete tasks, and it reduces the skill set a programmer needs in order to write new software.13 It also lays the groundwork for the easy transmission of code from an inventor to a wider audience: instead of passing around instructions for how to rewire the device in order to add a new feature, one can distribute software code that feeds into the machine itself and rewires it in a heartbeat.

The manufacturers of general-purpose PCs could thus write software that gave a PC new functionality after the computer left the factory. Some early PC programs were distributed in printed books for buyers to retype into their machines, but increasingly affordable media like cassette tapes, diskettes, and cartridges became a more cost-effective way to install software. The consumer merely needed to know how to load in the cassette, diskette, or cartridge containing the software in order to enjoy it.

Most significantly, PCs were designed to run software written by authors other than the PC manufacturer or those with whom the PC manufacturer had special arrangements.14 The resulting PC was one that its own users could program, and many did. But PCs were still firmly grounded in the realm of hobbyists, alongside 75-in-1 Project Kit designs. To most people such a kit was just a big pile of wires, and in the early 1980s a PC was similarly known as more offbeat recreation—a 75-in-1 Project Kit for adults—than as the gateway to a revolution.

The business world took up PCs slowly—who could blame companies for ignoring something called “personal computer”? In the early 1980s firms were still drawing on custom-programmed mainframes or information appliances like smart typewriters. Some businesses obtained custom-programmed minicomputers, which the employees accessed remotely through “dumb” terminals connected to the minicomputers via small, rudimentary in-building networks. The minicomputers would typically run a handful of designated applications—payroll, accounts receivable, accounts payable, and perhaps a more enterprise-specific program, such as a case management system for a hospital or a course selection and assignment program for a university.

As the 1980s progressed, the PC increased in popularity. Also during this time the variety of things a user could do with a PC increased dramatically, possibly because PCs were not initially networked. In the absence of a centrally managed information repository, there was an incentive to make an individual PC powerful in its own right, with the capacity to be programmed by anyone and to function independently of other computers. Moreover, while a central information resource has to be careful about the places to which access is granted—too much access could endanger others’ use of the shared machine—individual PCs in hobbyist hands had little need for such security. They were the responsibility of their keepers, and no more.

The PC’s ability to support a variety of programs from a variety of makers meant that it soon outpaced the functionality of appliancized machines like dedicated word processors, which were built to function the same way over the entire life of the machine. An IT ecosystem comprising fixed hardware and flexible software soon proved its worth: PC word processing software could be upgraded or replaced with better, competing software without having to junk the PC itself. Word processing itself represented a significant advance over typing, dynamically updated spreadsheets were immensely more powerful than static tables of numbers generated through the use of calculators, and relational databases put index cards and more sophisticated paper-based filing systems to shame.15 Entirely new applications like video games, beginning with text-based adventures,16 pioneered additional uses of leisure time, and existing games—such as chess and checkers—soon featured the computer itself as a worthy opponent.17

PCs may not have been ideal for a corporate environment—documents and other important information were scattered on different PCs depending on who authored what, and enterprise-wide backup was often a real headache. But the price was right, and diffidence about them soon gave way as businesses could rely on college graduates having skills in word processing and other basic PC tools that would not have to be relearned on a legacy minicomputer system. The mature applications that emerged from the PC’s uncertain beginnings provided a reason for the white-collar worker to be assigned a PC, and for an ever broader swath of people to want a PC at home. These machines may have been bought for one purpose, but the flexible architecture—one that made them ready to be programmed using software from any number of sources—meant that they could quickly be redeployed for another. Someone could buy a PC for word processing and then discover the joys of e-mail, or gaming, or the Web.

Bill Gates used to describe his company’s vision as “a computer on every desk and in every home, all running Microsoft software.”18 That may appear to be a simple desire to move units—nearly every PC sold meant more money for Microsoft—but as it came true in the developed world, the implications went beyond Microsoft’s profitability. Significantly, Gates sought to have computers “all running Microsoft software” rather than computers running only Microsoft software. Windows PCs, like their Mac OS and Linux counterparts, do not insist that all the software found within them come from the same vendor and its partners. They were instead designed to welcome code from any source. Despite Microsoft’s well-earned reputation as a ruthless monopolist, a reputation validated by authorities in multiple jurisdictions, a Microsoft PC on nearly every desk can also be interpreted as an ongoing invitation to outside coders to write new software that those PCs can run.19

An installed base of tens of millions of PCs ensured the existence of pretilled soil in which new software from any source could take root. Someone writing a creative new application did not need to persuade Microsoft or Apple to allow the software onto the machine, or to persuade people to buy a new piece of hardware to run it. He or she needed only to persuade users to buy (or simply acquire) the software itself, and it could run without further obstacle. As PCs were connected to the Internet, the few remaining barriers—the price of the media and corresponding trip to the computer store—were largely eliminated. People could simply click on the desired link, and new software would be installed.

Networked PCs may have been purchased for a variety of narrow reasons, but collectively they represented openness to new code that could be tried and shared at very little effort and cost. Their manufacturers—both hardware and operating system makers—found their incentives largely aligned with those of independent software developers.20 The more outside developers there were writing new code, the more valuable a computer would become to more people. To be sure, operating system makers sometimes tried to expand their offerings into the “application space”—for example, Microsoft and Apple each developed their own versions of word processing software to compete with third-party versions, and the Microsoft antitrust cases of the 1990s arose from attempts to link operating system dominance to application dominance—but the most successful business model for both Microsoft and Apple has been to make their computers’ operating systems appealing for third-party software development, since they profit handsomely from the sale of the platforms themselves.21


* * *

The Hollerith model is one of powerful, general-purpose machines maintained continuously and exclusively by a vendor. The appliance model is one of predictable and easy-to-use specialized machines that require little or no maintenance. Both have virtues. The Hollerith machine is a powerful workhorse and can be adapted by the vendor to fulfill a range of purposes. The appliance is easy to master and it can leverage the task for which it was designed, but not much else. Neither the Hollerith machine nor the appliance can be easily reprogrammed by their users or by third parties, and, as later chapters will explain, “generativity” was thus not one of their features.

A third model eclipsed them: powerful desktop PCs that were adaptable to many different tasks and accessible to anyone who wanted to recode them, and that had the capacity to connect to an Internet that was as good as invisible when it was working well. Perhaps the PC model of computing would have gathered steam even if it had not been initially groomed in hobbyist backwaters. But the strength of the Hollerith model and the risk aversion of many commercial firms to alternatives—“No one got fired for choosing IBM systems”—suggest that the idea of user-maintained and user-tweaked computers running code from many different sources was substantially enhanced by first being proven in environments more amenable to experimentation and risk-taking.22 These backwater environments cultivated forms of amateur tinkering that became central to major software development. Both small and large third-party applications are now commonplace, and major software efforts often include plug-in architecture that allows fourth parties to write code that builds on the third parties’ code.

The box has mattered. The complex, expensive computers of the 1960s, centrally run and managed by a professional class, allowed for customization to the user’s needs over time, but at substantial expense. The simpler, inexpensive information appliances intended for individual use diffused technology beyond large consuming firms, but they could not be repurposed or customized very well; changes to their operation took place only as successive models of the appliance were released by the manufacturer. The PC integrated the availability of the appliance with the modifiability of the large generic processor—and began a revolution that affected not only amateur tinkerers, but PC owners who had no technical skills, since they could install the software written by others.

The story of the PC versus the information appliance is the first in a recurring pattern. The pattern begins with a generative platform that invites contributions from anyone who cares to make them. The contributions start among amateurs, who participate more for fun and whimsy than for profit. Their work, previously unnoticed in the mainstream, begins to catch on, and the power of the market kicks in to regularize their innovations and deploy them in markets far larger than the amateurs’ domains. Finally, the generative features that invite contribution and that worked so well to propel the first stage of innovation begin to invite trouble and reconsideration, as the power of openness to third-party contribution destabilizes its first set of gains. To understand the options that follow, it helps to see the sterile, non-generative alternatives to the generative system. The endpoint box is one place where these alternatives can vie against each other for dominance. The network to which these boxes are connected is another, and the next chapter explores a parallel battle for supremacy there.

Posted by The Editors on March 1, 2008
Tags: Uncategorized