W3C

Please note that this is a draft and subject to change

Layered User Interfaces Incubator Group Charter

High level authoring frameworks for user interfaces to business processes

The mission of the Layered User Interfaces Incubator Group, part of the Incubator Activity, is to evaluate the potential for applying XML to layered models of user interfaces for applications and business processes, and to propose standardization work on markup for the concrete UI layer, declarative descriptions of event handlers, and associated end to end task models. The architecture caters for a wide variety of delivery contexts, including mobile devices.

Join the Layered User Interfaces Incubator Group.

End date 3 March 2009
Confidentiality Proceedings are public
Initial Chairs CHAIR INFO (tbd)
Initiating Members (tentative)
Usual Meeting Schedule Teleconferences: Fortnightly,
Face-to-face: two or three times

Scope

There is plenty of market potential for tools and services that assist people with developing and maintaining user interfaces for business processes, especially in the context of the roll out of Service-Oriented Architecture (SOA) within an enterprise. Declarative approaches based upon XML offer the following benefits compared to traditional application development models:

A prerequisite for this is a means to separate out different concerns. This can be achieved through the adoption of a layered architecture:

  1. Application task models, data and meta-data
  2. Abstract UI (device independent)
  3. Concrete UI (device dependent)
  4. Physical realisation for specific devices

Each layer can be considered as the result of a transformation of the layer immediately above it. Each layer embodies a model of behavior at a progressively finer level of detail. Transformations have access to the delivery context, which models user preferences, device capabilities and environmental conditions. The model view controller pattern is used to cleanly separate the user interface, the dialog behavior and the data it operates on.

All of the layers (with the possible exception of the physical realisation) can be represented in XML, with the mappings between the layers described using XSLT or other related techniques (e.g. QVT and ATL). The mapping to the physical realisation can be implemented via an optional mapping to a low level markup language followed by a compilation step. This enables developers to concentrate on what the application needs to do, rather than the details of how that is to be achieved on a particular platform. The approach is intrinsically extensible, and skilled programmers can add support for new markup and associated implementation classes as needed for new kinds of controls.

High level development suites can be provided to shield developers from the underlying XML representations. For example, a data model could be manipulated as a diagram, while the user interface could be defined via drag and drop operations together with editing values in property sheets. The development suite is responsible for maintaining the mappings between layers and verifying their consistency. Developers can choose to provide alternative transformations as needed to address different groupings of delivery contexts. This will facilitate the mobelisation of business processes. For business people on the move, mobile devices can be a lot more convenient than having to pull out and power up a notebook computer.

In Scope

The Layered UI XG will focus on use cases, requirements and proposals for the Concrete UI layer and a declarative treatment of event handlers and task models. This work will seek to combine XForms with XML markup for concrete user interfaces with a range of layout policies and UI controls as appropriate to the use cases and target platforms. This will be aligned to the WAI-ARIA ontology of roles, states, and properties, as a basis for supporting assistive technology.

The work on task models will consider end-to-end behavior, including both client and server-side aspects, for example:

Form submission could be treated as equivalent to generating an event and handled via server-side state transition models that in turn generate new events. Such events could be targeted at named queues identified by URIs. Web pages would be generated by event handlers in response to client requests. The XG will compile a taxonomy of use cases as a basis for collecting requirements. On the client side, the XG will consider the potential for using task models to describe the role of different parts of the user interface, including dynamic bindings to server-side data, and the means to respond to external events.

A study will be made on the potential of State Chart XML (SCXML) for executable models of business processes, along with XQuery and XSLT for database access and report generation. A gap analysis will be conducted to identify opportunities for further work, including the potential for using business rule languages for event handlers in state models, and treating input and output queues as objects in their own right for use in work flows.

This work could include a study of the role of diagrams as a means to support high level authoring tools. XML would allow for round tripping diagrams through authoring tools and subsequent extraction of machine manipulable semantics. The diagrams could be used as a basis for organizing access to different categories of information throughout the application lifecycle from initial requirements capture to withdrawal from service. Relevant standards include UML and BPMN.

