Mir Farooq Ali Computer Science, Virginia Tech May 9, 2003 Building Multi-platform User Interfaces using UIML.

Slides:



Advertisements
Similar presentations
1 Introduction to User Interface Markup Language (UIML)
Advertisements

Cooperative Computing & Communication Laboratory Steffen Bleul, Wolfgang Mueller, Robbie Schäfer Paderborn University/C-LAB Paderborn, Germany Multimodal.
The Web Warrior Guide to Web Design Technologies
Visual Model-based Design of Multi- platform Interactive Applications HCI Group/ISTI-CNR 23 September 2002 Pisa (I)
Project 1 Introduction to HTML.
Windows Presetation Foundation (WPF) 1. Introduction.
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
XML for Information Management – Day 2 Airi Salminen University of Erlangen-Nuremberg Computational Linguistics Instructor: Professor Airi Salminen
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
1st Project Introduction to HTML.
Where Do I Start REFERENCE: LEARNING WEB DESIGN (4 TH EDITION) BY ROBBINS 2012 – CHAPTER 1 (PP. 3 – 14)
1 Damask A Tool for Early-Stage Design and Prototyping of Multi-Device User Interfaces G r o u p f o r User Interface Research University of California.
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Chapter ONE Introduction to HTML.
Device-Independence with UIML (User Interface Markup Language) Marc Abrams uiml.org W3C Workshop on Web Device Independent Authoring.
Chapter 1 Variables in the Web Design Environment.
Chapter 1 Variables in the Web Design Environment
Section 2.1 Compare the Internet and the Web Identify Web browser components Compare Web sites and Web pages Describe types of Web sites Section 2.2 Identify.
Chapter 1 Introduction to HTML, XHTML, and CSS
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Model-based UI Meeting November 2010, Lyon Fabio Paternò CNR-ISTI, HIIS Laboratory Pisa, Italy
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
XForms: A case study Rajiv Shivane & Pavitar Singh.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
WORKING WITH XSLT AND XPATH
Chapter 2 Developing a Web Page. A web page is composed of two distinct sections: –The head content –The body Creating Head Content and Setting Page Properties.
Windows Presentation Foundation. Goal The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. Included in version.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Sheet 1XML Technology in E-Commerce 2001Lecture 7 XML Technology in E-Commerce Lecture 7 XSL Formatting Objects, Java Data Binding.
XHTML/XForms/XML Events vs. UIML Marc Abrams April 2002.
Listener Controlled Navigation of VoiceXML Documents Gopal Gupta N. Annamalai, H. Reddy Dept. of Computer Science UT Dallas.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
XML 2nd EDITION Tutorial 1 Creating An Xml Document.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Towards a Pattern Language for User Interface Design
LBSC 690 Session 5A Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
LBSC 690 Session 5A Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Started Getting started with HTML Authoring Authoring on the Web.
XML – Its Role and Use Ben Forta Senior Product Evangelist, Macromedia.
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros 1, Jean Vanderdonckt 1, Jaime Muñoz Arteaga 2 1. Université catholique de.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Device-Independence with UIML (User Interface Markup Language) Marc Abrams uiml.org W3C Workshop on Web Device Independent Authoring.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
introductionwhyexamples What is a Web site? A web site is: a presentation tool; a way to communicate; a learning tool; a teaching tool; a marketing important.
XSLT, XML Schema, and XPath Matt McClelland. Introduction XML Schema ▫Defines the content and structure of XML data. XSLT ▫Used to transform XML documents.
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
Web Design Principles 5 th Edition Chapter 3 Writing HTML for the Modern Web.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
DHTML.
Project 1 Introduction to HTML.
Objective % Select and utilize tools to design and develop websites.
Chapter 1 Introduction to HTML.
Chapter 2 Developing a Web Page.
Human Computer Interaction
Computer Software Lecture 5.
XML QUESTIONS AND ANSWERS
Project 1 Introduction to HTML.
Objective % Select and utilize tools to design and develop websites.
More Sample XML By Sadia Anjum.
Tutorial Developing a Basic Web Page
Understand basic HTML and CSS terminology, concepts, and basic operations. Objective 3.01.
Presentation transcript:

Mir Farooq Ali Computer Science, Virginia Tech May 9, 2003 Building Multi-platform User Interfaces using UIML

Outline Multi-platform User Interface (UI) problem User Interface Markup Language (UIML) Task Modeling Future Research

Introduction Variety of Hardware Variety of target platforms Netscape 6.1 for HTML Internet Explorer 6.0 for HTML Java Swing

Introduction Users want access to the same applications and data Traditional approaches are geared towards a single platform New approach is needed to build multi- platform UIs

