The Making of Home Computers
In 1986, a Macintosh could have a moose on its screen. He spoke out loud and told jokes, his mouth moving to match the words.
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. It didn't take many pixels to give this one a personality.
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?
Antlers played a part.
The original Talking Moose appears in pictures as a two-dimensional Macintosh character. There was little room for detail, so its outline had to do much of the work. Antlers, Halls recalls, were easy to make out at a small size. Liking moose himself settled the matter.
Halls wrote the original program in assembly language. The lips had to follow the speech, which 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.
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.
With that access, the character could comment on window and document names in applications users knew well. When the Moose seemed to know something about your work, it was responding to information on your own computer. Behind the face was programmed behavior, not a language model.
The Years in Color
The Moose had taken on color by about 1989. A picture of that version, printed with an early Macintosh color printer, hung on Halls's wall. His color Moose account includes scans with the printing dots still visible.
It's a small piece of computing history you can inspect: the character as it looked then, preserved on paper as well as in software.
Another kind of record came from old users. In a letter published in 2016, Mike Ellis 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."
Among the recollections sent to Halls sits that letter. Even decades after using the software, people remembered the character well enough to write to its maker.
Giving a 3D Head Life
A three-dimensional head belonged to the later Windows Moose. Its ears moved and its eyes looked around. Eyebrows and mouth gave it more expressive scope than the original pixels could manage.
Repeating the same animation clips would have made those movements predictable. Algorithms generating its motions gave the Windows character procedural animation instead.
Controlled randomness is what Halls's explanation of the animation describes. A movement could stop near a target rather than at exactly the same spot each time. The pause before the next movement varied, and its speed varied too. 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 Say
Jokes stayed part of the Moose, though plugins gave it other things to talk about. News and weather joined reminders and notifications.
A June 2016 update described a working Pushover connection, IFTTT supplying the events for the Moose to announce. In one example, the Moose warned of approaching rain. In another, a phone entering a home geofence triggered a spoken "Welcome home" on the user's PC.
Checking a screen for those messages was unnecessary. They could be heard.
A Voice with a Face
The original Moose appeared in 1986, some forty years before the current enthusiasm for AI assistants. Calling it an early version of today's conversational AI would miss what Halls actually built. Speech synthesis and carefully written animation code sufficed 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.
Looking at the early screenshots is still worthwhile. A face made of pixels, plainly, yet a former user remembered a companion. Quite a result, for a moose that told jokes.
