The Engelbart legacy
A significant part of the development of computer technology has consisted of people either ignoring and passing over great ideas, or completely forgetting the lessons of the past. Looked at from that viewpoint, the last fifty years or so seem not unlike the battle of the Renaissance during the fading years of the Dark Ages. Small islets of advanced technology have sprung up here and there, like tech-centric city-states, and been consistently overwhelmed by a kind of ox-like, obdurate failure to understand.
Today’s feudalism is fueled not by adherence to a religion that taught The World was essentially a form of training for purgatory and Hell, but by an enthusiastic belief in outmoded business processes and market structures. It’s an enthusiasm most often driven by two things: the comfort of the familiar, and the need by individuals to retain existing power relationships. (Curiously, the principle of power conservation extends not only to people wishing to retain the power they have over others, but also to maintain the current relationship with those who have power over themselves. The paradigm of “the boss” is just as persistent as the paradigm of “the worker”.)
The Palo Alto Research Center (PARC) run by Xerox was one place of enlightenment during the 1970s. It brought forth much of the technology that we accept as being almost commonplace today: laser printers, high-speed networking and the display of high-quality graphics on computer screens. Indeed, much of what we now think of as “personal computing” was born there. But the business world was not yet ready to accept these possibilities, and that bright star eventually faded, though many of the ideas, isolated from a grander, coherent vision, found fertile soil and flourished.
Yet there was an even earlier islet of enlightenment created by Douglas Engelbart at the Stanford Research Institute during the 1960s. His achievements were demonstrated for the world to see at what has become known as “the mother of all demos” in San Francisco in 1967. Dr. Engelbart sat at a desk in front of a packed hall, a giant 40 foot screen behind him displaying wonders only a little less fantastic than those of the movie 2001: A Space Odyssey released the following year. You can see a recording of that day here.
Dr. Engelbart invented the computer mouse; indeed, he invented much of the modern language of computer interaction, such as windows that integrated text, pictures and even video. Yet how many high school students in the USA even know his name, let alone the litany of his achievements — including the invention of email? To read more about his work and fascinating life, please visit bootstrap.org.
Dr Engelbart has been driven throughout his life by a sense of mission, a kind of dogged purpose from which he has refused to be diverted. As Dr. Engelbart saw it, one of the central problems facing the world was that increasingly important, increasingly complex decisions would have to be made as society and civilization itself continued to develop. Remember, the 1960s had looming over it the shadow of the atomic and the hydrogen bomb, devices which seemed to grant mankind almost god-like control over the immediate universe — albeit only power to destroy, not create. Dr. Engelbart believed the only way we could possibly survive would be to better develop our capacity for dealing with complex problems. (The best introduction to his ideas is likely found in one of his papers Toward High-Performance Organizations: A Strategic Role for Groupware.)
That meant, for him, two primary human faculties had to be better developed. The first was the way we deal with information. He saw a vital need for systems that would make it possible for us to absorb vast quantities of information by categorizing it and storing it in systems of retrieval that worked primarily through the paradigm of the outliner. Secondly, he worked hard to develop systems that would enable easy collaboration, even over considerable distances, so that the very best minds could be put to work together on solving the most difficult problems.
The third element of his thinking was that to enable these developments and changes it was critical to concentrate on what he termed “C activities”. Dr Engelbart divided business activities into three groups, A, B and C. “A” activities are those that relate directly to production, including product R&D, accounting, sales and so forth. “B” activities are those which enhance the performance of “A” activities, for example the introduction of an email system. “C” activities are those that enhance the way both “A” and “B” activities are performed. A “C” activity might be to determine the best way, sociologically, to introduce a new email system.
The hope was that every improvement made would eventually drive improvements in the improvement process itself. Introducing email to an environment which had previously not had such a form of communication would improve its functioning. But email would also help people developing email itself to develop better email. And that “better email” would help to produce an even better email. In other words, there is the potential to match the exponential development of complexity in world society with an exponential increase in human capability.
Dr. Engelbart referred to these ideas and the environment they created as “augmentation”. Augmentation, importantly, places the human at the center of decision-making activities. In this it differs significantly from its close cousin, “automation”. Automation is largely about discovering consistent patterns of interaction, and developing responses to these patterns. Augmentation is more interested in “the novel iteration”, the pattern that is not a pattern.
Consider one of the classic cases of automation we face in the modern world. Type a number, a tab, followed by some text, and press Return in Microsoft Word, and the program will automatically format that line as part of a numbered outline. This is handy if you were starting an outline, and a bit distressing if you were not. The same sequence, for example, might be for the heading to a chapter.
So, how would an augmentation system handle the same scenario, which comes down to making commonplace tasks more easy to achieve? Where automation typically matches patterns to statistical likelihood ([a] 95% of the time people are seeking to create a bulleted outline list and [b] 85% of users have no idea how to do that kind of formating), augmentation seeks to find insights of connection instead. In fact the two examples, a bulleted item in a list and a chapter heading, are very much the same thing. For example, in a table of contents, a chapter heading is basically an item in a bulleted list. The difference is immediate context.
Instead of number-tab-Return meaning “format as bullet”, the same sequence in augmentation could mean “form a data-order point”. How that dop gets formated would depend on specific context.
So, under augmentation what is happening is that an artifact from the “dead” analog world, formating to communicate intent, is being transformed into something in the “live” digital world, a semantic gesture that indicates structure and meaning.
This is very much the basis of the system that Dr Engelbart developed, which he called NLS (for oNLine System) and demonstrated that day in San Francisco. In NLS, everything functions as a kind of dop. This “outlining” system (and, yes, Dr Engelbart invented online outlining) enabled not only the ordering of information, but instant navigation to any dop.
From our modern, post-1995 perspective, it is necessary to develop this system slightly further. The hierarchical order of an outline document is really only one possible view of what is really a set of related nodes. Hierarchy specifies that the meaning of the connections between the nodes is essentially “parent-child”. Other views of these connections might be “equality”, “association”, or “relatedness”. Thus if we have two dops or elements that are related to each other, we have four possible entities being defined: each element, the connection, and the entity formed by the elements and the connection in combination.
Outlines and RSS
What has all this got to do with RSS?
Each RSS file is a form of recorded outline. The channel is the top order element, and each RSS item is subordinate to this – it’s a classic “parent-child” relationship. In the sense outlined above, an RSS feed is a single nodal element, containing other nodal elements, in a relationship that is defined in the channel element.
One of the people responsible for the early development of RSS, Dave Winer, made great use of this outline relationship in the programming environment he developed, Frontier. Frontier was based on outlining; its scripting language was expressed in outlines (similar to the indentation system used in the Python scripting language, which is also a form of outline), and the object database at the center of all Frontier activity was also expressed as an outline in the interface. In Frontier it was relatively trivial to read RSS feeds into an outline, and manipulate its contents.
Mr. Winer also developed the OPML file format, which today is commonly used to provide lists of RSS feed subscriptions/references, known sometimes as “blogrolls” (when they involve blogs), which function somewhat like playlists in iTunes. OPML, however, was originally a means of rendering in OPML the state of an outline element in Frontier.
Frontier, and the content management system built on its base, Manilla, are yet another islet of brilliance that somehow got passed over. Frontier is now an opensource project. You can get a good taste of how it functions by using Mr. Winer’s OPML editor, which he has generously made available here .
Enter Xenos
At the core of Xenos is the rather simple thought: what would happen if we joined together OPML files and RSS files fairly directly? We would have the content provided by each RSS node, which could be hierarchically organized in the OPML format.
The native format in which Xenos saves files is exactly that: a root element that contains OPML elements that contain RSS elements that contain RSS items. This is also the experience of using Xenos: it is essentially an outliner that enables users to import RSS feeds, and then freely rearrange their elements across this hierarchy.
Additionally, however, Xenos seeks to re-integrate the final element of the hierarchy, the web pages to which the items point, back into consideration. Thus, when viewing the individual details of each RSS item, Xenos also summons up the web page to which the detail points.
Xenos departs fairly radically from existing systems for manipulating RSS feeds in that it is based on augmentation, rather than automation. Its goal is not to automatically present a reader with a set of relevant news items (through active searches or filtering), for example, but rather to make it as simple as possible for a user to make and break the connections between items.
It is strongly focused, in Dr Engelbart’s terms, on enhancing B and C activities. The hope is that it will provide a base system on which further developments can be built, in particular those that involve the social possibilities of RSS, and the development of socially based knowledge management within organizations.