Goals for UIML Able to describe implementations of UIs that are –Multi-platform –Multi-lingual Usable for non-traditional UIs: voice, etc Same expressive power as target languages (Java, HTML, WML, …)

UIML UIML is an XML-based markup language Meta-language for UIs Can be used currently in conjunction with platform-specific vocabularies to create Uis –A vocabulary is defined to be the set of UI widgets, their properties and events for one specific platform

UIML (Cont’d…) Provides complete description of a UI Renderers are needed to take UIML file and render it to UI Rendering can be done through –Interpretation –Translation Renderers are available for Java, HTML, WML, VoiceXML and PalmOS

Example UI Widgets Events associated with widgets Look and feel

Separation of Concerns UIML considers an UI to be composed of 4 sections –structure –style –behavior –content

UIML (Cont’d…) Skeleton of UIML document

UIML Structure section indicates the hierarchical relationship between various ‘parts’ Widget

UIML Style section describes “look and feel” of UI using properties for individual parts UIML Example Hello World!

UIML Behavior section defines what happens when you perform any action on the parts Top button pressed.

UIML Examples 1.Hello World example Java Swing WML HTML 2.UI with events UIML with Java Swing vocabulary Actual Java Swing program

Example: UI for 3 Platforms Date book: Java Palm OS WML

What UIML Is and Is Not UIML: is a language for implementing UIs UIML: is not a language for UI design (We assume UIML is generated by a model, specification language, design tool, or even manually)

Example: Vocabularies & Mappings Recall: OK! Vocabulary: class, property, event names (e.g., “Button”) Mapping: … versus …

How UIML Addresses Multi- Platform UIs 1.Tree structure (cascading): describe a family of UIs as in tree form 2.Generic vocabulary + transformation 3.Building block of overall methodology

1. Tree Structure Factor out common elements to UIs on all platforms in form of an XML tree –Structure: changes across families –Style: changes across families –Content: may change across families –Behavior: may largely remain intact –Logic: API to logic unchanged –Presentation: differs by family

2. Generic Vocabulary + Transformation Vocabulary is defined outside UIML Vocabulary represents set of abstractions. Abstractions could be… 1.identical to UI toolkit (“Platform-Specific vocabulary”) 2.cross UI toolkits (e.g., generic across Java/HTML, VoiceXML, WML) 3.domain-specific (e.g., abstractions to build UIs for news articles -- title, abstract, body, navigation)

Sample Generic Vocabulary (#2 in Previous List) Generic PartUIML Class Name Generic Top ContainerG:TopContainer Generic AreaG:Area Generic ListG:List Generic LabelG:Label Generic ButtonG:Button Generic IconG:Icon Generic RadiobuttonG:RadioButton

Transformations Transformation maps UIML document with generic vocabulary to UIML document with platform-specific vocabulary

Transform Engine HTML Renderer Java for Swing toolkit Example of How UIML Is Used HTML for Web browser UIML/HTML vocabulary UIML/Java vocabulary Java Renderer UIML describing application with generic vocabulary

3. UIML as Building Block Task Model UIML Family Model for desktop platform UIML Family Model for WML platform UIML for Java Swing UIML for HTML UIML for VoiceXML UIML for WML Model->UIML Transformation 1 UIML->UIML Transformation UIML Family Model for Voice platform Generic UIML Platform-Specific UIML

Multi-platform UIs Family model is in UIML using generic vocabulary –Generic vocabulary contains UI widgets like G:TopContainer, G:Label, etc.

Task Model Using ConcurTaskTree notation –Developed by Fabio Paterno, CNUCE-C.N.R., Pisa, Italy Hierarchical tree-like structure –Each node in tree indicates a task –Temporal operator exists between adjacent sibling tasks

Task Types Four different task types –User –Interaction –Abstract –Application Eight different kinds of temporal operators

Use of Task Model Developer builds task model specifying task types and temporal operators Transformation done by system to create generic UIML, mapping –tasks to UIML ‘parts’ or widgets –temporal operators to UIML ‘behavior’

Sample Task Model

Interaction design Task Model-centric Interaction Design Task Model Family Model for desktop platform Family Model for phone platform UIML for Java Swing UIML for HTML UIML for VoiceXML UIML for WML Family Model for Voice platform Task/Domain analysis Interaction s/w design Interaction s/w impl. Traditional Usability Engineering

Future Research Accessibility –Treat accessible toolkits as a separate platform TIDE –Enhance the current version –Introduce more platforms

TIDE

Publications CADUI’2002 Full Paper CHI’2002 Short Paper Book chapter in edited book “Multi-Device User Interfaces: Engineering and Application Frameworks”

Questions?