Skip to content

The Future is Obvious!

Friday, 2 September 2005  |  richard dale

Lately I've been thinking about both my past and my future. What strikes me is how easy it is to predict the future (not necessarily the same as being personally able to make it happen). In the early 1970's Alan Kay at Xerox PARC used Moore's law to predict when it would be possible to create a flat screen display based portable machine, he called a 'dynabook'. You just take the graphs of expected progress in microelectronics, extrapolate, and see about what year the hardware would arrive.

In 1976, I started learning about programming with a course on AI as part of my philosophy degree. We used a PDP-11 machine running Unix via teletypes, which were like an interactive typewriter. You would type a line of text, and the teletype would print what you had typed on a roll of paper, send it to the computer, and then print any of the output returned. We were using the Pop-11 language (a more user friendly lisp) seamlessly integrated with the ed line editor, and could develop code interactively by typing stuff in and trying it out. At the end of a session you could tear off the roll of paper to take home and study, like we would sync with a PDA today.

It took me a while to get into programming in this strange creaky environment (by modern standards), but gradually I found I was more interested in computers than philosophy, and was better at it. So in late 1977 my philosphy professor, Aaron Sloman, told me of a special issue of Scientific American about the future of computing. I bought the magazine and was blown away. You could see that even though computers of the day was obviously rubbish, in a few short years they would be so much more powerful. There were graphs on the expected rate of progress, and how it would happen, that subsequently proved to be substantially accurate. Right at the end was a strange article by Alan Kay called A Decade of Research at Xerox PARC (I still have the magazine as one of my most treasured possesions). Looking at that and imagining how different it would be to have a machine he described was very exciting. So I decided computers were for me, and got my first programming job in 1978 once I finished my degree.

Then I waited and waited for a worthwhile personal computer to appear, but they all had green character based screens which just reminded me of a teletype. Finally, I bought a Mac in May 1984 as soon as it came out. I got it back home, sat it on my kitchen table and stared at it in awe. Here was a taste of the future! But with 128k of memory, a single floppy disk, no hard disk it was only really useful for using MacPaint and MacWrite. In fact it wasn't until I got a second floppy drive and MacPascal a year later that I could actually do anything useful at all.

Today I think we are in a very similar position, just waiting for the future; we are using a 2D based interface much the same as was invented by Alan Kay and the team at PARC, perfected by Apple for the Macintosh, and then screwed up and made less usable by clunky Microsoft. But 3D OpenGL hardware acceleration is about to become ubiquitous, along with fast networking available almost everywhere on the planet. So just assuming that everything will stay the same as today makes no sense at at all.

Fortunately, we have the future right here at Malaga aKademy, both the people and the technology to make it happen; everything we need is just laying around waiting for us to just pick up and put together. The absolute highlight of a great week was Zack Rusin's presentation 'Beauty and magic for KDE developers'. He explained the problems of implementing 3D graphics and how hard it was, all the maths involved and how even the most powerful of today's hardware was left for dead by the real world's ability to render itself in realtime.

The presentation ended with Zack giving a demo. You might mistake him for a 15 year old skateboard enthusist if you didn't know any better, but Holy Shit! He stood there, waving his hands like some magician or shaman while windows danced in front of him, 3D cubes with Konqueror, konsole on the surfaces rotated and zoomed around. Buttons danced, windows wiggled and rippled. Everything was so much easier and it made so much better use of screen space, than futzing around re-arranging today's 2D windows and getting lost in nested dialogs and so on. When he finished the applause lasted about 5 minutes, and I can't remember any KDE speaker actually getting a standing ovation before. It's one thing reading about these 3D environments, and another seeing it right there in front of you. This is future! It's Obvious!

Who else is good at seeing the future? Why Alan Kay of course. I asked Zack whether he had looked at Open Croquet, and he said he had. He described how Croquet allows you to view a current 2D based app like a chess game in a shared 3D world with other people. A chess game designed as a single player, becomes usable be two people when they can both view the same window inside the metaverse.

What problem does Zack think Open Croquet has? He said he didn't like the idea that a stranger could look over your shoulder when you were playing chess with a friend. Is this a big problem in the real world? I don't think so, and it seems to me you just need to have the notion of private shared spaces in the virtual world, just like the real world.

This morning I asked Kurt Pfeifle about NX and how well it would work with 3D graphics; he said they could be compressed and sent over X-Windows just as easily as 2D graphics. So you could have, say 1000 users per machine inside a Croquet-like 3D world using currnet NX technology. It seems we already have the back end infrastructure to make shared 3D worlds happen. The future is nearly here. It's Obvious!