Component Model for Multimodal Web Applications

Similar documents
New Directions for Web Applications 1/11

Rich Web Application Backplane

W3C Workshop on Multimodal Interaction

The Ubiquitous Web. Dave Raggett (W3C/Volantis) CE2006, 19 September Contact:

Standards for Multimodal Interaction: Activities in the W3C Multimodal Interaction Working Group. Group

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

Syllabus- Java + Android. Java Fundamentals

Modularization of Multimodal Interaction Specifications

2004 NASCIO Recognition Awards. Nomination Form

Model-Based UI W3C XG

The Ubiquitous Web. Dave Raggett, W3C Technical Plenary, March /14

What is a good pen based application? HCI For Pen Based Computing. What is a good UI? Keystroke level model. Targeting

Introducing the VoiceXML Server

Layered UI and Adaptation Policies for Ubiquitous Web Applications

Blackboard Collaborate Ultra 2018 UT DALLAS USER MANUAL

Declarative Formats for Web Applications WWW2006 Art Barstow Chair of the Web Application Formats (WAF) WG

Abstract. 1. Conformance. 2. Introduction. 3. Abstract User Interface

Multimodal Dialog Description Language for Rapid System Development

The universaal UI Framework.

Omeka Collection Viewer. Configuration. Version 3 3/16/2016 Shaun Marsh

SALT: An XML Application for Web-based Multimodal Dialog Management

SALT. Speech Application Language Tags 0.9 Specification (Draft)

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Text box. Command button. 1. Click the tool for the control you choose to draw in this case, the text box.

Salesforce Lightning Experience

Quick Start Guide. Overview Adding Box+ImageTrust to your Box account Scanning with Box+ImageTrust

Multi-modal Web IBM Position

STEP 1: Import Your Pictures Import pictures *Note:

SCXML. Michael Bodell.

Reference Services Division Presents. Microsoft Word 2

Speech Applications. How do they work?

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Telerik Corp. Test Studio Standalone & Visual Studio Plug-In Quick-Start Guide

Multimodality with XHTML+Voice

DOT NET Syllabus (6 Months)

Web & Automotive. Paris, April Dave Raggett

Design av brukergrensesnitt på mobile enheter

The W3C Emotion Incubator Group

EVALITA 2009: Loquendo Spoken Dialog System

Multimodal Applications from Mobile to Kiosk. Michael Johnston AT&T Labs Research W3C Sophia-Antipolis July 2004

Interaction Design and Implementation for Multimodal Mobile Semantic Web Interfaces

CONTENTS. Working With Feeds Viewing Your Feeds Working With Snippets Deleting Snippets Rev AA

End User Guide. 2.1 View PDF documents on desktop Choose a file View PDF documents View PDF documents on mobile...

Voice Browser Working Group (VBWG) Input on application backplane topics. Scott McGlashan (HP) Rafah Hosn (IBM)

Software User s Manual

W3C on mobile, CSS, multimodal and more

Projecting The Digital Teacher s Edition in READ 180 Universal

Technology Instructions

READSPEAKER ENTERPRISE HIGHLIGHTING 2.5

Premiere Pro CC 2018 Essential Skills

Apple Inc. November 2007

New Perspectives on PowerPoint Module 2: Adding Media and Special Effects

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Date: December 21, 2017 Name of Product: Cisco WebEx Web App Meeting Center v3.4 Contact for more information:

Telerik Test Studio. Web/Desktop Testing. Software Quality Assurance Telerik Software Academy

Salesforce Service Cloud Snap-Ins for Web

NetAdvantage for jquery SR Release Notes

How to Get Started with Zoom

VPAT for Apple ibooks 2

Figure 4-9. Click Finish button, system pops up a dialogue box. Click the OK button, the startup wizard is complete. See Figure 4-10.

California Open Online Library for Education & Accessibility

Microsoft Visio 2010: An Introduction

Web Development. with Bootstrap, PHP & WordPress

Form. Settings, page 2 Element Data, page 7 Exit States, page 8 Audio Groups, page 9 Folder and Class Information, page 9 Events, page 10

Agilix Buzz Accessibility Statement ( )

MyMobileWeb project's position

Index LICENSED PRODUCT NOT FOR RESALE

