Archive for August, 2006

I’d like to share this with you all, because it seems like for the first time it’s possible. Online video has really come into its own in the last year. There are moments in computer history I read about when I was younger, or heard about through various media, but I never actually got to see. I’ve been finding these events in online video. I’ll go through them in chronological order. I’ve been able to embed some videos in this page. So you can watch them right here. Others require you to follow a link to another page to view them. I’ve provided these links as well.

Douglas Engelbart — The mother of all demos

The first is “The Demo” (video link), or “The mother of all demos,” as it’s been called, given by Douglas Engelbart. It happened in 1968 at Menlo Park in San Francisco, CA. It was so far ahead of its time, some people who saw it thought it was all scripted, that there was no computer power behind it. They thought it was just smoke and mirrors. In fact it was all real. Everything about the system was cutting edge for its time, and it was only a rough prototype. A lot of work and infrastructure behind the scenes was necessary to make it all come together.

Engelbart is widely credited with creating the computer mouse. He uses his mouse device in the demo. However, the software system he helped create, as you’ll see in a series of videos here as you can see in the series of videos at the link above, embodied principles that did not exist before, and are now everyday features in modern word processors and in some ways, the internet. In general the demo reminded me a lot of what I had heard about with Project Xanadu. One principle, user collaboration, which he also demonstrated, has just begun to enter wide use in information technology in the last several years. You’ll be amazed. Engelbart and his team actually managed to implement video conferencing in concert with collaborative computing! The technology for the internet had not been invented yet, but as Engelbart notes at the end of his presentation, its beginnings would take shape the year after this demo.

Engelbart did not do this using all digital technology, but rather a combination of digital and analog. The computer displays and mouse cursor movements onscreen were generated using digital computers, and they responded to keyboard input and mouse movements. The video conferencing was accomplished using a combination of computer networking (for the digital end of the collaboration), and microwave transmitter/receiver microwave technology, analog video camera, video mixer, and projector technology. There is a part of the demo where Engelbart says he’s having the computer create a video window for a partner in the collaboration. I’m not sure if he’s saying he’s telling the computer to move text around so that the video mixer can bring in an analog signal to the display and not cover the digitally produced text, or if the computer is somehow controlling the video mixer to bring in the collaborator’s video signal. In any case it’s impressive. The computer manipulates the video mixer, to patch in the video signal so he can see the partner he is collaborating with. Wow!

During the demo he has video footage of some of the technology that was used to create the presentation, plus some of the personnel, so everyone could see the “wizards behind the curtain.”

The themes of the demo are using computers to organize information, to manage it, and make it easy to find, and make it easy for people in far flung locations to collaborate on this information. As I watched the cataloging portion of the demo, it made me think of the WinFS project at Microsoft, though it is now significantly scaled back. An impressive feature of Engelbart’s system is that the source code for much of what was seen in the demo was itself cataloged in the system. So it was possible to go through the source code in a structured manner. This is somewhat similar to what it’s like to work with code in modern IDEs, like Visual Studio or Eclipse. For example they demonstrate expanding and collapsing sections of code. One of the programmers in this presentation demonstrates how it’s possible to change the source code from within the catalog, and do what we would now call “edit and continue” (just compiling the piece that was changed and link it into the system–while it’s running). Impressive! Although it’ll be difficult to follow along and understand the code (they said that a few custom programming languages were created for the system), try to follow the general ideas they’re talking about. Actually the code demos remind me of programming presentations I’ve been to at developer user group meetings…Nothing has changed! 🙂

Smalltalk and Alan Kay

Some of the core concepts of Engelbart’s work would be incorporated into research accomplishments at Xerox PARC (Palo Alto Research Center).

Alan Kay, from Wikipedia

The above videos are of the Smalltalk-80 system. These are based on earlier work on Smalltalk that was done at PARC in the early 1970s by Alan Kay, Dan Ingalls, Adele Goldberg, and other researchers. The influence of Engelbart’s research is obvious: everything is organized, cataloged, and documented, but this time in an object-oriented system; and of course there’s the mouse.

