Just watched the whole Douglas Engelbart demo from 1968. Somehow I'd only heard of this as the first demo of the computer mouse, and only seen a brief clip on youtube. All three 30-minute reels of the film are available online, and well worth a watch in full.
The mouse is the least of it, the demo includes an outlining text editor, model-view-controller, hypertext, wiki, domain specific programming languages, a precurser to email, bug tracking, version control(?), a chorded keyboard. (Ok, that last one didn't really take off.) Probably a dozen other things I've forgotten. All in a single interface, and all before I was born.
Just like any tech demo, there are fumbles and mistakes, which is reassuring to anyone who has tried to give a tech demo.
There's also the awesome crazy hack shown here. They could only afford these tiny, round CRTs, so they pointed a television camera at it, and the camera image was piped to their television console. (So add KVM switch to the list of firsts!) The demo was done in San Fransisco, with the computer system remote in Palo Alto, so in this image you see the text on the CRT overlaid with the video from the camera.
Engelbart points out that the delay this added to the system acts as a short-term memory that filtered out flicker in the original display (and made the mouse have a mouse trail). To me it gives the whole demo a unique quality, as if it were underwater.
Despite the piping around of audio and video signals, and the multiuser system, the glaring thing missing from the demo that we have these days is networking. Although there is this amusing bit at the end where they compile a regular expression and then apply it, in order to search for documents containing certain terms, and end up with a hyperlinked list of 10 results, ordered by relevance. Yes, think Google.
alt="imagine an xkcd-style infographic here"
0 seconds
- peace and quiet
- full history of all my projects (git repos)
- my blog
0.5 seconds
- chatting on IRC
- searching through all email received since 1994
- music
- cached web pages
5 seconds
- ssh to a server
- search the web
- lwn, hacker news, reddit, metafilter, and other web aggregators
10 seconds
- resuming laptop from sleep and waiting for network-manager
- view an unnecessarily pastebinned scrap of text
- access local Debian mirror
- looking up a typical bug report
20 seconds
- click on a typical link from a web aggregator
- an hour of video pulled from a USB drive with git-annex
2 minutes
- downloading new email
- commute to work
- an increasing number of websites that force https (average of 3 reloads needed due to timeouts)
5 minutes
- viewing a single file, bug report, or merge request on github
- cloning the full content of a typical not too large git repo
- retriving data from archival drives via git-annex
- going offline and making a phone call
apt-get update
(thanks aj, for the pdiffs)- viewing a single a twitter page (megabytes of crud and
#!
redirections)
10 minutes
- entering a state of flow while programming
- boingboing.net (with all the pretty pictures)
- my mailbox (after a nice walk down a long driveway)
22 minutes
- milk and eggs
- a swim in the river
30 minutes
- broadband internet access
- someone else who knows what linux is
32 minutes
- an hour of video pulled from my server with git-annex (includes travel time to broadband access point)
70 minutes
- a halfway decent but slightly overpriced grocery store
- a produce stand
- a coffee shop
180 minutes
- family
- a bakery with real bread
300 minutes
- downloading a typical podcast