![Page 2: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/2.jpg)
Web of Everything
● Incorporates a very wide range of devices
● Physical world of sensors and effectors
● Access to local and remote capabilities
● Autonomous agents that act upon behalf of their users
![Page 3: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/3.jpg)
Ubiquitous Web
Exploiting Web technologiesto make it much easier to build
distributed multi-device applications
![Page 4: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/4.jpg)
Web Mindset
● Markup● Events● Scripting● URI's and HTTP● Moving away from the client/server model● Access to local and remote capabilities● Hiding messy details of messaging protocols● Trust, identity, privacy and security
![Page 5: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/5.jpg)
Increasing use of mobile devices
![Page 6: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/6.jpg)
Increasing variety of devices
![Page 7: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/7.jpg)
Web Browser
AdaptationServer The Web
URI
DeviceDescr.
DesktopPage
URI
AdaptedPage
Lack ofSemantics
Re-purposing Existing Content
![Page 8: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/8.jpg)
DeviceIndependent
Content
application
page-basedadaptation
process
selection oradaptation
rules
WebServer
Browser
Web Page URI
deliverycontext
adaptedcontent
Device Independent Content
DIAL – Device Independent Authoring Language (XHTML+XForms+CSDI)
![Page 9: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/9.jpg)
Device Independence meets Ajax
● Strict separation of content and presentation make it easier to adapt to specific devices
● Selecting content based upon device characteristics to match end user needs
● Trend towards more interactive web pages● Ajax and scripting for richer behavior
– using HTTP from scripts without reloading page– dynamic manipulation of markup and styling– But client-side script acts on transformed markup
● Authors need declarative treatment of behavior
![Page 10: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/10.jpg)
High level Application Model
Device Dependent Application Model
Client Components Server Components
deliverycontext Policies
web pagesInteractionManager
Higher Level Application Models
![Page 11: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/11.jpg)
Policy based adaptation
● Interpret high level models in terms of lower level goals suitable for a given delivery context– Models describe application flow across pages– Goals dictate required content, behavior and styling– Combination of client and server side components
● Working around device/browser limitations– Recipes for modifying style sheets to work on
particular devices– Recipes for assembling scripting modules to
address desired behavior
![Page 12: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/12.jpg)
Declarative Web Application Models
● Plan to organize a W3C workshop in 2007● Bring together practitioners to discuss use
cases, requirements, solutions and research directions
● Location and date to be decided
![Page 13: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/13.jpg)
Multimodal Interaction
Enabling people to choose howthey interact with Web applications
![Page 14: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/14.jpg)
ModalityComponent
ModalityComponent
User InteractionVisual, Aural, Tactile
Multimodal Architecture
InteractionManager
EventsEvents
![Page 15: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/15.jpg)
SCXML(State machine)
XHTML(Visual/Tactile)
VoiceXML(Aural)
EventsEvents
User InteractionVisual, Aural, Tactile
Data
Multimodal Architecture
![Page 16: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/16.jpg)
SCXML(State machine)
XHTML(Visual/Tactile)
Semantic Events
AbstractionLayer
XHTML Events
Modality specific
Modality independent
Local or Remote
Abstraction layer for Events
![Page 17: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/17.jpg)
XHTML(Client side DOM)
AbstractionLayer
Server side(virtual DOM)
UI events
REX – an XML grammar for serializing DOM events
● Remote event listeners
Mutation events
● Remote event dispatch
REX for Distributed Components
REX = Remote Events for XMLDOM = Document Object Model
![Page 18: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/18.jpg)
Listening for external events
● HTTP - synchronous request/response pairs● Allows web page to send events to server● But how does the server send events to the
web page?● NAT and Firewalls block access to device
– Outgoing connections okay, incoming are not– Problem for SIP, Web Services, etc.
● Possible workaround using HTTP and long lived connections
![Page 19: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/19.jpg)
Is this a hack?
● Device sends HTTP POST Request with content type as application/rex+xml
● Server sends HTTP Response headers with content type as application/rex+xml
● Both parties then use HTTP chunked transfer encoding to send events over long lived connection as and when needed
● HTTP server acts as proxy for passing events between devices
● Works through NAT/Firewalls
![Page 20: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/20.jpg)
Alternatives
● GSM networks and SMS– Phone-based applications register for SMS
message types– Good for infrequent events where latency isn't a
priority● SIP events
– Use of SIP to carry presence info over SIP– Part of 3GPP's IP Multimedia Subsystem (IMS)– Relies on proxies to operate through NAT/Firewalls
● Other specific standards, e.g. PictBridge
![Page 21: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/21.jpg)
Web Agents
Evolving beyond the browser/website paradigm
![Page 22: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/22.jpg)
hidden messaging layer
DOM proxies for accessing services
DOMscript
Internet
DOM Object
TargetEvent
Event Listener
DOMscript
DOM Object
TargetEvent
Event Listener
DOM – XML Document Object Model
Device Device
![Page 23: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/23.jpg)
Client or Server?
DOMscript
Client
DOMscript
Server
Internet
![Page 24: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/24.jpg)
Client or Server?
DOMscript
Agent
DOMscript
Agent
Internet
Agent combines client and server
![Page 25: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/25.jpg)
Proxies
DOMscript
Agent
DOMscript
Agent
Internet
Proxy
NAT or Firewall
![Page 26: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/26.jpg)
Public vs Private
DOMscript
PrivateAgent
NAT or Firewall
DOMscript
PublicAgent
DOMscript
PublicAgent
NAT or Firewall
DOMscript
PrivateAgent
Phone or Laptop
Phone or Laptop
Large Website
Large Website
![Page 27: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/27.jpg)
Autonomous Web Agents “WBOTS”
● Combination of markup and scripting● Act on behalf of and controlled by users● May run on mobile devices or large servers● Provide particular services, e.g.
– Downloading news overnight for viewing in morning– Providing your trusted friends or colleagues with
information about your location and activity– Determining whether to let your phone ring or
directing the call to voice mail depending on who is calling, time of day, your location, calendar etc.
WBOTS – pronounced as wuh-bots
![Page 28: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/28.jpg)
Autonomous Web Agents “WBOTS”
● Wbots can provide services on behalf of users when the user is busy, sleeping, or just out of immediate contact
● You can't be “online” all the time, but your wbots can, and they never get tired!
● Users grant wbots with controlled access to device capabilities and external services– e.g. access to persistent storage, calendar, ...
● Users determine who can access services provided by their wbots
![Page 29: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/29.jpg)
Trust, Identity, Privacy and Security
● Lots of problems– Having to remember a zillion passwords is a
nightmare– Privacy – what privacy?– Fears of hackers, phishing and identity theft
● Ubiquitous Web applications will be dependent on finding better solutions
● Declarative techniques for trust and identity– SAML and Semantic Web– Federated Identity
![Page 30: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/30.jpg)
Wbots in the home
● Providing access and control over– heating, lighting, and monitoring usage of utilities
such as electricity, water, gas, internet, ...● Tracking freshness of food in refrigerator
– RFID for identity and sensors such as temperature● Tracking where things are around the home
– Mom, where did I leave the ...● Media appliances
– Music, video, photo's, television, ...
Plenty of other opportunities for use in cars, trains, planes, offices, factories, hospitals, schools
![Page 31: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/31.jpg)
Supervisor wbots
● A special class of wbots that launch other wbots based upon particular events
● Launched when the device/server starts up● Monitor behavior of other wbots● Control access to services● As an example, your phone might start the
markup engine (formerly known as the “browser”) along with a top-level supervisor wbot
● This listens for SMS messages and launches other bots as appropriate
![Page 32: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/32.jpg)
Device Coordination
Finding and binding to servicesin the context of an application session
![Page 33: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/33.jpg)
Examples of Services
● Device capabilities, e.g.– audio capture and playback– embedded camera– ability to initiate a phone call– persistent storage– calendar, address book, personal preferences, ...
● Speech synthesis and recognition– using embedded or remote speech engine
● Geographic location
“service” is used loosely for anything that Web applications might want to make use of
![Page 34: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/34.jpg)
Service Discovery
● Name service or describe its characteristics– URI for service or service description– Description in content for XML element that will act
as DOM proxy for the service● Discovery mechanism may be implicit
– Provided by run-time environment, e.g. UPnP● Discovery mechanism may be explicit
– Provided by a Web server– Based upon external description of service
![Page 35: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/35.jpg)
Binding to a Service
● May be restricted and based upon proving membership of appropriate ACL– Issues of trust, identity, privacy and security
● Signalled by DOM event● Binding in context of application session● Session as service in its own right
– Temporary sessions– Long lived sessions, e.g. meeting rooms– Access to “who” is participating in the session– Notifications when participants enter or leave
![Page 36: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/36.jpg)
Binding in today's browsers
● HTML Object element– Naming a control via a MIME type
● e.g. application/x-shockwave-flash– Naming a control via a GUID
● Typically used on Windows● Relies on Windows Registry for version control
● Loading a named ActiveX object by a script– new ActiveXObject("Microsoft.XMLHTTP")
● Loading objects via XPConnect in Firefox– Components.classes[cid].createInstance()
![Page 37: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/37.jpg)
Binding woes
● Current solutions generally specific to a given browser/platform
● Emergence of proprietary extensions– e.g. Opera Platform (for mobile devices)
● Lack of standards for common capabilities– e.g. to play/pause/resume/seek audio and video
● Ajax isn't the solution– Exposes pain of messaging protocols– Doesn't provide access to device capabilities
![Page 38: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/38.jpg)
DCI
● W3C Framework intended for accessing user preferences, device capabilities and environmental factors
● Exposed as hierarchy of DOM Nodes– For example, display characteristics, playback
volume level, memory size, geographical location, battery level, network availability, etc.
● Nodes may support additional interfaces for accessing services, e.g. dimming display, or muting microphone
DCI – Delivery Context Interface
![Page 39: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/39.jpg)
What's needed?
● Interfaces for accessing services from web scripts– DCI is a relevant framework– Need standards for common services– Need standards for discovery and binding
● Descriptions that can be used for discovery and adaptation purposes– Semantic Web technologies like Ontologies
● Policies for discovery and binding– Need standards for describing them
![Page 40: The Ubiquitous Web - World Wide Web Consortium · 2006-09-15 · The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org. Web of Everything](https://reader034.vdocuments.mx/reader034/viewer/2022042306/5ed1c21535bfca206537bd0e/html5/thumbnails/40.jpg)
The Ubiquitous Web
Questions?