The History of Comedy

By 1986, a moose could appear on a Macintosh screen. He spoke aloud, moved his mouth to match 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. It didn't take many pixels to give this one a personality.

Today, talking computers usually bring up questions of artificial intelligence. 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 pick a moose?

Antlers played a part.

The original Talking Moose appears in pictures as a two-dimensional Macintosh character. Since there was little room for detail, much of the work fell to its outline. Halls recalls that antlers were easy to recognize at a small size. He also liked moose, which settled the choice.

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 watched information about the sound being played, then adjusted the Moose's mouth shape accordingly.

None of this altered the speech engine's memory. The Moose was simply watching it. Early Macintosh software could access memory across applications in ways that modern operating systems generally restrict.

With that access, the character could comment on window and document names in applications users knew well. A Moose that appeared to know something about your work was reacting to information on your own computer. No language model stood behind the face; its behavior was programmed.

The Years in Color

By around 1989, the Moose had acquired color. Halls kept a picture of that version on his wall, 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.

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:

"Some of the cleverest developers I've ever known admired him widely, and he became my constant companion on my Mac Plus."

That letter sits among other recollections sent to Halls. Decades after using the software, people still 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.

Repeating the same animation clips would have made those movements predictable. Algorithms generating its motions gave the Windows character procedural animation instead.

Halls's account of the animation describes controlled randomness. 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. Smooth acceleration and deceleration kept the result from looking mechanical.

The lip-sync mechanism changed with the platform. On Windows, timing information from Microsoft's Speech API told the character which mouth shapes to use. The old Macintalk memory-observation technique did not need to be recreated.

Something useful to say

Jokes remained part of the Moose, but plugins gave it other things to talk about. News and weather joined reminders and notifications.

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

There was no need to keep checking a screen for those messages. You could simply hear them.

A Voice with a Face

Forty years stand between the original Moose's 1986 appearance and today's enthusiasm for AI assistants. 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 sufficed to make a joke appear to come from an antlered companion.

For Mike Ellis, that companion belonged on his Mac Plus. The later Windows project could make it the voice announcing rain or greeting someone arriving home.

Looking at the early screenshots is still worthwhile. 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.