The Smalltalk system is something I heard about in college, around 1992. At first it sounded very foreign. We were learning Smalltalk strictly as a programming language. Our professor told us that the original Smalltalk was in fact the operating system of the computer. Programmers manipulated it through a graphical interface. You can see this in the demos. The very idea of an operating system based around a programming language–one that could be used to manipulate the system directly, was a tough one to get my head around at the time. I would later learn that many operating systems had this characteristic. Unix and Microsoft Windows were largely written in C, for example, and so C and C++ were the main languages used to work with them, for a time. The Smalltalk system, however, shared some characteristics with the way that 8-bit microcomputers were designed in the 1970s and 1980s. The programming language, usually BASIC, was part of the system. The system and the language were practically inseparable. What was unique was Smalltalk had a graphical interface that one could use with the programming language, built in. Furthermore, you could work with several ideas at the same time, due to the windowing features built in. And to save screen real estate, windows could be overlapped.

Online video didn’t exist when I was in college, and to the best of my knowledge we had no videotape of this Smalltalk system I’d heard about. So all I had was this description to carry around in my head. Those of us who have used Visual Studio will recognize features similar to IntelliSense in the 2nd video.

Smalltalk was an innovative system that I think embodied something that Alan Kay has always strived for: make it easy to incorporate various forms of media into programmable objects that become part of the overall system. He has continued this work in the next generation of Smalltalk, in Squeak and Croquet. If you’re just interested in seeing these technologies in action, start with Part 3 at the linked page. Kay is always interesting to listen to, so it would be worth watching Parts 1-6. Again, he’s coupled a graphical interface with the language. Watch for some of these ideas to start becoming mainstream in the next 10 years, though in the usual pattern of events, we’ll probably see them show up on the Apple Mac (or its successor) first.

Smalltalk was the operating system of the Xerox Alto, created in 1973 (this is according to Kay). This was the famous prototype machine that is now regarded as a marvel, but the Xerox brass rejected.

Incidentally, the Xerox team had in effect created the modern day computer. The Alto had a GUI (the Smalltalk system), a mouse, ethernet networking (ethernet was invented at Xerox PARC–the protocol used on the internet), word processing, and e-mail sending/receiving over a LAN. They had about 100 Alto computers networked together. They had laser printing, using a modified Xerox copier machine. As Steve Jobs would say later, Xerox had snatched defeat from the jaws of victory. Their engineers had invented the future (a famous saying of Kay’s is that the easiest way to predict the future is to invent it), but the higher ups didn’t recognize it.

You can see in the Smalltalk-80 demos the graphical user interface that Steve Jobs found so inspiring when he visited PARC, which led him to change the direction of Apple towards developing the Apple Lisa (released in 1983) and the Macintosh (released in 1984), and which eventually led to the development of Microsoft Windows. It’s interesting to contrast the objectives between Kay and Jobs. Kay, I think, has always focused on making computers educational and knowledge management machines, whereas Jobs just wanted to make computers easier to use. I heard Kay say in an online video recently that he’s long wanted to “kill applications.” He doesn’t like the concept of running separate programs to get things done. Rather tasks should be accomplished through objects that are just part of the system, which are manipulated through something like “playfields”–a place where objects can be placed together and made to interact with each other to create a functional whole. Interestingly this is kind of the approach that Microsoft has had taken with Windows, Visual Basic, and COM (and now Windows and .Net), even though Kay hates Windows. Kay came to work at Apple at the time the Mac was released, so one can assume he approves of its design for the most part. I believe he wrote one of the first applications for the Mac, MacPaint.

From the research I’ve been doing, I’ve come to learn that Smalltalk-80 was ported to the Macintosh. Funny I never heard of this before now. The most widely known effort to come out of Apple that had any resemblance to Smalltalk was Hypercard. Why Apple stopped development on it I’ll never know.

The first Macintosh, and Windows 95

The Macintosh, and Windows 95, from Wikipedia

(9/7/06: I originally had the video for the Mac introduction embedded here, but it refused to play. So there’s a link to the page for it below)

Oh, and I’ve included here the event (video link) where Jobs introduces the very first Macintosh computer, released in 1984, a seminal event in the history of personal computers. At the time I only read about this event. Again, I didn’t get to see it. Now I can. Isn’t online video wonderful?

