So, you join a university team that is in the middle of a project that is throwing away the models of how computer programs and interfaces work and starting again from scratch. Where do you begin?
There’s a nice outside review of the scope and implications of the Croquet project in
this person’s blog.
This is deep stuff — too deep for me to fully grasp in my first two months. So I started by sorting out the people and their projects.
There are five architects revolving around Alan Kay.
People often quote Kay’s advice that “The best way to predict the future is to invent it.” He’s done a lot of that. Individually and as a founder of the famed Xerox PARC, Kay and his groups were more or less responsible for personal computing, the laptop, Ethernet, bit-mapped screens, painting and fonts, the overlapping windows user interface, object-oriented programming, the laser printer, and desktop publishing. (And, if you’re familiar with the terms, also client-server computing and the Smalltalk language.) Later he started playing games: Chief Scientist of Atari, a Fellow of Apple, and Vice President of Research and Development at Walt Disney. His goal seems to be to make computers really work for kids so that they can do what they want with them — which should have all sorts of anonymous benefit for society at large. He recognizes that computers and networks have a lot of unused power, are only going to get more powerful, and he wants to design systems that really make use of that power rather than just doing today’s stuff faster. It seems Kay’s PARC team created the PC only as a machine to test software ideas for what they really wanted: what is now called the notebook computer. But the hardware of the time wasn’t ready to build what they wanted. The software was worth developing on the grounds that the hardware would get there someday.
Some dozen years ago, David Smith showed Kay a collaborative 3d immersive environment he had put together. Smith had honed his chops on expert systems and robotics and went on to create the first 3D interactive game (“The Colony”) in 1987. He has since created games, applications and companies for director Jim Cameron and authors Tom Clancy and Michael Crichton. Now interested in authoring environments, Smith wanted to create something like a game environment in which participants could share the same space, interact with each other, and also cooperatively change the very environment they were in. Promising stuff, but Smith was too busy doing commercial stuff.
Then the tech economy tanked and Smith had some time. Kay brought in a developer, Andreas Raab, with whom Kay had worked at Disney. The team at Disney (and previously at Apple) had created a powerful and highly portable platform called Squeak. Running as an application on PC or PDA, or a browser plugin, or stand-alone on a chip, Squeak has everything needed for a self-sufficient operating system. This includes networking, graphics and graphical user interfaces. The whole thing is written in an elegant and flexible language (Smalltalk) that allows the system to be changed and grown even as it is running. Squeak is both an integrated development environment and a runtime execution environment. But more importantly it is both at the same time. Raab was expert at every part of Squeak, and Disney was starting to buckle under corporate management struggles. It was time to leave, and Kay and Raab joined Hewlett-Packard.
Meanwhile, Kay knew that David Reed’s 1978 PhD thesis proposed a radical way of looking at distributed computation, which would allow very large numbers of users to collaborate in real time. You type and I can see what you’re typing, but much more general. Back in ’78, computers and networks might not have been fast enough or pervasive enough to make it work meaningfully. Reed made several big steps towards rectifying that by helped to invent the TCP/IP network protocols that the Internet runs on, and formulating Reed’s Law. Ethernet creator Bob Metcalfe is credited with suggesting that the value of a network grows as the square of the number of users. Three separate computers are three times as useful as one. On a network, they are nine times as valuable because of the number of different connections possible. Well, not all kinds of value grow the same way. Reed noted that the value associated with the number of different groups that can be formed (e.g., social networks such as e-bay) grows MUCH faster: 2^N, or 27 in our network of three. But Reed went off to work on Visicalc and was later VP at Lotus, and his dissertation was never implemented. When Kay reconnected on this project post Internet bust, Reed had some time between projects at HP and MIT. By applying Reed’s realtime collaboration model, the 3D environment could work directly between peers without being moderated by a bottleneck server. It should not be too surprising that Reed’s computational model enables the P2P collaboration, and the same man’s law shows why P2P is needed. Not only does the value of group forming networks grow exponentially, but so does the number of states involved. If these all go through a single server (or one institutions server farm), then the demand and costs would also grow exponentially. Reed’s architecture distributes the load among the participants.
Smith, Reed, and Raab alone built an early proof of concept of what would be Croquet.
Meanwhile, Julian Lombardi and Mark McCahill were working on architectures for very large immersive 3d environments that would help people navigate, manage, and share the volumes of information that overwhelm us today. Everyone in the collaboration could see what you did, and so could folks who join later, long after you have left. McCahill had developed both the first popular email client for the Internet (POPmail) and its first largely successful hypermedia navigation environment (Gopher). Some credit McCahill with creating the phrase “information surfing.” Lombardi’s groundbreaking research in evolutionary biology was published in 1999. “Comparative Vertebrate Reproduction” argued that laying fertilized eggs was a later adaptation of bearing live young, and not the other way around as had previously been assumed. On the same day the textbook was published, Lombardi got his patent on mapping Web-based information to a 3D environment. When the subsequent startup crashed (ViOS), Lombardi became an assistant director of IT at U. Wisconsin and hooked up with McCahill who was an assistant director of IT at U. Minnesota. By the way, these are huge IT shops. The Wisconsin ”DoIT” employs over 600 people (not counting students), has about 55,000 users, and a budget of $70M.
But Lombardi and Smith knew each other, and so the group of six architects was complete. HP, Wisconsin, and Minnesota are all supporting teams at the three institutions. Additionally, Raab is a principal at Impara in Germany, which is supporting additional developers and infrastructure. Lombardi and Smith are connected to 3D Solve, which is developing military simulation applications.
Oh. My. Goodness.
The more I find out about this Croquet project, the more I’m reminded of the line from “Jaws”:
“You’ge going to need a bigger boat.”
It really does seem that something extraordinary and unexpected may be on the way. Of course, there have been colosal ambitious projects before that have fallen short of their lofty goals (anyone here remember http://www.curl.com?), but the players do seem to be more grounded.
We’ll be waiting to hear where you fit it, of course.
And finally, I heard Alan Kay speak once. He was the keynoter at the International Technical Communicator’s Conference in 1988 (the year I got my Award of Distinguished Technical Communication, oy, which is why my employer was willing to send me to Chicago). Anyway the tech writer’s convention was a decidedly non glamorous affair. Back before Tim O’Reilly sexed up technical communications as a profession, it really was a profession widely disdained by many “real” engineers.
So I was impressed by Kay’s attitude. I’m sure most of his speech was his stock “inventing the future” talk, but he did, as I recall, talk also about the importance of what we did, which was, yknow, explain stuff. Anyway, that’s my one and only Alan Kay story, unless you want to count Emverc in Acts of the Apostles, but that’s a whole nother story.
I don’t have any perspective yet about Croquet to compare the effort to Curl — but I’ll try anyway! By the time I got to Curl (in late ’99 just as it was starting to ramp up after receiving a $42M chunk of funding), there was an attitutude I had and which I therefore recognized most readily in others. We were going to change the world. We sold our businesses and moved from Wisconsin to Boston. I loved Peter Gabriel’s “Big Time” but congratulated myself that the song wasn’t really about me. (Ha!) We didn’t need sound business strategy. We didn’t need users or applications. People were going to use Curl because it was better. (In retrospect, a better way of doing the same old thing.) Arrogance. Remember, I’m talking about me and the attitude I recognized at many levels starting after I came. I know there were other attitudes as well. It was all mixed together.
Croquet doesn’t have a business plan either, but for a very diffferent reason. This is a “science project.” We think it’s going to either work or not, and if it does it will have a big impact. But that’s a consequence of the technology, rather than the thing that’s driving us. We (and the developers we work with) keep getting excited by the potential enabling power of the technology, which I (naively???) feel is very difffererent then getting seduced by he potential power of the market position (as was the case with Curl). With Curl, I thought, “This is going to be big and used everywhere.” With Croquet I think, “This is going to allow realy cool things to happen.”
Also, I’m now a union-represented state employee with a pension plan and no stock options.
Nonetheless, it is disturbing that I’m chasing another radical technology with a “C” name and a weird language. Would my grandmother be able to see the difference?
John, I started out pretty star struck by the people. But Curl taught me that no one knows what they’re doing in every area. So now I yell at them just like I yelled at you, boss. Well, some of them, anyway.
What do I do? I write code. I try to keep the architects honest by trying to understand what they are really doing. I manage the coding projects here. I do my thing: define it, refine it, combine it. If this were a commercial activity, I would be some combo of lead dev, architect, product manager, and project manager. Or CTO, depending on the size/stage of the company. But this month I’m trying to crank out the guts of a demo based on Lombardi and McCahill’s papers for a big conference in Kyoto at the end of the month. More later.