Monday, August 02, 2004
art, system architecture, and the "problem" of too few contraints
During the past week in Boston, John managed to learn VoiceXML, write some test scripts, and build a mini web server (GET server, really) on top of the core of train system state and application management that he already had running on a PC. Very cool!
We've worked out a basic architecture, where the PC which actually does control of the trains via relay cards also acts as the application server for the voice scripts to the Plum Voice browsers. So there's no intermediate data store required and it should be simple to deploy on site in an un-wired installation. We'll need two boxes: one PC running windows to do the train control and all of the application logic, and one box running linux and the Plum voice system to take care of all of the telephony and voice interface.
So the guts of the technology are pretty much in place. Now comes the fun part, figuring out what to do with these new capabilities:
Too many possibilities!
We've worked out a basic architecture, where the PC which actually does control of the trains via relay cards also acts as the application server for the voice scripts to the Plum Voice browsers. So there's no intermediate data store required and it should be simple to deploy on site in an un-wired installation. We'll need two boxes: one PC running windows to do the train control and all of the application logic, and one box running linux and the Plum voice system to take care of all of the telephony and voice interface.
So the guts of the technology are pretty much in place. Now comes the fun part, figuring out what to do with these new capabilities:
- Multiple users simultaneously on the system.
The old system supported two people at a time. One person - one train. With the new system, four simultaneous is a given. In a networked installation, where we could run the telephony remotely at the Plum data center, 24 or 48 or more simultaneous users are possible. What the heck do we do with that? How many different drivers or other interactive roles can we have in a way that's engaging, understandable, and true to the artistic aims? - Recording, Speech Recognition, Text to Speech synthesis.
We can record audio input from the user and have incorporate that into the interface for them and others. We can replace button presses with voice commands. We can have content for the voice system generated on the fly.
Too many possibilities!
