Presentation in the W3C track at WWW'9 Amsterdam: Device Independent Web Session, Tuesday, May 16, 2000
Device independence – dream or reality?
Visual and Aural Web pages
What can the device tell you about itself?
Role of content transformation
The importance of dialog
Separating presentation, data and logic
Where next?
Developing content separately for each class of devices
Write once, view anywhere?
Lowest common denominator approach
Exploit each device to best effect!
Making life easy for authors
Customized Front-end, Shared back-end
Desktop pages offer navigation, banner ads, form filling and branding through rich graphical content, along with animation and streaming multimedia
Cell-phones with tiny displays and payment by connection time or packet count offer “challenges” to Web designers and service providers
Mobility brings its own advantages
New skills are needed for aural Web pages
Clicking on a link, filling in a form, is a request for information
When using a mobile device, you want a precise answer to your question - not an advertisement
The more context you can give your question, the more precise it can be answered
is this an authorised user | what do my friends think of the same thing | |
How long until my next appointment, including how long to get there from here | Before the next meeting, put the latest financial figures and news items about people in the room | |
No calls now, I am in a meeting Hello beautiful, here's my phone number |
what is relevant on the screen where am I? |
The scroll and click paradigm
Information bottlenecks
Visual dialog for small displays
Aural dialog for IVR
The future is multi-modal (point & speak, show & tell)
Voice recognition makes it easier to enter text on cell-phones and palm-tops
Voice Dialogs
Application and user take turns to speak
Form filling metaphor
Prompt user for each field in turn using synthetic speech and prerecorded audio
Use speech grammars to interpret what user says
Offer help as needed
Submit completed form to back-end server
Links to other “pages”
Break out to scripting as needed
C (computer): Welcome to the weather information service. What state? H (human): Help C: Please speak the state for which you want the weather. H: Georgia C: What city? H: Tblisi C: I did not understand what you said. What city? H: Macon C: The conditions in Macon Georgia are sunny and clear at 11 AM …
<form id="weather_info"> <block>Welcome to the weather information service.</block> <field name="state"> <prompt>What state?</prompt> <grammar src="state.gram" type="application/x-jsgf"/> <catch event="help"> Please speak the state for which you want the weather. </catch> </field> <field name="city"> <prompt>What city?</prompt> <grammar src="city.gram" type="application/x-jsgf"/> <catch event="help"> Please speak the city for which you want the weather. </catch> </field> <block> <submit next="/servlet/weather" namelist="city state"/> </block> </form>
Device capabilities
Hardware, software, modalities, …
Personal preferences
No images please!
Platform for privacy preferences
Site privacy policy
CC/PP and P3P
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:prf="http://www.w3.org/TR/WD-profile-vocabulary#"> <rdf:Description about="HardwarePlatform"> <prf:Defaults Vendor="Nokia" Model="2160" Type="PDA" ScreenSize="800x600x24" CPU="PPC" Keyboard="Yes" Memory="16mB" Bluetooth="YES" Speaker="Yes" /> <prf:Modifications Memory="32mB" /> </rdf:Description> <rdf:Description about="SoftwarePlatform"> <prf:Defaults OS="EPOC1.0" HTMLVersion="4.0" JavaScriptVersion="4.0" WAPVersion="1.0" WMLScript="1.0" /> <prf:Modifications Sound="Off" Images="Off" /> </rdf:Description> <rdf:Description about="EpocEmail1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="EpocCalendar1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="UserPreferences"> <prf:Defaults Language="English"/> </rdf:Description> </rdf:RDF>
As long as there is a one-to-one relationship between request and response, it is more efficient to do transformations of content close to the origin server - because it decreases network traffic.
Transforming content also implies a possibility to filter it - for instance, filter out content that should not be displayed at the mobile terminal, segmenting content in ways that fits the user and the terminal, etc.
Content repository for XML, Scripts, Style sheets, graphics, audio and other media
Templates designed for different devices
Merging templates with content
Simple content transformations using XSLT (e.g. mapping data to list or table)
Using server-side scripts for more complex transformations
CC/PP profiles can be used to select transformation sheets used to create the relevant version of the content.
The transformation can be a filtering dependent on the parameters (not just presentation oriented).
It will not work if you do not use XML as the base format
Separating presentation,data and logic
W3C’s next generation of Web forms
Avoiding need for complex scripting, and presentation hacks
Enables increased accessibility
Application data and back-end processing
Data modeling
Plug-able UI (model-view-controller paradigm)
The role of XML and RPC
Decimal numbers
Monetary values
Dates, Times and Durations
Strings with patterns and/or enumerations
Hierarchically named composite data
Locale dependent variant types
Computed values and other constraints
XHTML – focus on modularization
Progress Modularization to Recommendation
MIME type, event module, fixing
Combining XHTML with other W3C specs
XForms – independent working group?
Split off from HTML working group
Work planned on Data model, UI and Protocol
Voice Browser working group
From Requirements to Specifications
Dialog, Grammars, speech synthesis
NL Semantics and Multi-modal systems
CC/PP working group
Publishing Framework and Vocabulary specifications as working drafts in June, hopefully going to recommendation before Christmas. Interoperability and trust model in the works.
Liaison with WAP Forum, and TV groups
Ongoing relationship (WAP-W3C coordination group, etc.)
Relationship to other W3C work