The Ubiquitous Web. Dave Raggett (W3C/Volantis) CE2006, 19 September Contact:

Similar documents
The Ubiquitous Web. Dave Raggett, W3C Technical Plenary, March /14

Using Declarative Models in Multi-device Smart Space

Web & Automotive. Paris, April Dave Raggett

Towards the Web of Things

Collaborate App for Android Smartphones

Component Model for Multimodal Web Applications

Collaborate App for Android Tablets

A NOVEL MECHANISM FOR MEDIA RESOURCE CONTROL IN SIP MOBILE NETWORKS

Cisco Unified Personal Communicator Release 8.5

Layered UI and Adaptation Policies for Ubiquitous Web Applications

TDS managedip Hosted Android User Guide for managedip UC

CommPortal Communicator Desktop End User Guide 19 Feb 2014

Communicator for Android. User Guide. Release 21.3

Frequently Asked Questions

Model-Based UI W3C XG

Bell Aliant Total Office Quick Reference Guide.

Amigo Symposium 28 February 2008

SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions Used by CM-IMP. XMPP (extensible Messaging and Presence Protocol) Used by CM-IMP

Getting Started with Skype PSTN Calling Placing a call

For more information about the Cisco Jabber suite of products, see

Using the Semantic Web in Ubiquitous and Mobile Computing

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.

Applying Semantic Web in Mobile and Ubiquitous Computing: Will Policy-Awareness Help?

Voyant Connect User Guide

White Paper Subcategory. Overview of XML Communication Technologies

Integration Test Plan

Attending a Meeting. Tips for Attending a Meeting

Tizen Framework (Tizen Ver. 2.3)

1 Introduction. 2 Web Architecture

Vodafone One Net app Quick Start Guide For PC

Unified Meeting User Guide

AJAX Programming Overview. Introduction. Overview

Quickstart Guide to Setup your Zoom Account To start, visit the USF Zoom site:

Vodafone One Net app Quick Start Guide For iphone

A Convedia White Paper. Controlling Media Servers with SIP

Multi-modal Web IBM Position

Managing your PBX- Administrator

IoT Standards Ecosystem, What s new?

Virtual Communications Express User Guide Desktop Softphone

Vodafone One Net app Quick Start Guide For PC

Mobility and Media. How mobile computing is evolving at HP. Mark Smith Mobile and Media Systems Lab Hewlett Packard Laboratories

A network is a group of two or more computers that are connected to share resources and information.

Rich Web Application Backplane

Avaya one-x Mobile User Guide for Palm Treo

Vodafone One Net app Quick Start Guide For iphone

SASKTEL INTEGRATED BUSINESS COMMUNICATIONS (IBC)

Multi-Modal Browser Architecture

Vodafone One Net app Quick Start Guide For Android phone

Polycom Converged Management Application (CMA ) Desktop for Mac OS X. Help Book. Version 5.0.0

Key differentiating technologies for mobile search

Lesson 14 SOA with REST (Part I)

P2PSIP, ICE, and RTCWeb

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Grandstream Networks, Inc.

Skype for Business Mobile Client Comparison Guide

Date: June 27, 2016 Name of Product: Cisco Unified Customer Voice Portal (CVP) v11.5 Contact for more information:

High Level Interoperability Testing

Requirements. System Requirements

Unified Meeting User Guide

W3C Web of Things. Mohammed Dadas - Orange

managedip HOSTED ANDROID TABLET

Attending a Meeting. Tips for Attending a Meeting

ISA 767, Secure Electronic Commerce Xinwen Zhang, George Mason University

Office Communicator for iphone. User Guide. Release

SASKTEL INTEGRATED BUSINESS COMMUNICATIONS (IBC)

M.SARAVANA KARTHIKEYAN

The Web of Things. Breakout session on service descriptions. Dave Raggett, W3C 1/27

CS WEB TECHNOLOGY

3GPP TS V ( )

MTS Hosted Unified Business Personal Communicator User Guide

REST Easy with Infrared360

Studio 5.5. User Manual

Copyright and Trademark Information Trademarks Disclaimer; No Warranty

