Internet DRAFT - draft-ietf-widex-requirements
draft-ietf-widex-requirements
WIDEX V. Stirbu
Internet-Draft Nokia
Intended status: Informational D. Raggett
Expires: July 12, 2007 W3C/Volantis
January 8, 2007
Widget Description Exchange Service (WIDEX) Requirements
draft-ietf-widex-requirements-04
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 12, 2007.
Copyright Notice
Copyright (C) The Internet Society (2007).
Abstract
This document defines functional requirements for a framework and a
protocol used to support XML-based user interfaces, where the user
interface and application logic may be on different machines, and
coupled via an exchange of XML DOM events and update/mutation
operations.
Stirbu & Raggett Expires July 12, 2007 [Page 1]
Internet-Draft WIDEX Requirements January 2007
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Widex Entities . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Widex Terminology . . . . . . . . . . . . . . . . . . . . . . 3
3.1. User Interface . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Remote User Interface . . . . . . . . . . . . . . . . . . 4
3.3. Multimodal Interaction . . . . . . . . . . . . . . . . . . 4
3.4. Widex Objects . . . . . . . . . . . . . . . . . . . . . . 4
3.5. Transport Protocol . . . . . . . . . . . . . . . . . . . . 5
3.6. Simple vs. Complex User Interfaces . . . . . . . . . . . . 5
3.7. Session . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.8. State . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Architecture Requirements . . . . . . . . . . . . . . . . 6
4.2. Service Discovery and Session Setup Requirements . . . . . 6
4.3. Widex Objects Requirements . . . . . . . . . . . . . . . . 6
4.4. Transport Requirements . . . . . . . . . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6.1. Privacy Considerations . . . . . . . . . . . . . . . . . . 7
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . . . . 11
Stirbu & Raggett Expires July 12, 2007 [Page 2]
Internet-Draft WIDEX Requirements January 2007
1. Introduction
With the Internet reaching out to more and more devices, people are
increasingly expecting to have access to services at anytime, from
anywhere and using any device. Such services are being developed
using Web technologies such as XML and distributed across the network
rather than resident on any one device.
2. Widex Entities
The following picture shows the primary Widex entities in a simple
and basic architecture.
+--------+ +--------+
| | update interface | |
| Widex |----------------->| Widex |
| Server |<-----------------|Renderer|
| | event interface | |
+--------+ +--------+
Figure 1: Widex Entities
The two primary Entities are described as follows:
Widex Server (WS):
The entity that holds the application logic.
Widex Renderer (WR):
The entity that renders the user interface.
There might be several Widex Servers in the same device, one for each
application that can export the user interface and for each Widex
Server there might be several Widex Renderers which are rendering the
user interface.
3. Widex Terminology
The terminology and definitions detailed below include both terms
that, besides the Widex Entities are used in the requirements section
of this document.
3.1. User Interface
In this context, the user interface is understood as XML [XML1.0]
data describing the user interface. Typically, the XML data is
manipulated as levels 2 and 3 in the W3C Document Object Model (DOM),
Stirbu & Raggett Expires July 12, 2007 [Page 3]
Internet-Draft WIDEX Requirements January 2007
see [DOM2.Core], [DOM3.Core], and [DOM2.Events] (W3C has yet to
complete work on DOM3 events). Style information associated with the
user interface can be manipulated via the DOM, see [DOM2.Style].
3.2. Remote User Interface
The Remote User Interface (RUI) is a technique in which a user
interface is rendered on another device than the one that runs the
application logic while keeping the user interface synchronised with
the application logic.
3.3. Multimodal Interaction
Multimodal interaction provides the user with multiple modes of
interfacing with a system beyond the traditional keyboard and mouse
input/output. The most common such interface combines a visual
modality (e.g. a display, keyboard, and mouse) with a voice modality
(speech recognition for input, speech synthesis and recorded audio
for output). However other modalities, such as pen-based input or
haptic input/output, may be used.
For example, W3C has developed a Multimodal Interaction Framework
[W3C.NOTE-mmi-framework-20030506] that is intended as a basis for
developing multimodal applications in terms of markup, scripting,
styling and other resources.
3.4. Widex Objects
One of the goals is to define Widex Objects (WO) that are used to
convey information about interface updates and events. Widex Objects
are used to keep the rendered user interface synchronised with the
application logic.
There are two types of Widex Objects:
WO Update (WO.Update):
WO.Update object contain description of changes to XML DOM trees.
The updates can target individual nodes in order to update their
properties and attributes, or can target parts of the DOM tree in
order change its structure, e.g. add/delete/replace nodes or
branches.
WO Event (WO.Event):
WO.Event objects are primarily used to carry events triggered on
the Widex Renderer side so that they can be caught by the
application logic event handlers on the Widex Server side. Not
all events need to be forwarded to the application logic, as some
events have local scope and may be intended for default event
Stirbu & Raggett Expires July 12, 2007 [Page 4]
Internet-Draft WIDEX Requirements January 2007
handlers or for local scripted event handlers. The application
logic in the Widex Server may only be interested in specific
events.
WO.Event object may carry data according to the type of the event,
e.g. application defined events with structured payloads as per
Extensible Multi-Modal Annotations [W3C.WD-emma-20050916], which
uses XML for annotated interpretations of user input.
A secondary use of WO.Event objects is where the application logic
itself raises events that may be caught by event handlers
associated with the remote user interface, see for example Web
Applications 1.0 [WhatWG.WebApps1.0].
3.5. Transport Protocol
The Transport Protocol is a protocol that just transports the Widex
Objects as a string of bits, without looking at them.
3.6. Simple vs. Complex User Interfaces
Simple User Interface:
A simple user interface allows the user interface to be
represented with only one XML DOM object. Typically, a simple
user interface is associated with a single modality, e.g. vision
modality for graphic user interfaces.
Complex User Interface:
A complex user interface may include scripted client-side event
handlers or there can be more than one XML DOM in the user
interface, e.g. different DOMs for different modalities, but see
also SVG's XML Binding Language [W3C.WD-sXBL-20050815] for the
role of shadow DOMs.
3.7. Session
The Widex Session is initiated between a Widex Server and a Widex
Renderer for exchanging information about user interface updates
(e.g. WO.Update) and events (e.g. WO.Event) in order to control
applications remotely. A Widex Session relate to a single User
Interface, which can be simple or complex.
3.8. State
The Widex Server is maintaining the state of the user interface.
Upon ungraceful session break, the Widex Renderer retrieves the
current user interface state from the Widex Server when the session
is re-established.
Stirbu & Raggett Expires July 12, 2007 [Page 5]
Internet-Draft WIDEX Requirements January 2007
Certain UI markup languages allow the remote renderers to operate in
disconnected mode. In such cases, the application is responsible for
keeping the state on the Widex Server consistent with the changes
occured in the Widex Renderer when it operated in disconnected mode.
4. Requirements
4.1. Architecture Requirements
o The service discovery and session setup component MUST be
replaceable.
o The transport component MUST be replaceable.
o Keeping the user interface and the application logic synchronised
MUST occur at a fairly loose level that allows for a simple
approach to propagating changes.
o The framework SHOULD be stateless.
o The framework SHOULD be consistent with the W3C Multimodal
Architecture [W3C.WD-mmi-arch-20060414].
4.2. Service Discovery and Session Setup Requirements
o The service discovery mechanism MUST be able to discover both
Widex Renderers and Widex Servers.
o The service discovery mechanism MUST be able to negotiate the
capabilities of both Widex Renderers and Widex Servers, e.g.
supported devices physical characteristics, supported UI markup
languages, etc.
o The session setup mechanism MUST be able to initiate session
establishment from both Widex Renderers and Widex Servers, e.g.
remote user interface pull and push.
4.3. Widex Objects Requirements
o The Widex Objects MUST NOT be aware of the semantics of the UI
markup language.
o The Widex Objects MUST support client initiated events.
o The Widex Objects MUST support server initiated updates.
o The Widex Objects MUST contain only information meaningful in the
context of the Widex Session.
o The Widex Objects MUST indicate the target XML DOM tree when
Complex User Interfaces are involved.
o The Widex Objects MAY support multimodal interaction, and it is
the responsibility of the application to synchronise modalities
and not that of the Widex protocol.
Stirbu & Raggett Expires July 12, 2007 [Page 6]
Internet-Draft WIDEX Requirements January 2007
4.4. Transport Requirements
o The Widex protocol MUST deliver Widex Objects in the order
determined by the originator regardless of the underlying network
topology. The order is relevant within a single Widex Session.
The co-ordination between several Widex Sessions in a Widex Server
is outside the scope of this document.
o The Widex protocol MUST handle each modality within the context of
a single Widex Session.
o The Widex protocol MUST provide reliable delivery of Widex
Objects. If this proves to be impractical in a given situation,
the protocol MUST provide the means for application to detect such
failures.
o The Widex protocol MUST tolerate limitations in available
bandwidth.
o The Widex protocol MUST tolerate delays caused by network induced
latency. Latency and time-outs may need to be handled at the
application level.
o The Widex protocol MUST have support for authentication and secure
sessions, e.g. data privacy and integrity.
5. IANA Considerations
This document makes no request of IANA.
6. Security Considerations
As a means to support remote user interfaces, a number of security
considerations need to be addressed, including the potential for
unauthorized access to application services, monitoring of
interactions by unauthorized third parties, spoofing of application
services as a means to support phishing attacks, and denial of
service attacks.
6.1. Privacy Considerations
Exposing the capabilities of Widex Servers and Widex Renderers using
the appropriate service discovery and session setup mechanism has
privacy implications as malicious users may harvest information about
physical characteristics and applications hosted by Widex Entities.
Implementors should carefully balance which characteristics of the
Widex Entities are exposed over the network in accordance with the
expected behaviour in their deployment environments as strong privacy
measures may lead to degraded usability.
For example, a TV set or a smart screen playing the role of the Widex
Stirbu & Raggett Expires July 12, 2007 [Page 7]
Internet-Draft WIDEX Requirements January 2007
Renderer can be very well used as a secondary display. In such a
case, the Widex Renderer must be discoverable and its should expose
its capabilities so that a Widex Server will be able to provide the
user interface that best matches those capabilities instead of
falling back to the default user interface, which generally leads to
a degraded user experience.
In another example, a Widex Server hosting sensitive applications
that are only visible by selected set of users must protect the
privacy of the applications during discovery phase so that
unauthorised users are not even able to discover the existence of the
application before being prevented to initiate Widex sessions.
Privacy enforcement MUST allow implementation according to best
common practices of the selected service discovery and session setup
mechanism.
7. Acknowledgements
The authors would like to thank Lisa Dusseault and David Black for
their comments that made this document more readable.
8. References
8.1. Normative References
[DOM2.Core]
Le Hors, A., Le Hegaret, P., Wood, L., Nicol, G., Robie,
J., Champion, M., and S. Byrne, "Document Object Model
(DOM) Level 2 Core Specification", W3C Recommendation,
November 2000.
[DOM2.Events]
Pixley, T., "Document Object Model (DOM) Level 2 Events
Specification", W3C Recommendation, November 2000.
[DOM2.Style]
Wilson, C., Le Hegaret, P., and V. Apparao, "Document
Object Model (DOM) Level 2 Style Specification",
W3C Recommendation, November 2000.
[DOM3.Core]
Le Hors, A., Le Hegaret, P., Wood, L., Nicol, G., Robie,
J., and S. Byrne, "Document Object Model (DOM) Level 3
Core Specification", W3C Recommendation, April 2004.
Stirbu & Raggett Expires July 12, 2007 [Page 8]
Internet-Draft WIDEX Requirements January 2007
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[XML1.0] Yergeau, F., Bray, T., Paoli, J., Sperberg-McQueen, C.,
and E. Maler, "Extensible Markup Language (XML) 1.0 (Third
Edition)", W3C Recommendation, February 2004.
8.2. Informative References
[W3C.NOTE-mmi-framework-20030506]
Raman, T., Larson, J., and D. Raggett, "W3C Multimodal
Interaction Framework", World Wide Web Consortium
NOTE NOTE-mmi-framework-20030506, May 2003,
<http://www.w3.org/TR/2003/NOTE-mmi-framework-20030506>.
[W3C.WD-emma-20050916]
Johnston, M., Chou, W., McCobb, G., Raggett, D., and D.
Dahl, "EMMA: Extensible MultiModal Annotation markup
language", World Wide Web Consortium LastCall WD-emma-
20050916, September 2005,
<http://www.w3.org/TR/2005/WD-emma-20050916>.
[W3C.WD-mmi-arch-20060414]
Bodell, M., Wahbe, A., Raggett, D., and J. Barnett,
"Multimodal Architecture and Interfaces", World Wide Web
Consortium WD WD-mmi-arch-20060414, April 2006,
<http://www.w3.org/TR/2006/WD-mmi-arch-20060414>.
[W3C.WD-sXBL-20050815]
Ferraiolo, J., Hickson, I., and D. Hyatt, "SVG's XML
Binding Language (sXBL)", World Wide Web Consortium WD WD-
sXBL-20050815, August 2005,
<http://www.w3.org/TR/2005/WD-sXBL-20050815>.
[WhatWG.WebApps1.0]
Hickson, I., "Web Applications 1.0", October 2005.
Stirbu & Raggett Expires July 12, 2007 [Page 9]
Internet-Draft WIDEX Requirements January 2007
Authors' Addresses
Vlad Stirbu
Nokia
Visiokatu 3
Tampere 33720
Finland
Phone: +358 7180 08000
Email: vlad.stirbu@nokia.com
Dave Raggett
W3C/Volantis
35 Frome Road
Bradford on Avon, Wiltshire BA15 2EA
United Kingdom
Phone: +44 1225 866240
Email: dsr@w3.org
Stirbu & Raggett Expires July 12, 2007 [Page 10]
Internet-Draft WIDEX Requirements January 2007
Full Copyright Statement
Copyright (C) The Internet Society (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Stirbu & Raggett Expires July 12, 2007 [Page 11]