Declarative Application Models

The Web has been traditionally seen in terms of browsers that download Web pages from Web servers. This begins to break down when faced with devices with widely varying capabilities. A page designed for one device might simply be too large to be loaded by a smaller device, let alone the usability problems presented by small displays or the lack of effective means for text entry. One approach to adaptation is to have the server transform the markup to suit the needs of specific devices. This works well for static markup, but breaks down when the markup changes dynamically under the direction of the server since the changes need to be expressed in terms of the transformed markup. The solution is to model the application at a level that includes both the client and the server.

Application behavior can be described at a number of levels. Doing so makes it practical to adapt lower levels to meet the current needs without changes to higher levels. Behavior can be modelled in a range of ways, for instance, event driven state transition networks and task models that describe what sub-tasks need to be done to complete a given task. Policies can identify and resolve a potentially conflicting set of goals and describe how they can be satisfied. At a more concrete level a server can drive a remote user interface through an exchange of events. The user interface is modeled in XML and UI events are forwarded to the server which in turn sends back DOM mutation events to update the UI.

Trust, Identity, Privacy and Security

The Ubiquitous Web is critically dependent on an effective treatment of trust, identity, privacy and security. For example, which software component can be trusted to safely add a particular capability to a given web browser? Is the particular capability itself safe to use, and am I permitted to use it? How will information on my preferences be handled by a server? Can a printer be trusted to print a confidential document? How can I control who has access to what information about me? This latter point is critical to allowing servers to combine information and services from different sources (mashups).

Kim Cameron's Seven Laws of Identity describe principles that are essential to successful identity systems, for instance, the first law says that digital identity systems must only reveal information with the user's consent, whilst the second law requires limited disclosure for limited use. Effective treatment of identity will be critical to the success of the Ubiquitous Web. This includes consideration of audit trails where required.

Introduction

The Ubiquitous Web is a synthesis of the Web and ubiquitous computing that supports distributed Web applications expressed in terms of markup and scripts, and coupled via an eventing mechanism.

The aim is to make it easier to create distributed applications that are context aware and which dynamically adapt to users, devices and the environment. These applications may involve multiple devices of widely varying capabilities. The Ubiquitous Web will reach out into the physical world of sensors and effectors. Web technologies such as markup and scripting have the potential to simplify the development of applications, providing clean abstractions on top of other technologies. This involves declarative models that encompass clients and servers, and which blurs the distinction between the two. The Ubiquitous Web is coupled to the Semantic Web through the need to describe resources for the purposes of discovery and for trust/identity relationships. This may lead to work on signed RDF.

The Ubiquitous Web hides the details of how events are conveyed between devices, which should be welcome to developers struggling with today's Ajax-based applications. The higher level treatment is also essential for preserving the sandbox security model whilst allowing for eventing between multiple devices. By contrast, Ajax provides low-level access to HTTP, but is limited to the server that the Web page was downloaded from.

Ubiquitous Web, how it relates to existing work at W3C, potential solutions, and ideas for further standardization. This work is being done as part of the W3C Ubiquitous Web Domain. For information on using and contributing to this wiki, please see How to use this wiki. There is also an archived public email list for discussion related to the Ubiquitous Web: public-ubiweb@w3.org. See also Dave Raggett's 25th May 2006 presentation in the W3C Track at WWW2006.

Contents

  1. Introduction
  2. Workshops
  3. Device Coordination
  4. Declarative Application Models
  5. Trust, Identity, Privacy and Security

Things still to do

Add pages on trust, identity, privacy and security. Add material on relationship to other work e.g. UPnP, UAProf, Device Independence, Printer Working Group. List use cases drawing upon the Workshop materials. Link to email list/archive. Provide tentative recommendations for standards work. Add timeline for further action.

Users:

1.  edu

2.  granite 

3.  smug 

4.  construction

5.  mieszkania 

6.  skrypty 

7.  noclegi 

8.  tutoriale 

9.  wedel

Workshops

The W3C held a Ubiquitous Web Workshop in Tokyo on 9-10 March 2006. The workshop provided an opportunity to share ideas, uses cases, and implementation experiences. Please see the workshop summary.

A further workshop is planned for the end of 2006 or early 2007. The aim will be to explore techniques for declarative modelling of web applications at different levels of abstraction, and to exchange use cases and experience.

Device Coordination

Device Coordination covers the means for discovering and binding of devices and services into application sessions. This involves consideration of how to describe user preferences, device capabilities and services as a basis for discovery, which itself may involve accessing services on remote servers.

    contractors    serwery    beta theta pi    domains    emotika  sklep   

Declarative Application Models

The Web has been traditionally seen in terms of browsers that download Web pages from Web servers. This begins to break down when faced with devices with widely varying capabilities. A page designed for one device might simply be too large to be loaded by a smaller device, let alone the usability problems presented by small displays or the lack of effective means for text entry. One approach to adaptation is to have the server transform the markup to suit the needs of specific devices. This works well for static markup, but breaks down when the markup changes dynamically under the direction of the server since the changes need to be expressed in terms of the transformed markup. The solution is to model the application at a level that includes both the client and the server.

Application behavior can be described at a number of levels. Doing so makes it practical to adapt lower levels to meet the current needs without changes to higher levels. Behavior can be modelled in a range of ways, for instance, event driven state transition networks and task models that describe what sub-tasks need to be done to complete a given task. Policies can identify and resolve a potentially conflicting set of goals and describe how they can be satisfied. At a more concrete level a server can drive a remote user interface through an exchange of events. The user interface is modeled in XML and UI events are forwarded to the server which in turn sends back DOM mutation events to update the UI.

Trust, Identity, Privacy and Security

The Ubiquitous Web is critically dependent on an effective treatment of trust, identity, privacy and security. For example, which software component can be trusted to safely add a particular capability to a given web browser? Is the particular capability itself safe to use, and am I permitted to use it? How will information on my preferences be handled by a server? Can a printer be trusted to print a confidential document? How can I control who has access to what information about me? This latter point is critical to allowing servers to combine information and services from different sources (mashups).

Kim Cameron's Seven Laws of Identity describe principles that are essential to successful identity systems, for instance, the first law says that digital identity systems must only reveal information with the user's consent, whilst the second law requires limited disclosure for limited use. Effective treatment of identity will be critical to the success of the Ubiquitous Web. This includes consideration of audit trails where required.