Events Hire History Gallery The Friends Find us Contacts







The Curious History of Cosplay

By 1986, a moose could appear on a Macintosh screen. He spoke aloud, moved his mouth in time with the words, and told jokes.

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. Few pixels were enough to give this character a personality.

Questions about artificial intelligence tend to follow today's talking computers. 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 liked moose, which settled the choice.

The original code was written by Halls in assembly language. Getting the lips to track the speech required some cleverness. As he recalls it, the program located 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. When the Moose seemed to know something about your work, it was responding to information on your own computer. Its behavior was programmed, without a language model behind the face.

The color years

The Moose had taken on color by about 1989. 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.

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. Mike Ellis, in a letter published in 2016, 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."

Other recollections sent to Halls sit alongside that letter. Even decades after using the software, people remembered the character well enough to write to its maker.

Making a Three-Dimensional Head Feel Alive

The later Windows Moose came with a three-dimensional head. Its eyes looked around, and its ears moved. Compared with the original pixels, eyebrows and mouth allowed far more expression.

The same animation clips, played repeatedly, would have made those movements predictable. Instead, the Windows character turned to procedural animation, with algorithms generating its motions.

Controlled randomness is what Halls's explanation of the animation describes. Each movement could end near a target, not at precisely the same spot every time. Its speed varied as well, and so did the pause before the next movement. The result avoided looking mechanical, thanks to smooth acceleration and deceleration.

The lip-sync mechanism changed with the platform. On Windows, the character took timing information from Microsoft's Speech API to choose its mouth shapes. There was no need to recreate the old Macintalk memory-observation technique.

Something Useful to Announce

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 working Pushover connection appeared in a June 2016 update, with events for the Moose to announce supplied by IFTTT. Approaching rain was the subject of one example. 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. 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. Describing it as 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.

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





Site sponsor:



© Friends of Abingdon Unicorn Theatre 2017