I don’t have any video links for the Windows 3.0 launch, but I do have something for the Windows 95 launch, an episode from The Computer Chronicles from that time. This was one of my all-time favorite TV shows. Sadly it was cancelled in 2002. The release of Windows 95 was another seminal event in personal computer history. It’s the OS that firmly established Windows as the standard OS on PCs.

This history is summarized in Robert X. Cringely’s “Triumph of the Nerds” video series, and in his book “Accidental Empires.” There’s also a good history here.

The visionaries

We owe a debt of thanks to visionaries like Engelbart and Kay. As I’ve researched these people I’ve come to realize that their vision for computing has not been completely fulfilled. Both had similar goals. From what I’ve seen of him, Kay has a keen interest in social structures, what makes societies tick. From what I’ve read about Engelbart, he’s much the same way. In every speech Kay gives, he always talks about technology in a social context. Engelbart and Kay both have complained about how computers have been applied towards automating “what we already do.” Both of them see computers instead as “mind amplifiers,” augmenting our intelligence. They see the human mind as having a great but limited capacity to understand the world and/or universe we live in. Computers can help expand the mind to make our human existence greater than it once was, to help us understand more than we otherwise would without them.

I don’t know if they see this, but I think the reason society has not used computers in this way, is that this notion seemed too much like science fiction. Perhaps their intent behind the vision wasn’t expressed so well either. Most people probably looked at their technology and came to the same conclusions that Steve Jobs did: this will enhance people’s lives, because it will allow people to more easily automate tasks. It will make the computer more approachable. End of story.

My own sense is that the reason computers have been used to “automate what we already do” is that there are certain repetitive or mundane tasks which have historically weighed us down in our work. The idea that people who implement I.T. solutions have is let the computers handle the drudge work, so that people’s minds are freed to become more creative. Perhaps once this is done, then people will focus more on using computers to enhance our mind’s vision of the world and universe we live in.

Special thanks go to those who posted these videos online so that myself and others can finally see them. I’ve enjoyed them so much.

Edit 8/25/06: I found an episode of The Computer Chronicles, focused on the Macintosh, that further ties all this together. It was made 3/12/85, about a year after the Mac was launched. You’ll notice the guests talking about “new” things with respect to the Mac that most of us take for granted now, no matter what system we use. In 20/20 hindsight I found this to be a very interesting episode in that it hints at the “battle of the GUIs” that was to come. They also hinted at potential problems the Mac was going to have being accepted by the business community, and why those problems existed.

In addition to the Mac interface, Digital Research’s GEM (Graphical Environment Manager) for the PC also gets demo’d, by Lee Lorenzen, an alumnus of Xerox PARC who worked for Digital Research. Looking at it now, it almost feels like an “inside job.” For you see, Gary Kildall, the co-host of the show, was the head of Digital Research. You’ll notice as Stewart Cheifet does that the GEM interface in this demo looks a lot like the Mac interface, but with color.

The interview with Larry Tesler, another Xerox PARC alumnus (who worked at Apple), and Bennet Wiseman is particularly interesting, because they do a review of “where all this came from.” Tesler gives credit to Doug Engelbart, and mentions the Smalltalk system developed at PARC. Wiseman talks a bit about the Xerox Star, the first commercially available computer with a graphical interface (though very expensive), based on the work done earlier on the Alto.

Paul Schindler makes his pronouncement that despite Apple’s efforts at the time, the Mac was destined to not be popular with the business community. Indeed it was not.

Digital Research would go on to get sued by Apple, because its GEM interface “looked and felt” too much like the Mac interface. I remember reading at the time that GEM for the PC ended up being crippled, due to the changes Apple demanded. Overlapping windows were no longer allowed, the menu at the top of the screen was taken away, disk icons could no longer exist on the desktop, and the desktop trashcan had to go. It soon faded into obscurity. For some reason Apple just went after GEM on the PC, but not on Atari computers. Ironically GEM in its original form lived on for years on the Atari ST series. When DRI got sued by Apple, Atari joined in as a co-defendant, since the ST depended on GEM. There were rumors that the Tramiels who ran Atari didn’t try hard to make the ST a success in the U.S., since if they did, Apple would come after them. This was never confirmed to my knowledge.

