The Birth of Demo Scenes
A Macintosh in 1986 could show 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.
So why a moose?
Antlers played a part.
Photographs of the original Talking Moose present a two-dimensional Macintosh character. With so little room for detail, its outline had to carry most of the work. Halls recalls that antlers were easy to recognize at a small size. Liking moose himself settled the matter.
The first version was written by Halls 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.
The speech engine's memory was not changed by this. The Moose was observing that memory. Early Macintosh software could access memory across applications in ways that modern operating systems generally restrict.
That access also let the character comment 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. Behind the face was programmed behavior, not a language model.
The Years in Color
Around 1989, the Moose gained color. Halls kept a picture of that version on his wall, printed with an early Macintosh color printer. The scans in his color Moose account still reveal the printing dots.
You can inspect this small piece of computing history, the character as it looked then, preserved in software and on paper.
Another kind of record came from old users. 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."
That letter sits among other recollections sent to Halls. Even decades after using the software, people remembered the character well enough to write to its maker.
Making a 3D head feel alive
The later Windows Moose came with a three-dimensional head. Its ears moved; its eyes looked around. Eyebrows and mouth gave it more scope for expression than the original pixels could manage.
Playing the same animation clips over and over would have made those movements predictable. Instead, the Windows character turned to procedural animation, with algorithms generating its motions.
Halls's explanation of the animation describes controlled randomness. A movement could end near a target rather than at exactly the same spot each time. Its speed varied as well, and so 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. 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
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 described a working Pushover connection, IFTTT supplying the 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.
Checking a screen for those messages was unnecessary. You could hear them.
A voice with a face
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. In the later Windows project, it could be the voice announcing rain or greeting someone arriving home.
The early screenshots still repay a look. It is plainly a face made of pixels, yet a former user remembered a companion. Quite a result, for a moose that told jokes. |