1
Ubiquitous Web Applications
Dave Raggett, W3C
September 2007 Contact: dsr@w3.org
Ubiquitous Web Applications Dave Raggett, W3C September 2007 1 - - PowerPoint PPT Presentation
Ubiquitous Web Applications Dave Raggett, W3C September 2007 1 Contact: dsr@w3.org Why Standards? Standards are expensive and time consuming to create, why bother? Large and small companies may feel they can just develop their own
1
September 2007 Contact: dsr@w3.org
2
3
– Initial project proposal in 1989 to CERN
4
5
6
7
8
9
10
– Big colourful high resolution screen – High speed connection – Mouse pointer and full sized keyboard
11
12
13
14
DOM script Agent Website
remote
Gateway Uses power line for network connection UI for Heating control
15
– end user purchases complete solution – single vendor and single product generation
– e.g. Pictbridge as solution for printing direct from
– Traditional programming languages like C++ and Java
– Web technologies will make applications easier and
16
– Bringing together interested parties to work on
– Careful consideration for versioning to ensure that new
17
– Launched 30 March 2007 – Successor to former Device Independence WG – Broadened focus on Ubiquitous Web Applications
– can hold meetings in local language, e.g. Japanese – meeting summaries and technical specs in English
– publish approved meeting summaries and approved
18
– XML + Events + RDF + Object Model
– descriptions, binding and use of capabilities – support for rich meta-data and trust delegation
– coupling devices and support for remote user interfaces
– policy-based content adaptation to match the delivery
19
– e.g. XHTML/SVG + ECMAScript
– e.g. SCXML (StateChartXML)
– Device has script engine + library of objects
20
21
– audio capture and playback – embedded camera – ability to initiate a phone call – persistent storage – calendar, address book, personal preferences, ...
– using embedded or remote speech engine
“service” is used loosely for anything that Web applications might want to make use of
22
– Input a service name or description – Output an object that proxies for the service
– Issues of trust, identity, privacy and security – Usability issues, e.g. asking user for decision
– Is it okay to send location to web app? – Is it okay to grant access to camera?
23
– URI for service or service description – Description as content for XML element that will act
– Provided by run-time environment, e.g. UPnP
– Provided by a named Web server – Based upon external description of service
24
– Attribute that names service/capability as a URI – Or URI for reference to external description – Or content markup as description – When binding is complete, raises binding event – Or error event if binding fails if access is denied
– Another event when resource is unbound
25
– For example, display characteristics, playback
– Nodes may support additional interfaces for
– Nodes act as proxies for accessing capabilities
DOM = Document Object Model
26
hidden messaging layer
DOM script Internet DOM Object Target Event Event Listener DOM script DOM Object Target Event Event Listener DOM – XML Document Object Model Device Device
27
DOM script Client DOM script Server Internet
28
DOM script Agent DOM script Agent Internet Agent combines client and server
29
– Each device acts as client and server
30
DOM script Agent DOM script Agent Internet Proxy NAT or Firewall
31
DOM script Agent DOM script Agent Internet Proxy NAT or Firewall
STUN and other techniques
32
DOM script Agent DOM script Agent Proxy NAT or Firewall
NAT or Firewall
33
DOM script Private Agent NAT or Firewall DOM script Public Agent DOM script Public Agent NAT or Firewall DOM script Private Agent
Appliance, Phone or Laptop Appliance, Phone or Laptop Large Website Large Website
34
– Need standards for common services – Need standards for discovery and binding
– Semantic Web technologies like Ontologies
– Need standards for describing them – Cover security and privacy considerations
35
– Interaction Manager (IM)
– rich UI: mobile phone or remote + flat screen display – simple UI with buttons and indicator
36
Browser Slave DOM Tree Master DOM Tree (possibly virtual) UI events An XML grammar for serializing DOM events
listeners Mutation events
dispatch
DOM = Document Object Model Application script or SCXML Event handers that update the DOM User interaction
37
– Runs as agent
38
SCXML (State machine) XHTML (Visual/Tactile) Semantic Events Abstraction Layer XHTML Events Modality specific Modality independent Local or Remote
39
40
– browsers vary in details of scripting support, CSS bugs,
– variations in display size, fonts, kinds of buttons,
41
– authoring format is freed from browser restrictions – high level events in place of low level scripts
– what layout, images, style sheets, scripts, etc. – skinning apps as combo of markup, CSS, script
– e.g. generate HTML4 if appropriate – split content for low memory devices – exploit client APIs for rich web apps (e.g. Ajax)
42
43
– enabling applications across multiple devices – content adaptation for multi-channel delivery
– http://www.w3.org/2006/10/uwa-charter.html – chair: Dave Raggett <dsr@w3.org> – team contact: Stéphane Boyera <boyera@w3.org>
44
– http://www.w3.org/2007/02/dmdwa-ws/
– Capturing author's intentions – Abstract versus Concrete UI's – End to End models – Policies for adaptation to specific devices – Compositionality – Richer metadata for capabilities/services
45