The Curious History of Interactive Media
In 1986, a Macintosh could have a moose on its screen. He spoke aloud, moved his mouth to match the words and told jokes.
Canadian physician and programmer Steven B. Halls created the Talking Moose at a time when a recognizable face had to be assembled from black-and-white pixels. This one gained a personality from very few pixels.
Today's talking computers tend to prompt questions about artificial intelligence. The Moose's beginnings belong to a different sort of story: one programmer working out how to make a computer-generated voice seem to come from a character.
Why a moose?
It came down to the antlers.
Pictures of the original Talking Moose show a two-dimensional Macintosh character. Since there was little room for detail, much of the work fell to its outline. Halls recalls that antlers were easy to recognize at a small size. He also happened to like moose, so the choice was settled.
The first version was written by Halls in assembly language. Getting the lips to follow the speech took some ingenuity. The program located Macintalk in memory, as Halls recalls, that being the Macintosh speech engine. It observed the sound being played and then changed the Moose's mouth shape to suit.
This didn't change the speech engine's memory. The Moose was observing that memory. Early Macintosh software could reach across applications into memory, in ways modern operating systems generally restrict.
That access also let the character comment on window and document names in familiar applications. Information on your own computer was what a seemingly knowledgeable Moose was responding to. Its behavior was programmed, without a language model behind the face.
The color years
Color arrived for the Moose around 1989. Halls kept a picture of that version on his wall, printed with an early Macintosh color printer. His account of the color Moose includes scans where the printing dots are still visible.
It is a small piece of computing history you can inspect, the character as it looked then, preserved on paper as well as in software.
Early users provided another kind of record. Mike Ellis, in a letter published in 2016, recalled seeing the Moose at a Boston Mac Developers Group conference in the late 1980s:
"He became my constant companion on my Mac Plus, and he was widely admired by some of the cleverest developers I've ever known."
That letter sits among other recollections that were sent to Halls. Decades on from using the software, people remembered the character well enough to write to its maker.
Making a 3D head feel alive
The Windows Moose that followed had a three-dimensional head. Its ears moved, and its eyes glanced about. Compared with the original pixels, eyebrows and mouth allowed far more expression.
Those movements would have become predictable if the same animation clips played over and over. The Windows character used procedural animation instead, its motions generated by algorithms.
Halls's account of the animation describes controlled randomness. Each movement could end near a target, not at precisely the same spot every time. Both its speed and the pause before the next movement varied. The result avoided looking mechanical, thanks to smooth acceleration and deceleration.
The lip-sync mechanism changed with the platform. On Windows, timing information from Microsoft's Speech API told the character which mouth shapes to use. Nobody needed to recreate that old Macintalk technique of observing memory.
Something Worth Saying
Jokes remained part of the Moose, but plugins gave it other things to talk about. To reminders and notifications were added news and weather.
A June 2016 update described a working Pushover connection, with IFTTT supplying events for the Moose to announce. One example gave warning of approaching rain. In another, a spoken "Welcome home" played on the user's PC when a phone entered a home geofence.
There was no need to keep checking a screen for those messages. You could hear them.
A Face for a Voice
The original Moose appeared in 1986, some forty years before the current enthusiasm for AI assistants. What Halls actually built would be missed by calling it an early version of today's conversational AI. Speech synthesis and carefully written animation code were enough to make a joke appear to come from an antlered companion.
For Mike Ellis, that companion belonged on his Mac Plus. It could announce rain or greet someone arriving home in the later Windows project.
Those early screenshots are still worth a look. It's plainly a face made of pixels, yet a former user remembered a companion. Quite a result, for a moose that told jokes.