I wonder if one reason Apple went after GEM and other systems with GUIs, like the Commodore Amiga (Apple lost against them), and Microsoft Windows (Apple lost against them, too), was that the original Macintosh only had a monochrome display, but these others could run their GUIs in color. The Mac’s monochrome display was mentioned as a drawback in the show.

Edit 9/7/06: The Dynabook.

Mock up of Dynabook

Mock-up of a Dynabook made of cardboard, from Multidimensional Media Interfaces, Media Arts and Technology at U.C. Santa Barbara

I love this topic! (can you tell?) As I’ve researched more, I’ve discovered that a discussion of “great moments in computing” would not be complete without including Alan Kay’s Dynabook concept, written about in his paper, “A Personal Computer for Children of All Ages” (PDF), written in 1972 at Xerox PARC. I found it through Thinkubator. There’s no video for this. Just the paper, but what a paper! Using descriptions and illustrations Kay outlined his vision for what personal computers would be someday. As Kay would say, the idea of personal computers had actually been around for a while, at least since the 1960s. I think what makes Kay’s idea unique is what he imagined the Dynabook could do, and the size of the machine. As he says in his paper, some of the technology necessary to make it happen was already available, but some of it was not. There was some “hand waving,” and he readily admitted this, but some of it came true nevertheless.

I don’t know this for fact, but Kay was perhaps the first to envision a computer that ordinary people would find useful to their lives. Most people in the computer industry didn’t understand personal computers during this time. They thought of computers as mainframes that took up entire rooms, and minicomputers that would fit in an office. The idea of a personal computer, one that people could use in the home, school, or take with them on business trips, was considered impractical by most heads of business. “A computer that small? What could it do?” Kay had some ideas about that. The paper isn’t that long either, 11 pages, but in it you can see the computer you are using today.

Kay envisioned the Dynabook as a portable computer, 9″ x 12″ x 3/4″, about the size of a modern laptop, with its own battery, and would weigh less than 4 pounds. In fact he said, “The size should be no larger than a notebook.” He envisioned that it would use removable media for file storage (about 1 MB in size, he said), that it might have a keyboard, and that it would record and play audio files, in addition to displaying text. He said that if no physical keyboard came with the unit, a software keyboard could be brought up, and the screen could be made touch-sensitive so that the user could just type on the screen. Hmmm. It sounds a bit like my PDA… Oh, and he made a wild guess that it would cost no more than $500 to the consumer.

He said, “The owner will be able to maintain and edit his own files of text and programs, when and where he chooses.” This was a very important distinction for personal computers during that time. In the days of mainframes, computer files were maintained by system operators, not the people who submitted tasks to them, though they owned their set of punch cards. I suppose you could say the data on the punch cards was their files, and the cards were the storage media, but punch cards were clumsy. Files were stored on drums and tape media nevertheless in the course of executing processes or archiving data. A key phrase was “when and where he chooses.” Mainframes were of course immovable. They required a staff to maintain them. They were typically batch processing systems that required users to bring in their jobs they wanted executed, according to a schedule. Once the job was submitted to the system operator they had to wait until the job was submitted to the computer by that operator, wait for the computer to finish the task, and the output was delivered via. printout. An aspect that Kay expresses throughout the paper is immediacy. The user interacts with the computer. There’s no proscribed process for doing that, as with mainframes. And there’s no middleman to get in the way of that interaction. We take this for granted now, but this was not the way computing was done back then.

He envisioned that the Dynabook would be able to “dock” with a larger computer system at work. The user could download data, and recharge its battery while hooked up. He figured the transfer rate would be 300 Kbps, about the speed of a DSL connection now. We’ve had systems that do just this for the past 15 years, though I think the data transfer rate was faster when they first came into being.

He thought that the device could be hooked up to “vending machines” that would supply information for a fee. Interesting. It didn’t work out that way, but we have sites on the internet that are like this.

He imagined the Dynabook being connected to an “information utility,” like what was called at the time “the ARPA network,” which later came to be called the Internet. He predicted this would open up online access to schools and libraries of information, “stores” (a.k.a. e-commerce sites), and would bring “billboards” (a.k.a. web ads) to the user. I LOVE this quote: “One can imagine one of the first programs an owner will write is a filter to eliminate advertising!” Yep, he really said that! This really gives you an idea of how visionary he is, because people have done this with web browsers–eliminating advertising, pop-ups and such. Now if we could just have good spam filters…

