The Rise of Early Computing
A Macintosh in 1986 could show a moose on its screen. He spoke aloud, moved his mouth in time with the words, and told jokes.
The Talking Moose was created by Canadian physician and programmer Steven B. Halls, at a time when a recognizable face had to be built out of black-and-white pixels. Few pixels were enough to give this character a personality.
Today, talking computers usually bring up questions of 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 pick a moose?
The antlers helped.
The original Talking Moose appears in pictures as 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 liked moose as well, and that settled the choice.
Halls wrote the original program in assembly language. Making the lips follow the speech took real ingenuity. As he recalls it, the program located Macintalk, the Macintosh speech engine, in memory. It observed the sound being played and then changed the Moose's mouth shape to suit.
None of this altered the speech engine's memory. The Moose was observing that memory. Early Macintosh software could access memory across applications in ways that modern operating systems generally restrict.
The character could also comment on window and document names in familiar applications, thanks to that access. 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.
Into Color
By around 1989, the Moose had acquired color. Halls kept a picture of that version on his wall, printed on an early Macintosh color printer. Scans in his color Moose account still show the printing dots.
You can inspect this small piece of computing history, the character as it looked then, preserved in software and on paper.
Former users supplied a further kind of record. In a letter published in 2016, Mike Ellis recalled seeing the Moose at a Boston Mac Developers Group conference in the late 1980s:
"He was widely admired by some of the cleverest developers I've ever known and became my constant companion on my Mac Plus."
Other recollections sent to Halls sit alongside that letter. People still remembered the character well enough to write to its maker, decades after using the software.
Making a Three-Dimensional Head Feel Alive
The later Windows Moose had a three-dimensional head. Its eyes looked around, and its ears moved. Eyebrows and mouth gave it more expressive scope than the original pixels could manage.
Those movements would have become predictable if the same animation clips played over and over. Instead, the Windows character used procedural animation, with algorithms generating its motions.
Controlled randomness is what Halls's explanation of the animation describes. A movement could end near a target rather than at exactly the same spot each time. Both its speed and the pause before the next movement varied. Smooth acceleration and deceleration kept the result from looking mechanical.
The lip-sync mechanism changed from one platform to the next. On Windows, the character took timing information from Microsoft's Speech API to choose its mouth shapes. Recreating the old Macintalk memory-observation technique was unnecessary.
Something Useful to Announce
The Moose kept its jokes, but plugins added other things for it to talk about. To reminders and notifications were added news and weather.
A June 2016 update described a working Pushover connection, IFTTT supplying the events for the Moose to announce. Approaching rain was the subject of one example. A phone entering a home geofence triggered a spoken "Welcome home" on the user's PC in another example.
There was no need to keep checking a screen for those messages. You could hear them.
A Voice with a Face
Between the original Moose's 1986 appearance and the current enthusiasm for AI assistants lie forty years. Describing it as an early version of today's conversational AI would miss what Halls actually built. Speech synthesis and carefully written animation code were enough to make a joke appear to come from an antlered companion.
That companion, for Mike Ellis, belonged on his Mac Plus. The later Windows project could make it the voice announcing rain or greeting someone arriving home.
The early screenshots still repay a look. It's plainly a face made of pixels, yet a former user remembered a companion. That is quite a result for a joke-telling moose.
