Presented by Dr Rotan Hanrahan, Chief Innovations Architect.
This is offered as part of Mobileaware's response to the Call for Participation in the W3C DIWG Workshop on Device Independent Authoring Techniques, to be held in September 2002.
This document illustrates Mobileaware's approach to multi-device authoring, using XHTML as a basis, and reflects the content of the presentation we would deliver at the workshop. The examples to be presented are drawn from actual product features. There is a strong emphasis on practical considerations and an intention to concentrate on actual technology rather than speculation. It is also assumed that the presentation shall be delivered in 20 minutes as a sequence of slides and images, with a short period for questions.
The dominant focus of XHTML is on presentation. The purpose of the majority of tags in XHTML is to influence the in-situ presentation of the contained text. Even the structural tags (e.g. h1 to h6) have an effect on the rendering. Some tags (e.g. head and body) are purely structural in nature but are very limited in what they can say about the structure of the document.
Annotation is additional information (sometimes called meta-information) pertaining to the structure of the document, and to any decision-making processes that use or influence this structure.
One can think of a typical author as a person who takes a conceptual structure and captures it in a document for delivery to a specific device. The structure in the document is only an approximation to the original structure conceived in the mind of the author. For example, the table you create on the page may be a list of records, or a cross-product of two series, but nothing in the markup reflects this fact. The tags merely place the data in a two-dimensional grid. Transforming the table into a different format requires knowledge of the original structure, the knowledge that was not captured by the markup representing the document.
Annotation provides the author with a means of capturing the missing knowledge. Using this knowledge together with the document can permit an independent process to act in place of the author to create new documents for different formats (i.e. different devices) while being true to the author's intentions.
Important features of annotation:
Mobileaware uses annotation capabilities in the authoring process by introducing an extra annotation module to the Modular XHTML. This module defines a few simple tags and attributes that can represent the deep structure that would not normally be captured by XHTML. A transformation server uses this knowledge to generate alternative representations.
Sample structural annotation: "Group". The annotation includes tags to envelop structural groups, to assign names to such groups, to identify titles (which can be used in navigation) and to specify relationships to other groups. Grouped fragments are treated as content units and are generally delivered intact or completely omitted. Related groups are clustered so that the proximity in the original document is maintained (as best as possible) in the transformed versions. Group structures are also used to generate dynamic navigation features, since smaller devices generally require the documents to be divided into smaller, more manageable pieces.
Sample decision annotation: "Inclusion". The author can determine the suitability (or unsuitability) of subsets of the document to different delivery contexts. We are already seeing a similar annotation mechanism appearing in CSS Media Queries where choice of media is determined by a rule and governed by context.
Layouts are template-like structures that assist in the transformation process. They provide the means of restructuring an annotated document to retain the author's original intentions and can represent best practices for different delivery channels.
As an illustration of layouts, we will present a columnar news page as it would be restructured with and without layouts. When restructured without layouts, the columns are arranged linearly. When restructured with layouts, the author is able to identify the bottom of each column as a less-important group and reposition these to the end of the layout, thereby retaining the author's intention of putting the least important parts of the document to the position furthest from the start of the document.
Finally, we will look at existing and proposed structural annotations in XHTML, identifying some that can be adapted for multi-device annotation. This includes tags such as head, body, span, div and h*, new modules such as SMIL and new technologies such as Media Queries. We argue that only a few modifications are necessary and that this is the least intrusive approach to providing single-source multi-device authoring.
We invite the audience to consider the use of annotation. In particular, we pose the following dimensions of discussion:
Mobileaware Ltd. W3C member. Member of W3C-DIWG