Apple is mainstreaming the inventions of Alan Kay. Maybe the metaverse is next
21.26, Monday 25 Apr 2022 Link to this post
I have this semi-stupid semi-serious theory about Apple which is that they are, one by one, mainstreaming the inventions of computer scientist Alan Kay, and that is their raison d’etre. It’s a theory with predictive power because you can speculate where they’re going next.
Dr Alan Kay: a pioneering computer scientist. Here’s a bio and list of inventions (though I’ll get to those). He started at the University of Utah with ARPA funding in the 1960s, then went to Xerox PARC.
Ok so first there was the Macintosh which was the first mainstream personal computer, and as we know it was inspired by two tours Steve Jobs and Apple employees took round Xerox PARC in 1979.
They saw the Xerox Alto which had been developed in 1972, the first attempt at the bringing to market the PC as invented by Doug Engelbart and team in 1968 (as previously discussed).
The story of that visit:
That day Jobs and his engineers sat in awe as Goldberg and the Alto team demoed the intricacies of the mouse-driven GUI, Smalltalk, as well as the Ethernet technology they had developed to network their Altos together. Jobs was so blown away by the details of the GUI, the rest passed over him like a fog. “It was one of those apocalyptic moments,” Jobs said. “I remember within ten minutes of seeing the graphical user interface stuff, just knowing that every computer would work this way someday. It was obvious.”
(GUI = graphical user interface.)
Three years ago, in an answer on Quora, Alan Kay himself reflects on what it was like at Xerox PARC during the Jobs visit:
it was the work of my group and myself that Steve saw, yet the Quora question is the first time that anyone has asked me what happened.
A second important fact about the 1979 demo to Steve, was that he missed most of what we showed him. More than 15 years later he admits this in this interview: How Steve Jobs got the ideas of GUI from XEROX [YouTube] where he says that we showed him three things but he was so blinded by the first one (the GUI) that he missed both networking and real object-oriented systems programming.
Kay didn’t invent the personal computer, Apple’s first breakthrough mainstream product. That pre-existed his involvement.
But Kay was involved in the Xerox Alto as a networked workstation (that’s what it’s called on his Wikipedia page). Un-networked computers and networked computers take you to completely different ways of working.
Jobs made good on the first miss, networking, with the iMac – the beginning of Apple’s rebirth under Jobs:
The ‘i’ stands for ‘Internet,’ he said.
Jobs made good on the second miss, object-oriented systems programming with his second computer company, NeXT.
The NeXT operating system was famously, heavily object-oriented – which made it insanely easy to develop for. (Using a NeXTstation was what got me into coding.) NeXT was acquired by Apple, Jobs returned (and launched the iMac), and the OS became the underpinnings of first Mac OS and then iOS. The reason iPhones ignited such an incredible app ecosystem is down the NeXT-derived operating system.
(If you don’t believe me, then you never tried to develop for Symbian, the operating system for the Nokia Series 60 line, far and away the most popular smartphone line when iPhone came out. Symbian was so incredibly difficult to develop for that I remember seeing a flashlight app on Nokia’s app store selling for like $20. The flashlight was literally the tutorial app you would build when you set up the developer environment. Developer friction was that high.)
Anyway: Alan Kay invented object-oriented programming. That was his thing.
Alan Kay also invented the Dynabook.
The KiddiComp concept, envisioned by Alan Kay in 1968 while a PhD candidate, and later developed and described as the Dynabook in his 1972 proposal “A personal computer for children of all ages”, outlines the requirements for a conceptual portable educational device that would offer similar functionality to that now supplied via a laptop computer or (in some of its other incarnations) a tablet or slate computer with the exception of the requirement for any Dynabook device offering near eternal battery life. Adults could also use a Dynabook, but the target audience was children.
The illustration of the Dynabook concept (which is on that Wikipedia page) is basically an iPad with a keyboard. Kay didn’t originate that form, but he made it believable.
For Steve Jobs, the lineage was clear. He invited Kay to the bombshell launch of the iPhone.
I think he invited me to the 2007 iPhone unveiling partly because it was kind of a tiny “Dynabook” – and he had always wanted to do one – and partly because he was going to use a quote of mine that he had always taken to heart “People who are really serious about software should make their own hardware”.
The photo of us chatting was taken right after the event. He brought the iPhone to me, put it in my hands, and asked: “Alan, is this good enough to be criticized?”. My reply was to make a shape with my hands the size of an iPad: “Steve, make it this size and you’ll rule the world”.
When the iPhone had been revealed a few minutes earlier I realized that they must already have done an iPad/Dynabook-like machine (easier) and that the “iPhone first” must have been a marketing/timing decision.
(From an article which excerpts another of Kay’s Quora answers: Alan Kay Talks What he and Steve Jobs Talked About at the Original iPhone Keynote in 2007.)
Although Jobs saw the “slate” form factor as key to the Dynabook, Alan Kay believes that Apple has missed the point: in another Quora answer, Kay goes into the goals of the Dynabook concept and points out that it’s for children and it’s programmable. But Apple didn’t allow this:
users (even children) were forbidden to make actively programmable things on the iPad and share them on the Internet.
Hey but… Swift Playgrounds, Apple’s game-like environment for learning programming and creating apps on iPad, which is mysteriously getting more and more powerful each year? I always wonder why so much effort goes into it. Something going on there.
So, beyond personal computers and the Macintosh, we’ve got…
- networked workstations: the iMac
- object-oriented programming: NeXT, Mac OS, and iOS
- Dynabook, slate computers: iPad
- Dynabook, kids and programming: Swift Playgrounds
I’m not saying that pursuing Alan Kay’s inventions is exclusively what Apple does. In bringing something to market, it never looks exactly like the original vision. It’s slower maybe, or the step-by-step strategy reveals something else along the way that becomes a preoccupation for a decade. But Apple trends back towards the North Star, which is Alan Kay.
And am I genuinely saying that this is what Apple consciously does? That there is someone in corp strat combing over Kay’s work and figuring out what to mine? Probably not. Not really.
(Maybe Steve Jobs wrote it into a giant Seldon’s Plan for the future of the fruit company, maintained and monitored to this day in an inner sanctum by a secret cadre of mini Tim Cooks.)
“Apple is channelling Alan Kay” is not really a theory, strictly. It’s a heuristic metaphor, imaginative scaffolding. I carry around a whole bundle of these in my head, as do we all I suppose. I’m not bothered about the truth value of a heuristic metaphor, mainly that it’s crudely on the money enough such that I can (a) reason more rapidly and also (b) stretch it to arrive at new possibilities.
So what happens if we stretch this one?
Reading Alan Kay’s Wikipedia bio, after forays into Atari, Apple itself, and the One Laptop Per Child project, the great as-yet-not-mainstreamed invention that really stands out to me is Croquet.
Croquet is a software development kit (SDK) for use in developing collaborative virtual world applications.
It’s a programming environment to create multiplayer 3D worlds… which are themselves programmable.
Look: it’s a 3D persistent world that multiple people can be in at the same time.
Like, the whole emerging strategy for the 2020s of Facebook (now Meta) and the tech startup ecosystem?
Only Croquet is way more than that.
Croquet allows users to edit the source code of the 3D world from within the world, and immediately see the result, while the world is still running. The running program does not need to be ended, and there is no compile-link-run-debug development loop. Any part of the program may be edited, down to the VM and OpenGL calls.
I have seen Kay present Croquet on stage and it is WILD. Almost two decades ago.
Back in 2003:
Alan Kay was giving a talk about old ideas from the history of computing. Two big projector screens, one at each end of the stage.
It starts as a slideshow.
Then turns into interactive, object-oriented programming. Kay right clicks on an object in the deck and rewrites the code: the slide becomes a dynamic simulation of a car driving down a road. We thought it was a slide but actually it’s live code.
AND THEN: the screens show different views. The screen on the right pulls back, and it turns out we weren’t looking at a slide, or even a screen-based coding environment. We were duped. We were zoomed in on a flat television in a fully realised 3D virtual world.
The screen on the left pulls back too, then travels through a portal, looks to the side, and sees the avatar that represents the screen on the right.
It was mind blowing.
I still have my notes…
3d environment on the left, then the 2d screen on the right zooms out and suddenly we’re in a 3d environment with panels all over it. all 3d OO, an avatar. each panel is a portal. the left is doing things from a first person POV, replication architecture doing realtime transactions over the internet. late binding protocol – message based system. all objects have their own objects.
every object is different, and can communicate with its peers. so you pull down the objects to fill in the environments, massively parallel realtime transaction stuff. then messages are synced up.
left screen manipulated a portal into another space. he enters it, and he’s in a new 3d space. left turns round, and sees alan on right screen enter the portal into the 3d view of the surface of mars.
(This is from back when conference talks were given sufficient time and were super dense.)
I sound pretty hilariously amazed, breathless even in plain text. I still am tbh.
What Kay really cracked, with Croquet, is more general than in-world programming. It’s the overall user experience paradigm to interact with objects in 3D space in a way that makes intuitive sense, without dropping out to a separate console.
Update 26 Apr: It turns out that the whole keynote is on YouTube. It looks pretty old school now, but you can see past that – it’s remarkable. And you just ask… what if we’d spent the last 20 years iterating on this vision? The path not taken. But it’s still possible to pick up the ideas. Watch it here: Alan Kay: Croquet Demo (2003) (58 mins).
Multiplayer, persistent virtual reality worlds, programmable from the inside – that’s the Alan Kay invention that Apple hasn’t mainstreamed yet.
Then there are all those rumours about Apple and virtual reality smart glasses… all the jigsaw pieces that Apple has dropped like spatial audio, and augmented reality toolkits, and ultra-wideband low latency high precision positioning chips, and insanely high-powered low-energy silicon, which isn’t really being used anywhere… and all the work they’ve done around iCloud, and identity, and in-app app development…
And I was thinking about VR headsets the other day, noticing that the missing piece is the operating system… For all of Apple’s work towards the technology of smart glasses, we don’t know what “reality OS” is going to be like to use. Is it going to be immersive and 3D? Is it going to be a shared social space? Will the user experience build on the lessons of “object oriented” direct manipulation, like the original desktop metaphor but updated for virtual environments?
I can’t help but wish that what Apple is working their way towards, slowly, over many years, is Alan Kay’s vision of the metaverse.