Introducing the Hyperscope Project

Everything Old is New Again, or, Why You Should Care About Computer History

Imagine the year is 1968: mainframes rule the roost, the concepts of personal computers and collaborative systems are non-existent, and people's conception of the Human Computer Interface are punch cards and teletypes.

You're invited to attend a demo in San Francisco, now known as The Mother of All Demos, at which the following is shown for the first time:
  • The mouse
  • Hypertext
  • Collaborative groupware
  • Audio and Video Conferencing with computers
  • Email
  • Windowing
  • Outlining
  • Compound documents, with text and graphs shown on the same page
  • Interactive editing and word processing
  • Shared, real-time editing of documents
Hot damn.

To paraphrase William Gibson, the future had arrived far ahead of time, it just took 30 years to be evenly distributed.

The system was known as NLS, or oNLine System, and the team showing the demo was headed by Douglas Engelbart.
Today I start a new project with Douglas Engelbart, Eugene Kim, and Johnathan Cheyer, named Hyperscope; I'm deeply honored and humbled to be a member of this team. Hyperscope is a National Science Foundation funded project to rebuild portions of Douglas Engelbart's groundbreaking NLS system on the web.

We're going to start small; Douglas and his lab invented a great deal over the many decades of their research.

In the first phase of the Hyperscope project, mapped out to be the following six months, we are going to implement Engelbart and his team's advanced hyperlink system on the web, including some of the user interface of NLS.

In NLS (or Augment, as it was later renamed), a small command bar at the top of the screen could accept commands; below this command bar was the document that was being worked on. Users would type commands into the command bar, something like the command-line of a DOS or Unix terminal, and would use the mouse to click on portions of the document to interact with and operate on.

Some of these commands involved working with structured documents, including creating very rich hyperlinks between documents. In addition, these hyperlinks supported something called ViewSpecs, which made it possible to view the remote linked-to file in many sophisticated ways. I'll be going more into Augment's hyperlink and ViewSpec functionality in future blog posts.

In this first six months, we will be creating the shell of the Augment UI, described above, including the hyperlink, jumping, and viewspec functionality. We will probably be doing this using AJAX and DHTML, possibly using the Dojo Toolkit, so you can run Augment right within your browser without downloading anything. In addition, there will be a server-side component, written in Java or Ruby, that the AJAX/DHTML component will interact with.

The deliverable will be a URL you can go to "run" the Augment/Hyperscope system in your browser; you will be able to view Hyperscope documents, issue Hyperscope commands into the command bar, and use the advanced jumping, linking, and viewing capabilities of Hyperscope.
This entire project will be open source, released under the GPL, and will be done in the public. I'll be blogging as much as I can and discussions will be happening on the Hyperscope Wiki and mailing lists.

Hyperscope is not only about rebuilding Augment on the web as an important historical artifact; Engelbart was so far ahead of his time that there are still ideas in this system that can be incorporated into modern software. In addition, as we bootstrap Augment, we will start using it to build a community within it, using it as a super-charged Wiki. One of Engelbart's important ideas that has not been realized enough is that not only must computers change to accomodate humans, but humans also have the option of growing and learning to become more skilled at collaborative work. We'll put some of these ideas to the test as we build up an Augment/Hyperscope community, using Hyperscope itself to build it.

This first month, March, is about all of us comming up to speed on the original NLS/Augment system, learning how to use devices such as the chord keyset that Engelbart's lab invented, and prototyping small pieces of the system to see what design we will use. I'll be posting small prototypes of various portions here; all of this bootstrapping will be public.

In this first iteration, we will be translating the original NLS/Augment system as faithfully as we can into the browser, without changing it. Once we stabilize the core, we can begin to revisit portions, but for now it's meant to be a clone of the original.

Every week we have a two hour meeting with Engelbart and many of the original implementors, including Jeff Rulifson and Charles Irby. Every few weeks I'll take a question posted here on this blog by someone and ask Douglas Engelbart the question; to ask a question, post a comment to one of these Hyperscope blog posts with the subject QUESTION: added to the beginning; be sure to add your full name so when we blog the response we can give you credit.

Eugene will also be posting audio of the Tuesday meetings on the web; when I get a link for these I will post them here.

Technorati Tags: hyperscope, engelbart


mikepk said…
That's awesome! I love computer history. I wrote some articles regarding startups, ideas and history on my blog which also talked about the "mother of all demos". If you're really interested in the histroy of the web check out Vannevar Bush and the Atlantic Monthly article "How we may think" from 1945. Amazing stuff.

From my Blog:
It's all in the details.

More on 'Big Ideas'

Brad Neuberg said…
Thanks Jeff!

Mikepk, I'm reading your articles now.
I've read the Vannevar Bush article as well; it's spooky how ahead of its time it was, even if he wanted to implement the entire system with microfiche and mechanical systems!