Another forward-looking concept he imagined is that it might have a flat-panel plasma display. He wasn’t sure if this would work, since it would draw a lot of power, but he thought it was worth trying. I’m not sure, but I wouldn’t be surprised if we have flat-panel plasma displays on laptops and tablet PCs now. He thought an LCD flat-panel screen was another good option to consider.

Kay thought it essential that the machine make it possible to use different fonts. He and fellow researchers had already done some experiments with font technology, and he showed some examples of their results in his paper.

He doesn’t elaborate on this, but he hints at a graphical interface for the device. He describes in spots how the user can create and save “dynamic graphics.” In a scenario he illustrates in the paper, two children are playing a game like Space War on the Dynabook, involving graphics animation, experimenting with concepts of gravity. This scenario lays down the concept of it being a learning machine, and one that’s easy enough for children to manipulate through a programming language. Incidentally, in a different paper on the history of Smalltalk, Kay refers to the Xerox Alto as an “interim Dynabook,” another concept that was making the rounds at Xerox PARC. I assume by “interim,” he meant “almost but not quite.”

Kay has held on to his vision for a long time. I recently read about an experimental system called “The $100 laptop,” being spearheaded by the One Laptop Per Child organization, an effort that Kay has been involved in. It’s headed by Nicolas Negroponte, an old friend of Kay’s from MIT. The hope is that it can be developed for Third World countries, to truly bring computing to the world’s masses. From what I’ve read about it, with the latest developments on it, its price has risen above $100, but they’re making an effort to keep the unit costs low. Its design looks innovative, and very stylish. One of its key features, keeping people of the Third World in mind, is a hand crank for recharging the battery, in case there’s no electrical outlet at hand to plug it into. The battery is in the handle of the case. Great idea! I can imagine some people in the U.S. wanting to buy one of these. Last I’ve heard, it’s not out yet. It’s in the prototype stage, but it looks like it’s getting more and more defined.

A movie connection

Oh, one other thing. I can’t let this go without mentioning it. One of my favorite sci-fi movies of all time, Tron, featured a character named “Alan.” In the movie he is the programmer who writes the Tron program, which liberates the mainframe system from the centralized, controlling MCP (Master Control Program). The movie’s director, Steven Lisberger, said in an interview about the making of the movie that he had met with Alan Kay, among other people in the computer industry at the time (around 1980). Kay told Lisberger about his vision for the Dynabook, the personal computer. Lisberger said that this was one of the inspirations for the story in Tron. It doesn’t talk about personal computers as an alternative to mainframes though, only that “running user requests are what computers are for.” Anyway, Lisberger said that “Alan” was named after Alan Kay. Neat story. 🙂

Read Full Post »

I found this on TechRepublic.com. Channel 4 in the UK has a sitcom called “The IT Crowd” (pronounced “the ‘it’ crowd”, not “the eye-tee crowd”). It’s the best sitcom I’ve seen showing techies since “Dweebs” came out in the 1990s. I watched all I could see on there, and found it wonderfully witty. It’s about a small I.T. department inside a moderate-sized British company. Think of it as a combination between “Office Space” (the movie) and “The Office” (the TV show). I only wish they would show it here in the U.S. A fun game to play while you’re watching it is to see how many techie posters and stickers you can pick out. They have them plastered all over the “I.T. Dept.” set. British humor is an acquired taste. If you’re used to BBC shows like “The Hitchhiker’s Guide to the Galaxy”, or “Monty Python,” I think you’ll get it. Give it a look!

Edit 8/7/06: I just had to say this. The funniest scene for me in the series was in the premiere episode. One of the I.T. guys picks up the phone and starts doing help desk duty with a computer user. He says, “Hello. I.T.,” listens, and says, “Have you tried forcing an unexpected reboot?” The camera breaks away to the other I.T. guy who is also on the phone troubleshooting with a user. It focuses on him for a bit. Then the camera comes back, and the first I.T. guy says, “You see, the driver hooks a function by patching the system call table. So it’s not safe to unload it unless another thread is about to jump in there and do its stuff. And you don’t want to end up in the middle of invalid memory,” he says chuckling. Then there’s a pause, “…Hello?” Hilarious. 😀

Read Full Post »