The XG may also want to review approaches based upon orchestration or choreography of messages. Choreography focuses on the views of individual participants involved in an exchange of messages, whilst orchestration models encompass all parties, giving a global view of the system. Relevant standards include BPEL and WS-CDL.

Out of Scope

Themes define the detailed presentation and behavior for physical realisations of the Concrete UI. The mechanisms for "theming" a Concrete UI are out of scope for this XG, although it should be possible to identify which theme is to be applied. Note that the use of graphics (including SVG) as part of the Concrete UI remains in scope.

Voice and multimodal interfaces are out of scope, but could be the subject for a follow on XG.

Success Criteria

The XG will be judged successful if its work is picked up in part or in whole by W3C Working Groups, such as the Ubiquitous Web Applications Working Group, whose charter is due for renewal in early 2009. In addition, it is hoped that the XG will be successful in highlighting the role of XML for authoring as distinct from markup intended for direct interpretation by client platforms.

Deliverables

The Layered UI XG will aim to produce the following deliverables:

Dependencies

W3C Groups

Forms Working Group
The XG will liaise with the Forms Working Group on leveraging XForms and the complementary role of work on concrete UI and task models.
UWA Working Group
The XG will liaise with the UWA Working Group on adapting the user interface to the delivery context, and for a treatment of events in distributed applications.
Voice Browser Working Group
The XG will liaise with the Voice Browser Working Group on the potential of State Chart XML (SCXML) for state dependent models of application behavior.
WAI-PF Working Group
The XG will liaise with the WAI-PF Working Group on the relationship between the WAI-ARIA taxonomy of roles and the Concrete UI layer.
XHTML2 Working Group
The XG will liaise with the XHTML2 Working Group on potential synergies between XHTML2 and markup for the Concrete UI layer.
XSL Working Group
The XG will liaise with the XSL Working Group on the use of XML for concrete UI and potential synergies with XSL-FO.

External Groups

There are no direct dependencies on external groups, but the XG will study existing work on modeling business processes and how this relates to task and data models for user interfaces. For the concrete UI, the XG will seek to enable a wide range of delivery channels, and this will necessitate a study of existing solutions.

Participation

It is envisioned that the XG will teleconference fortnightly at a time that provides an adequate compromise over the various time zones of the interested participants. Extensive discussion will also be carried out on the XG mailing list. Additionally, it may be useful to have two or three face-to-face meetings at a venue for which a significant number of XG participants are likely to attend.

Expected participation follows the W3C Process Document discussion of Good Standing.

Communication

This group primarily conducts its work on the public mailing list public-xg-layered-ui@w3.org ( archive). The group's Member-only list is member-xg-layered-ui@w3.org ( archive)

Information about the group (deliverables, participants, face-to-face meetings, teleconferences, etc.) is available from the Layered User Interfaces Incubator Group home page.

Decision Policy

As explained in the Process Document ( section 3.3), this group will seek to make decisions when there is consensus. When the Chair puts a question and observes dissent, after due consideration of different opinions, the Chair should record a decision (possibly after a formal vote) and any objections, and move on.

Which of the following two bullet points do we wish to adopt?

Patent Policy

This Incubator Group provides an opportunity to share perspectives on the topic addressed by this charter. W3C reminds Incubator Group participants of their obligation to comply with patent disclosure obligations as set out in Section 6 of the W3C Patent Policy. While the Incubator Group does not produce Recommendation-track documents, when Incubator Group participants review Recommendation-track specifications from Working Groups, the patent disclosure obligations do apply.

Incubator Groups have as a goal to produce work that can be implemented on a Royalty Free basis, as defined in the W3C Patent Policy. Participants in this Incubator Group wishing to exclude essential patent claims from the licensing commitment must join the Working Group chartered to work on the XG Report and follow the normal exclusion procedures defined by the Patent Policy. The W3C Team is responsible for notifying all Participants in this Incubator Group in the event that a new Working Group is proposed to develop a Recommendation that takes the XG Report as an input.

For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

About this Charter

This charter for the Layered User Interfaces Incubator Group has been created according to the Incubator Group Procedures documentation. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

Further Reading


Dave Raggett, JustSystems

$Date: 2008/03/19 10:27:49 $