The Forgotten History of Voice Assistants
In 1986, you could put a moose on a Macintosh screen. He talked aloud and told jokes, with his mouth moving along with the words.
Canadian physician and programmer Steven B. Halls built the Talking Moose in an era when any recognizable face had to be assembled from black-and-white pixels. This one gained a personality from very few pixels.
Questions about artificial intelligence tend to follow today's talking computers. A different sort of story covers the Moose's beginnings: one programmer figuring out how a computer-generated voice could seem to come from a character.
Why a moose, though?
Antlers played a part.
Images 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. As Halls recalls, 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. In his recollection, the program found Macintalk, the Macintosh speech engine, in memory. Watching data about the sound being played, it then adjusted the Moose's mouth shape to match.
The speech engine's memory was not changed by this. The Moose was simply watching it. Accessing memory across applications was possible in early Macintosh software, though modern operating systems generally restrict it.
That same access let the character remark on window and document names in familiar applications. A Moose that appeared to know something about your work was reacting to information on your own computer. No language model stood behind the face; its behavior was programmed.
The Color Years
The Moose had taken on color by about 1989. 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.
Here is a small piece of computing history to inspect: the character as it looked then, kept 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 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
A three-dimensional head belonged to the later Windows Moose. Its eyes looked around, and its ears moved. 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 explanation of the animation describes controlled randomness. A movement could stop near a target rather than at exactly the same spot each time. Its speed varied too, as did the pause before the next movement. Smooth acceleration and deceleration kept the result from looking mechanical.
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. There was no need to recreate the old Macintalk memory-observation technique.
Something Useful to Announce
Jokes remained part of the Moose, but plugins gave it other things to talk about. Reminders and notifications were joined by news and weather.
A June 2016 update set out a working Pushover connection, in which IFTTT supplied events for the Moose to announce. One example gave warning of approaching rain. In another, a phone entering a home geofence triggered a spoken "Welcome home" on the user's PC.
You didn't have 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. To call it an early version of today's conversational AI would miss what Halls actually built. Enough to make a joke seem to come from an antlered companion were speech synthesis and carefully written animation code.
That companion, for Mike Ellis, 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. A face made of pixels, plainly, yet a former user remembered a companion. For a joke-telling moose, that is quite a result.


