return to first page linux journal archive
keywordscontents

Book Review

High Tech Heretic

Buy this book today!

In the Beginning Was the Command Line

Buy this book today!

Those with high-tech products to sell, no matter if their vision is cynical or genuine, are able to exercise a tremendous influence over our society. They have convinced us that broken software is to be expected, and a fix will be out soon; that a new computer every few years is necessary; and that children need to use computers practically from infancy. And their influence is not limited to consumer-users. Because of the conventional wisdom that ``high-tech'' is responsible for the current economic boom, they also have a strong influence on political, educational and legal figures, for example, selling the notion that copyright of software is a special legal form requiring special criminal provisions not previously needed, or pushing for the adoption of multimedia-based educational tools of uncertain educational value.

It is therefore becoming increasingly important to consciously debate and consciously control the effect of computing on culture. Fortunately, there is a growing literature of computer contrarian books that argue against the conventional wisdom of computer software design and deployment. The literature I am writing of is not about software engineering, but rather the purposes to which software is put and the way it is developed for human use. Still, it is amazing that none of these books are written by the key open-source players. Perhaps the open-source activists are too busy building the tools of the revolution to worry about how those tools are being used.

Two recent examples of computer contrarian books are High Tech Heretic by Clifford Stoll and In the Beginning Was the Command Line by Neal Stephenson. These are notable because they were both written by experienced authors who love and are experienced in computing, and whose previous successes in techno-book writing has made them somewhat famous among members of the hacker community. Both authors set out to challenge dominant ideas in our current culture of computing, using dramatic images and emotional rhetoric rather than through a data-driven discussion.

In High Tech Heretic, Stoll argues against the whole notion of ubiquitous computing, against the idea that computers not only can but should cause fundamental changes in the way we do everything. The misguided deployment of computers and Internet connections in schools earn his special ire, as these technologies may displace other important and effective educational practices, and they certainly displace a significant budget that might be better spent on teachers. Stoll writes by telling stories, creating visions of creative, messy, hands-on education being displaced by sterile virtual busywork. Each of his stories is designed to invoke a headshake of empathy--the tale of the small boy whose imperfect, but unique and original paper model is ignored by adults who are agog over a child-created display of clipart. The overall result is compelling.

The reader is left seriously wondering whether all these invasions of computing make sense. Is computing, especially the simple use of computer software, really more important than art in developing a growing intellect? Is word processing honestly an academic subject worth serious school time? Does Powerpoint really make a boring talk less dull? Does it even make an interesting talk better? Stoll strives for an apparently simple, common-sense view, so that his readers will consider the broad issue, even if they disagree with his particulars.

Stoll<#146>s book is weakened by the lack of a bibliography, a serious oversight given that he quotes others without providing a useful reference. The style of the book is similar to his previous writings--emotional, breathless and somewhat disgusted. He could have selected no better style with which to combat the secretly emotional arguments of his opponents. When Al Gore promises to wire every classroom with the Internet and ensure that no child gets ``left behind'', he is not making a reasoned argument. He is saying you had better get on the computer and the Internet, or your kid will starve. This is fostered by the economic disquiet that survives even in our current economic growth, and which combines with the belief that high-tech industries are driving this growth, making it easy for parents and students to be scared into making high-tech choices, even if irrational. Engaging in a purely rational debate on this may not be the most effective counter move. Against this kind of emotional ploy, some emotional counter-attack is required, and this is what Stoll provides. But rationally, it is simply not clear that having distant students collaborate via e-mail is better than having them do so with a paper letter, or that an on-line encyclopedia is any better than a decent library.

In the Beginning Was the Command Line is an attempt to weave together many threads of thought on our current culture of computing. It is fun reading, but the reader is directed rather like a pinball. Stephenson could easily have made his points in a straightforward way, and probably more quickly and convincingly. The book is full of distracting asides and analogies (what does Mark Twain have to do with it?) and the main arguments seem almost purposefully obscured. As it is, In the Beginning... would probably have made a better novel than non-fiction book.

One key thread of In the Beginning... is that operating systems are so well understood, and so many people know how to write them, that they are destined to ``become free''. By this, Stephenson means at least that old operating systems like DOS 2 or Windows 3.1 have no value, because no one would buy them today. This confuses value with retail. But Stephenson implies more. He is suggesting that the free UNIX and Linux operating systems exemplify the future in which we will not pay for any operating system, new or old. And yet, after stating this argument about the inevitable adoption of free operating systems, he decides to challenge the reader by speaking with rapture about BeOS, an intriguing OS that is not free in any sense of the word. This failure of consistency pervades the book, leaving the reader with no clear view of Stephenson<#146>s position.

The title of In the Beginning Was the Command Line starts another of the positions running throughout the book: the superiority of command-line interfaces. But the argument for this claim is largely absent, and an examination of the arguments actually presented suggests that the topic is really the problematic nature of ``metaphor''-based, mouse- and icon-driven GUIs. While Stephenson does little to argue in favor of the command-line interface (The UNIX Philosophy by Mike Gancarz presents a more serious discussion in this regard), he presents anew the claim regarding GUIs that ``the metaphors are bad''. Not that ``metaphors are bad'', but that the metaphors used are ill-chosen. This old argument has never been strong, because it's based on the notion that icons, menu items and the like, are in fact metaphors for something. But they are not, and only marketing ploys and misguided training literature could claim they are.

When we speak of icons or desktops as being ``metaphors'', we mean that icons, desktops and such, are analogues where the visual likeness to some physical object or action should suggest a certain function of the computer program. Stephenson's argument, then, is that the analogues are poor. But mainstream GUIs are not based on analogies (let alone metaphors); they are based on visual codes. I work with several hundred new and experienced computers users every year and I see no evidence that any of them consider the things on their computer screens as analogies for anything. They must be taught the visual code of the GUI, and until they have learned it, those little symbols on the screen do not suggest any function. Once they learn the code, the icons acquire meaning. These interfaces are simply learned, and the significant revolution in their design was not by analogy, but through the standardization of the visual code.

The danger of the GUI by ``metaphor'' argument is that it can be taken as a plea for better ``metaphors'' (i.e., better analogies), while in fact these interfaces need to be examined for what they are: lists of canned commands, the existence of which the user must simply learn. When seen this way, we can try to think of better commands to store, or we can think about ways to let users build commands of their own that the programmer never thought of, all the while keeping within some more-or-less standard visual code. But if we only try to think of better analogies, we will never get anyplace new and useful.

Both High Tech Heretic by Clifford Stoll and In the Beginning Was the Command Line by Neal Stephenson are interesting and fun to read. On the whole, Stoll seems to have a better grasp of his own goal in writing his book, while Stephenson simply seems determined to impress us with his thoughts. Neither of these books is a carefully argued essay--two more-honed examples might be The Trouble with Computers by Thomas K. Landauer and Failure to Connect by Jane Healy--but High Tech Heretic and In the Beginning... are more likely to be widely read and discussed. I hope these will not be the last books to question the directions of mainstream computing. Creative people will surely propose revolutionary ideas on reorganizing our modes of education and work, and some of these ideas will require excellent computer technology to support them. The real challenge is preventing the support technology itself from becoming the goal.

James Paul Holloway is an Associate Professor of Nuclear Engineering and Radiological Sciences at the University of Michigan. Besides nuclear engineering, he teaches introductory programming to engineering students and has written many articles and manuals for a range of audiences. He may be reached at hagar@umich.edu.