The Birth of Blockbusters

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 built the Talking Moose in an era when any recognizable face had to be assembled from black-and-white pixels. Few pixels were enough to give this character a personality.

Talking computers today often raise questions about artificial intelligence. The Moose's beginnings belong to another kind of story: a single programmer working out how to make a computer-generated voice seem to come from a character.

So why a moose?

Antlers helped.

The original Talking Moose appears in pictures as 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 happened to like moose, so the choice was settled.

The first version was written by Halls in assembly language. Making the lips follow the speech took real ingenuity. In his recollection, the program found 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 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. No language model stood behind the face; its behavior was programmed.

Into Color

Color arrived for the Moose around 1989. Halls kept a picture of that version on his wall, printed on an early Macintosh color printer. His account of the color Moose includes scans where the printing dots are still visible.

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. In a letter published in 2016, Mike Ellis recalled seeing the Moose at a Boston Mac Developers Group conference in the late 1980s:

"Some of the cleverest developers I've ever known admired him widely, and he 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 3D Head Seem Alive

The later Windows Moose came with a three-dimensional head. Its ears moved; its eyes looked around. 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 turned to 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.

With the platform, the lip-sync mechanism changed. Timing information from Microsoft's Speech API told the Windows character which mouth shapes to use. There was no need to recreate the old Macintalk memory-observation technique.

Something Useful to Say

The Moose kept its jokes, but plugins added other things for it to talk about. Reminders and notifications were joined by news and weather.

A June 2016 update described a working Pushover connection, with IFTTT supplying events for the Moose to announce. One example warned of approaching rain. In another, a spoken "Welcome home" played on the user's PC when a phone entered a home geofence.

Checking a screen for those messages was unnecessary. 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. 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.

Mike Ellis felt 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. A face made of pixels, plainly, yet a former user remembered a companion. For a joke-telling moose, that is quite a result.