Stefan Marti Speech Interface Group MIT Media Lab
Stefan Marti
Speech Interface Group
MIT Media Lab
What We All WantWhat We All Want
The ultimate communication device!
Universal, has everything built inWorks everywhere, anytimeLong range, never runs out of battery,
etc
Solution?Solution?
The CommBadge!
FOR MORE INFO...
Please watch the TV show Star Trek.
Above model will be available at around 2364…
Instead: Current SolutionInstead: Current Solution
Cellphones, pagers, other cellphones, more pagers, wireless PDAs, etc.
Actually, there’s even more…Actually, there’s even more…
Fax machines, wired phones, desktop computers, etc.
Why this variety?Why this variety?
We don’t have the technology to pack everything into one device (will change in the future)
Smallest devices will never be universal (wrist, finger ring, ear ring)
AND: No one device fits all situations!
Our Solution!Our Solution!
Something that integrates all our existing communication channels and devices:
Active Messenger (AM) is a kind of agent software that deals with a user’s incoming email
AM manages this user’s communication channels
AM is used by two users for two years now
AM guarantees the delivery of messages
AM modifies its filtering and forwarding rules depending on which devices are being used and current location of user
Related DocumentsRelated Documents
Main feature that makes it better than other solutions: it can wait!
Scenario: What happens when an email message arrives?Let’s assume the following “channel sequence”:
• wait 10 minutes, send to Pager• wait 13 minutes, send to Voicepager• wait 13 minutes, send to Phone• wait 35 minutes, send to Fax
Monday 6:50am 7:00am 7:10am 7:20am 7:30am 7:40am 7:50am 8:00am
Ok to usePager: anytime
Voicepager: not 0-7
Phone: not M-F 22-8
Fax: not 2-7:30
6:57am arrival of message
send to Pager10 minutes
send to Voicepager13 minutes
Ok to use
send to Phone
13 minutes
User reads message!
35 minutes
Ok to use
NOT ok to use!
done!
done!
skip it!
send to Faxcancel!
How Does It Work?How Does It Work?
How does AM choose specific “channel sequences”?
AM solves the routing and forwarding problem using context information.
Context SensitivityContext Sensitivity
1. User location Where is the user?
2. Message priority How important is message?
3. Message history Is this message part of thread?
4. Message status Was the message read?
5. Channel status Which channels are active?
User LocationUser Location
Where is the user?
Most devices are not location aware
Obvious: AM keeps track of user with caller ID information and UNIX “finger” command
AM also infers from user behavior: From which channel did she communicate most recently?
Soon: cell trilateration, other tracking options like GPS. (Will make AM just more accurate.)
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Message PriorityMessage Priority
How important is a message?
Complex problem – almost philosophical. What is really important in my life?
Anyways: Certain people are important, certain facts too:
Static rules
AM uses other information sources, like user’s calendar, address book, and communication history:
Dynamic rules, created by CLUES
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Message HistoryMessage History
Is the message part of a thread?
Instead of sending a message to a sequence of channels, pick the channel it originates from.
This assumes that the message is part of a thread, going back an forth, perhaps a kind of semi-synchronous communication.
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Message History, cont.Message History, cont.
Usually: Channel sequence
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Option: Association of channel with thread
Message statusMessage status
Is message read?
When message is read, job is done!
Usually not enough feedback from devices
BUT: User’s behavior could give a hint!
Message read level is not binary (yes/no), but a continuum, a “probability level” between 0% and 100% (85% is enough usually.)
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Channel StatusChannel Status
Which channel is active?
AM continuously checks all peripheral systems if they are working
It skips channels and devices that seem to be not working
Again, it uses back channel information from user
1. User location
2. Message priority
3. Message history
4. Message status
5. Channel status
Summary of AM FeaturesSummary of AM Features
Context information is used to solve the routing and forwarding problem
Behavioral heuristics are applied to enhance unclear context information
AM has a temporal dimension: It can wait for user reactions and other events to happen
Stefan Marti and Chris Schmandt{stefanm|geek}@media.mit.edu
Speech Interface Grouphttp://www.media.mit.edu/speech