The World Wide Web Consortium (W3C) has published a pair of specifications, one by the Multimodal Interaction Working Group and the other by the Web Applications Working Group.
The Extensible MultiModal Annotation (EMMA) is a specification that defines inputs other than and beyond the keyboard and mouse. This includes, for example, handwriting, natural language, and gestures. EMMA also addresses outputs such as synthesized speech. As part of the spec, EMMA also defines the Extensible MultiModal Annotation Markup Language which promotes the development of rich Web applications. The document, published by the Multimodal Interaction Working Group, is part of a set of specifications for multimodal systems, and provides details of an XML markup language for containing and annotating the interpretation of user input.
At the same time, the Web Applications Working Group has published the first public working draft of Widgets 1.0: APIs and Events. This specification defines a set of APIs and events for the Widgets 1.0 Family of Specifications that enable baseline functionality for widgets. Widgets are full-fledged client-side applications that are authored using Web standards. They are typically downloaded and installed on a client machine or device where they typically run as stand-alone applications outside of a Web browser. Examples range from simple clocks, stock tickers, news casters, games and weather forecasters, to complex applications that pull data from multiple sources to be "mashed-up" and presented to a user in some interesting and useful way. The runtime environment in which a widget runs is referred to as a widget user agent.
This specification is part of the Widgets 1.0 family of specifications, which together standardize widgets as a whole. The Widgets 1.0: Packaging and Configuration standardizes a Zip-based packaging format, an XML-based configuration document format and a series of steps that user agents follow when processing and verifying various aspects of widgets. The Widgets 1.0: Digital Signature specification defines a means for widgets to be digitally signed using a custom profile of the XML-Signature Syntax and Processing Specification. The Widgets: 1.0: Automatic Updates specification defines a version control model that allows widgets to be kept up-to-date over.
The APIs and Events defined by this specification include:
- Access the metadata declared in a widget's configuration document,
- Receive events related to changes in the view state of a widget,
- Determine the locale under which a widget is currently running,
- Be notified of events relating to the widget being updated,
- Invoke a widget to open a URL on the system's default browser,
- Requests the user's attention in a device independent manner,
- Check if any additional APIs requested via the configuration document's feature element have successfully loaded.