The Untold History of Cinema History
In 1986, you could put a moose on a Macintosh screen. He spoke out loud and told jokes, his mouth moving to match the words.
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.
So why a moose?
It came down to the antlers.
Images of the original Talking Moose show a two-dimensional Macintosh character. With so little room for detail, its outline had to carry most of the work. As Halls recalls, antlers were easy to recognize at a small size. He also liked moose, which settled the choice.
The original code was written by Halls in assembly language. The lips had to follow the speech, which took some ingenuity. The program located Macintalk in memory, as Halls recalls, that being the Macintosh speech engine. Watching data about the sound being played, it then adjusted the Moose's mouth shape to match.
This left the speech engine's memory untouched. The Moose was simply watching it. Early Macintosh software could reach across applications into memory, in ways modern operating systems generally restrict.
The character could also comment on window and document names in familiar applications, thanks to that access. A Moose that seemed to know something about your work was responding to information on your own computer. No language model stood behind the face; its behavior was programmed.
The Color Years
By around 1989, the Moose had acquired color. On his wall, Halls kept a picture of that version, printed with 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.
Another kind of record came from old users. In a letter published in 2016, Mike Ellis remembered 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."
That letter sits among other recollections that were sent to Halls. People still remembered the character well enough to write to its maker, decades after using the software.
Giving a 3D Head Life
The later Windows Moose came with a three-dimensional head. Its ears moved, and its eyes glanced about. More expression came from its eyebrows and mouth than the original pixels could manage.
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. A movement could stop near a target rather than at exactly the same spot each 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, Microsoft's Speech API supplied timing information that told the character which mouth shapes to use. Recreating the old Macintalk memory-observation technique was unnecessary.
Something Useful to Announce
Jokes stayed part of the Moose, though plugins gave it other things to talk about. News and weather came alongside reminders and notifications.
A June 2016 update described a working Pushover connection, with IFTTT supplying events for the Moose to announce. In one example, the Moose warned of approaching rain. A phone entering a home geofence triggered a spoken "Welcome home" on the user's PC in another example.
You didn't have to keep checking a screen for those messages. You could simply hear them.
A Voice with a Face
Between the original Moose's 1986 appearance and the current enthusiasm for AI assistants lie forty years. Calling it 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.
Mike Ellis felt that companion belonged on his Mac Plus. For the later Windows project, it could be the voice announcing rain or greeting someone arriving home.
The early screenshots are still worth a look. Plainly a face made of pixels, it was nonetheless remembered by a former user as a companion. That's quite a result for a joke-telling moose.