Interacting with the Ambience: Multimodal Interaction and Ambient Intelligence

Key differentiating technologies for mobile search

SALT. Speech Application Language Tags (SALT) 1.0 Specification

!!! !!!!!!!!!!! Help Documentation. Copyright V1.7. Copyright 2014, FormConnections, Inc. All rights reserved.

Service Cloud Lightning

XF Rendering Server 2008

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Translating HornlogEq RuleML to Grailog for SVG Visualization. Leah Bidlake RuleML Webinar June 20, 2016

MIKE: a Multimodal Cinematographic Editor for Virtual Worlds

TDMobile Architecture & Overview of the TD Mobile IDE. Horst de Lorenzi

AT That s Free. By Andrew Leibs. Accessibility Built Into Microsoft Windows & Office

XcreenKey Verti. User Guide v2.0. Legal Before You Start Using XcreenKey Verti

Voice Foundation Classes

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

1. Introduction Accessing imediatrans How to Register as a New User How to Login to imediatrans... 4

A Technical Overview: Voiyager Dynamic Application Discovery

ROUTED EVENTS. Chapter 5 of Pro WPF : By Matthew MacDonald Assist Lect. Wadhah R. Baiee. College of IT Univ. of Babylon

MOHIVE July 2012

Salesforce Lightning Experience Analytics (Dashboard and Reports)

Getting to Know Windows 10. Handout

Lead Your e-classes Session v8.2

CarPlay Navigation App Programming Guide. September 28, 2018

Exam Express Exam EE0-411 voice xml application developer exam Version: 5.0 [ Total Questions: 118 ]

Leader Guide. Sysco e-meeting

Integrate Speech Technology for Hands-free Operation

Human Interaction Container Paradigm

Salesforce Lightning Dialer

ASSISTIVE CONTEXT-AWARE TOOLKIT (ACAT)

Part 1: Basics. Page Sorter:

Software User s Manual

GETTING TO KNOW YOUR MACBOOK PRO. Equipment. 1. Ports LEFT SIDE RIGHT SIDE

BUSINESS PROCESS DOCUMENTATION. Presented By Information Technology

Links to Activities ACTIVITY 1.1. Links to Activities ACTIVITY 1.

Transcription:

Component Model for Multimodal Web Applications How to combine object oriented concepts with markup for event driven applications 1/22 Dave Raggett, W3C/Canon MWeb Workshop, Sophia Antipolis, July 2004

Goals Break Web applications out of the browser! Freedom to build wider variety of applications Reduced costs and increased flexibility Easy adaptation to wide range of devices Multimodal User Interface Author defined controls Ability to mix novel and standard markup 2/22

Theming Zinf one application, three themes 3/22 Theses can also be applied across applications, vis Gnome desktop themes

Break free out of the Browser Non-rectangular windows No window chrome Treat like regular applications Launched from application menus or desktop icons Can be bound to media types, e.g. audio/mpeg 4/22

Application Model Describe object model in XML Properties Preferences Play-list Current track 5/22 Methods Duration, current position, name, artist,... volume, pause, rewind, fast forward, previous/next track, quit Events Playback error, end of track, end of play-list,...

Themes and Intentions Split user interface into Abstract UI controls and layout intentions Theme = presentation and behavior for controls XForms range control as scalar value Themed as rotary dial or thermometer Role of SVG and XBL for defining such controls Layout intentions Vertical, horizontal, grid,... Delegate size/position decisions to layout manager 6/22 Detailed appearance determined by current theme

File Browser Application 7/22

Components and Events Application Selection of files File Browser File select, de-select, drag File View File View File View Mouse events: click, shift click, drag 8/22

Declarative Treatment of Behavior Simple event binding dom:activate on button invokes application pause method xf:xforms-value-changed on dial sets app volume State transition models Event driven transitions between named states Represented in XML and XPath Transitions invoke methods, update data, raise events Nested states and concurrent execution Run on device or server, or on both 9/22 Distributed execution model

Input Modalities Mouse emulation events Click, double click, down, up, drag Pointer trace data InkML as XML format for trace data Interpreted by component as gesture, drawing etc. Constrained text input Provided with keystrokes, speech or handwriting Regular expressions, CFGs or data types Semantic events 10/22 Platform specific binding to keys, gestures or speech

