|
|||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
A Short History of Novelty SoftwareIn 1986, a Macintosh could have a moose on its screen. He spoke aloud, moved his mouth to match the words and told jokes. 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. 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?It came down to the antlers. Pictures of the original Talking Moose show a two-dimensional Macintosh character. With little room for detail, its outline had to do much of the work. Antlers, Halls recalls, were easy to make out at a small size. Liking moose himself settled the matter. Halls wrote the original program in assembly language. Getting the lips to track the speech required some cleverness. As Halls recalls, the program located Macintalk, the Macintosh speech engine, in memory. It observed information about the sound being played, then adjusted the Moose's mouth shape to suit. None of this altered the speech engine's memory. It was the Moose that did the watching. In those days, Macintosh software could access memory across applications, something 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 seemed to know something about your work was responding to information on your own computer. Its behavior was programmed, without a language model behind the face. The Color YearsBy around 1989, the Moose had acquired color. A picture of that version, printed with an early Macintosh color printer, hung on Halls's wall. Scans in his color Moose account still show the printing dots. 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. Mike Ellis, in a letter published in 2016, 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." That letter sits among other recollections that were sent to Halls. Decades after using the software, people still remembered the character well enough to write to its maker. Making a Three-Dimensional Head Feel AliveThe later Windows Moose had a three-dimensional head. Its ears moved; its eyes looked around. More expression came from its eyebrows and mouth than the original pixels could manage. Playing the same animation clips over and over would have made those movements predictable. Instead, the Windows character used 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 stopped the result from looking mechanical. A different platform meant a different lip-sync mechanism. 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 SayThe Moose kept its jokes, but plugins added other things for it to talk about. To reminders and notifications were added news and weather. A working Pushover connection appeared in a June 2016 update, with events for the Moose to announce supplied by IFTTT. In one example, the Moose warned of approaching rain. A phone entering a home geofence triggered a spoken "Welcome home" on the user's PC in another example. You did not have to keep checking a screen for those messages. Hearing them was enough. A voice with a faceBetween 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. Enough to make a joke seem to come from an antlered companion were speech synthesis and carefully written animation code. For Mike Ellis, that companion belonged to his Mac Plus. The later Windows project could make it the voice announcing rain or greeting someone arriving home. Those early screenshots are still worth a look. It is plainly a face made of pixels, yet a former user remembered a companion. That is quite a result for a joke-telling moose. |
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||