Vodafone One Net app Quick Start Guide For Android tablet

Vodafone One Net app Quick Start Guide For Android tablet

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007

OpenTouch Conversation for iphone

PBX Data Sheet. Version 2.0. Product categories

Chat and Instant Messaging

Frequently Asked Questions

All contents are Copyright Cisco Systems, Inc. All rights reserved.

OpenTouch Conversation for iphone

STUDIO 7.0 USER MANUAL

Lesson 12: JavaScript and AJAX

Thank you for purchasing your new Moochies Watch. We hope you, and more importantly your kids will love it as much as we did creating it.

CMA BROWSER. User guide. The private use of Telia s Visual Communications on a computer, smart device and browser

Web 2.0, AJAX and RIAs

Avaya one-x Mobile User Guide for Palm Treo

Modularization of Multimodal Interaction Specifications

Minnesota Microsoft Unified Communications User Group Welcome! March 26, 2009

IM&P Business Communicator Customer Manual - Mobile 11/24/2015

Note: This document describes normal operational functionality. It does not include maintenance and troubleshooting procedures.

Quickstart Guide to Setup your Zoom Account To start, visit the USF Zoom site:

SmartBuilder Section 508 Accessibility Guidelines

Position Statement for Multi-Modal Access

Configure Basic Firewall Settings on the RV34x Series Router

A short introduction to Web Services

INTRODUCTION TO HTML5! HTML5 Page Structure!

Recommendations for Improving Device Independent Presentation Authoring. Krishna Vedati. Fast. Forward. Wireless.

Commercial in Confidence. Operation Manual. For TCP/IP with SIP Digital (700) System The Seasons Series. Indoor Monitor

Transcription:

The Ubiquitous Web Dave Raggett (W3C/Volantis) CE2006, 19 September 2006 Contact: dsr@w3.org

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

Ubiquitous Web Exploiting Web technologies to make it much easier to build distributed multi-device applications

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

Increasing use of mobile devices

Increasing variety of devices

Re-purposing Existing Content Device Descr. Web Browser URI Adapted Page Adaptation Server URI Desktop Page The Web Lack of Semantics

Device Independent Content Web Page URI delivery context selection or adaptation rules application Browser Web Server page-based adaptation process Device Independent Content adapted content DIAL Device Independent Authoring Language (XHTML+XForms+CSDI)

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

Higher Level Application Models High level Application Model delivery context Policies Device Dependent Application Model Client Components Server Components web pages Interaction Manager

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

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

Multimodal Interaction Enabling people to choose how they interact with Web applications

Multimodal Architecture Interaction Manager Events Events Modality Component Modality Component User Interaction Visual, Aural, Tactile

Multimodal Architecture SCXML (State machine) Data Events Events XHTML (Visual/Tactile) VoiceXML (Aural) User Interaction Visual, Aural, Tactile

Abstraction layer for Events SCXML (State machine) Semantic Events Modality independent XHTML Events Abstraction Layer Modality specific Local or Remote XHTML (Visual/Tactile)

REX for Distributed Components REX an XML grammar for serializing DOM events Remote event listeners Remote event dispatch UI events XHTML (Client side DOM) Abstraction Layer Server side (virtual DOM) Mutation events REX = Remote Events for XML DOM = Document Object Model

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

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

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

Web Agents Evolving beyond the browser/website paradigm

DOM proxies for accessing services DOM script DOM script Target Event Event Listener Target Event Event Listener DOM Object DOM Object hidden messaging layer Device Device Internet DOM XML Document Object Model

Client or Server? DOM script DOM script Client Server Internet

Client or Server? Agent combines client and server DOM script DOM script Agent Agent Internet

Proxies NAT or Firewall DOM script Agent Proxy DOM script Agent Internet

Public vs Private NAT or Firewall NAT or Firewall DOM script DOM script DOM script DOM script Private Agent Public Agent Public Agent Private Agent Phone or Laptop Large Website Large Website Phone or Laptop

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

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

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

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

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

Device Coordination Finding and binding to services in the context of an application session

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

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

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

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()

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

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

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

The Ubiquitous Web Questions?