The Road to Red Carpet

In 1986, a Macintosh could have a moose on its screen. He talked aloud and told jokes, with his mouth moving along with 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. Only a handful of pixels were needed to give it a personality.

Questions about artificial intelligence tend to follow today's talking computers. 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. Since there was little room for detail, much of the work fell to its outline. Halls remembers that antlers were easy to recognize even when small. He liked moose as well, and that settled the choice.

Halls wrote the original code in assembly language. Getting the lips to track the speech required some cleverness. The program located Macintalk in memory, as Halls recalls, that being the Macintosh speech engine. 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.

That same access let the character remark on window and document names in familiar applications. 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.

Into Color

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. The scans in his color Moose account still reveal the printing dots.

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.

Former users supplied a further kind of record. In a letter published in 2016, Mike Ellis remembered 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. Decades on from using the software, people remembered the character well enough to write to its maker.

Giving a 3D Head Life

The Windows Moose that followed 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. The Windows character used procedural animation instead, its motions generated by algorithms.

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. The result avoided looking mechanical, thanks to smooth acceleration and deceleration.

The lip-sync mechanism changed from one platform to the next. On Windows, Microsoft's Speech API supplied timing information that told the character which mouth shapes to use. Nobody needed to recreate that old Macintalk technique of observing memory.

Something Useful to Say

The Moose kept its jokes, but plugins added other things for it to talk about. News and weather came alongside reminders and notifications.

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. 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. A joke could appear to come from an antlered companion, thanks to speech synthesis and carefully written animation code.

That companion, for Mike Ellis, belonged on his Mac Plus. In 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.

Index page [<< First] [< Previous] [Next >] [Last >>]
of 75