Presentation on theme: "Markup as a Framework for App Interaction Jonathan Rosenberg."— Presentation transcript:
Markup as a Framework for App Interaction Jonathan Rosenberg
Whats the Idea? General problem is to provide stimulus input to network applications Stimulus signaling has two aspects –A display to guide the stimulus –A way to collect the stimulus and send it to the application –May not be a display (black phones) Markup languages (HTML, WML, VoiceXML) are targeted at this functionality
Basic Flow UAC sends INVITE Apps return 183s with App-Info header –Contains an HTTP URI for fetching markup Caller fetches markup –Can use CC/PP to handle UI variations –Fetches from each app Renders/executes markups Input POSTed to URI in markup –May fetch more markup Caller App1 App2 INV 183 App-Info HTTP GET HTTP POST
Two Different UI UI with displays –Each App has its own pop-up window –Each app has its own subset of buttons on a phone Allows correlating stimulus with a specific app UI without displays –Black phones, DTMF collection –Hookflashes, display- less keys (F1, F2, etc.) Input not correlated with a specific app
Handling Display-less UI Example: DTMF Define DTMF Markup Language (DML) –Basically MGCP digit maps –Matching a digit map causes HTTP POST to URI specified in DML Multiple DML machines running in parallel, one for each app Can expand or contact scope of DML as needed
Benefits of this Framework Supports a vast array of devices under same model –PCs, wireless phones, virtual reality I/f, etc. Treats display-less UI as a subset of general case Simple for simple devices –Barebones HTTP and trivial XML Allows for reuse of existing w3c work in this area –HTML, VoiceXML, CC/PP Provides a sane model for involving multiple applications –Separate virtual UI – screen pops, dividing button real estate, etc.
Open Issues Do we want a general framework for this, or should we focus on DTMF/key-events Tease out virtual UI model – going to be markup specific –Obvious for HTML –Scary for VoiceXML –DML – next slide What is the scope of DML? –DTMF only –DTMF with extra data (durations, frequency, etc.) –General keys (real problem or not?) –Switches, rockers, etc. Do we want to specify a markup for display- capable phones? –Array of buttons? –Others?
DML Issues How to handle multiple DML docs? –Fork DTMF to each? –Prioritize them, define pass-through models –Prioritize them, highest consumes until it terminates –Others? How to prioritize them? What are the models for passing through?