Interpreted Input Treat all input uniformly as events Audio, speech, keystrokes and stylus Use of grammars for recognition and extracting application semantics EMMA extensible multi-modal annotations XML language for interpreted input Application specific + standard annotations Time stamps, confidence scores, N-best interpretations,... Role of XPath for dealing with EMMA 11/22

Output Modalities Speech and Audio Speech Synthesis Markup Language (SSML) Visual XHTML SVG XForms Coordinated output with SMIL Promise of Natural Language Generation 12/22

Multimodal Interaction Enable user to choose which mode to use Constrained text input and semantic events Deictic References and Ellipsis Behavior is defined by the application component In context of file browser application: Print this Ask file browser for current selection If necessary prompt user to make selection For map application Zoom in here + tap with pen Map interprets mouse click event as map location Complementary use of output modes Combine speech with highlighting of visual objects 13/22 This hotel is conveniently close to the opera house

Natural Language Understanding 14/22 Context free grammars in XML Speech Recognition Grammar Specification (SRGS) Functional approach to semantic interpretation W3C Semantic Interpretation specification Semantic expressions as annotations on grammar rules Pepsi Cola is mapped to <beverage>pepsi</beverage> July 20th is mapped to <date>2004-07-20</date> Ripples up parse tree to define semantics of utterance No match, or No input events Tapered prompts and traffic lights model

Natural Language Generation VoiceXML uses variables and expressions Simple templates are sufficient in many cases Dynamic generation of VoiceXML on web server Promise of richer NLG Improvements in speech synthesis More flexible use of natural language Dynamic generation in user's preferred language Potential for NLG engines realizers 15/22 Driven by XML representation of language independent communication acts Realizer deals with sentence planning and word selection

Adapting to Current Conditions 16/22 How to enable applications to adapt to conditions on a moment to moment basis? Portrait to Landscape flip User mutes audio Low battery alert System and Environment Framework Access to device capabilities, user preferences and environmental conditions Exposed as XPath expressions or JavaScript Shields application from lower level interfaces

Mixing Novel and Standard Markup Treat XML as instructions for creating a composition of objects Bind elements to objects Implicit binding for standards-based markup Objects defined in XML or in code Interoperability depends on Binding mechanism, and object language e.g. XBL and JavaScript Libraries and interfaces these objects depend on 17/22

Markup Components Top-level Container Non-standard Markup component Compound Document Binding Shadow Markup Standard Markup component Primitive Objects Platform Implementation Layer 18/22 Compound document consists of sequences of nestable markup components. Non-standard markup components are bound to object models in terms of primitive objects using a mixture of declarative and imperative definitions. Type constraints determine which compositions of markup components are valid.

XBL example 19/22 <?xml version="1.0"?> <?xml-stylesheet href="notes.css"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"> <binding id="board" styleexplicitcontent="true"> <implementation> <property name="dragging"> null </property> <property name="currx"> 0 </property> <property name="curry"> 0 </property> </implementation> <handlers> <handler event="mousedown"> if (event.originaltarget.parentnode.classname == 'caption') { this.dragging = event.originaltarget.parentnode.parentnode; this.currx = event.clientx; this.curry = event.clienty; } </handler> <handler event="mouseup"> this.dragging = null; </handler> <handler event="mousemove"> this.curry = event.clienty;... </handler> </handlers> </binding>

XBL Syntax Summary 20/22 <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="name"> <implementation> <property name="name" inherit="name">... initial value... </property> <constructor>... </constructor> <destructor>... </destructor> <method name="name">... </method>... </implementation> <handlers> <handler event="name">... script for event handler... </handler>... </handlers> <content>... anonymous content... </content> </binding> </bindings>

Task-based Interaction Example of value of novel markup Define your own markup for task dependency trees Partial ordering of tasks and sub-tasks Implement your plan engine in JavaScript Bind behavior with XBL Enables developers to innovate on richer ideas for multimodal web applications 21/22

Summary Use Object Oriented approach XML for describing objects and their behaviors Separate application from user interface Shield from platform specific interfaces Treat input in terms of events Mouse events, text events, semantic events... Dynamic adaptation to changing conditions Avoid locking applications to specific platforms Complying with user preferences/impairments 22/22 Applications with multiple devices/people