24
Device-Independence with UIML (User Interface Markup Language) Marc Abrams [email protected] uiml.org W3C Workshop on Web Device Independent Authoring October 2000

Device-Independence with UIML (User Interface Markup Language)

  • Upload
    dionne

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

Device-Independence with UIML (User Interface Markup Language). Marc Abrams [email protected] uiml.org W3C Workshop on Web Device Independent Authoring October 2000. Quotes from Position Papers. New XML language should Allow author-once-deploy many scenarios - PowerPoint PPT Presentation

Citation preview

Page 1: Device-Independence with UIML (User Interface Markup Language)

Device-Independence with UIML(User Interface Markup Language)

Marc [email protected]

uiml.org

W3C Workshop on Web Device Independent AuthoringOctober 2000

Page 2: Device-Independence with UIML (User Interface Markup Language)

Quotes from Position Papers• New XML language should

– Allow author-once-deploy many scenarios– Achieve clean separation between behavior, content,

presentation [Ruud Siebelink]

• Issue is interaction not presentation [Paul Smethers, WAP]

• Ideal solution: write well-formed code once [Jansen]

• Semantics [meaning of Web content] must be made clear at primary design level [William Loughborough]

• Must adapt to new devices not envisioned[Ralph Case, Stephane Maes]

Page 3: Device-Independence with UIML (User Interface Markup Language)

Application database

Content (XML, audio,…)

Device Adaption

UIML

XHTML VoiceXML XHTML VoiceXML

Where UIML Fits In

Using CC/PP

Page 4: Device-Independence with UIML (User Interface Markup Language)

UIML… One Part of a Solution• 3+ years in development at Harmonia,

Center for HCI at Virginia Tech• Tools downloaded in 40+ countries• Compile to anything• Anyone can freely implement UIML• Objective is open standard• One canonical representation of UI for

any device, language, OS, UI-metaphor

Page 5: Device-Independence with UIML (User Interface Markup Language)

Problem with Existing Approaches

• Suggested way to annotate existing markup:<card>

<select class=“DISPLAY_SMALL”>…

</card>

Page 6: Device-Independence with UIML (User Interface Markup Language)

Key Concept:UIML is a “Meta” Language

• XML– Doesn’t define tags (<P>,…)– Must add doc type definition to make it useful– No need to change XML as new tag sets invented

• UIML – Doesn’t define tool-kit specific tags (<Menu>,…)– Uses a few powerful tags (<part>, <property>,…)– Must add toolkit vocabulary to make it useful– No need to change UIML as new devices invented

Page 7: Device-Independence with UIML (User Interface Markup Language)

UIML Model

InterfaceStructure

Style

BehaviorContent

LogicPresentation

Device / PlatformUI Metaphor Application

6-way separation of UI description (vs. 3-way MVC)

Underlying principle of single authoring is MVC [to separate content/structure] [Ralph Case, Stephane Maes]

Page 8: Device-Independence with UIML (User Interface Markup Language)

<?xml version="1.0" ... ?><uiml version="2.0">

</uiml>

UIML Skeleton

What parts comprise the UI &what’s their relationship?

<interface> <structure> <part class=“Button”> … </part>

... </structure>

</interface>

Page 9: Device-Independence with UIML (User Interface Markup Language)

UIML Skeleton

What presentation style for each part?

<style>…</style>

What content for each part?(text, sounds, image, …)

<style>…</style><content>…</content><style>…</style><content>…</content><style>…</style><content>…</content>

What behavior do parts have?

<style>…</style><content>…</content><behavior>…</behavior>

<style>…</style><content>…</content><style>…</style><content>…</content><behavior>…</behavior>

<style>…</style><content>…</content><behavior>…</behavior>

How to connect to outside world? (business logic, UI toolkit object)<peers>...</peers>

<?xml version="1.0" ... ?><uiml version="2.0">

<interface> <structure>…</structure>

</interface>

</uiml>

Page 10: Device-Independence with UIML (User Interface Markup Language)

<peers> Maps Classesto Targets

<d-class name="JButton" … maps-to="javax.swing.JButton">

…</d-class>

Versus

<d-class name="JButton" … maps-to=“html:input"> …</d-class>

This part is written once, like a device driver for an OS.Events and calls to outside world handled similarly.

Page 11: Device-Independence with UIML (User Interface Markup Language)

NxM Problem• App composed on

• M “pages” • accessed via N devices • requires NxM authoring steps

[Ralph Case, Stephane Maes]

XML

Java

HTML...UIML

Reduces to N+M

Page 12: Device-Independence with UIML (User Interface Markup Language)

UIML PermitsDevelopment Continuum

Usedevice-specificvocabulary:<part Class=“JPopupMenu”>versus<part Class=“Select”>

Usegeneric

vocabulary:<part Class=“Menu” >

Fastest to build

Richest user experience

Page 13: Device-Independence with UIML (User Interface Markup Language)

UIML Permits Families of UIs

Page 14: Device-Independence with UIML (User Interface Markup Language)

Another Perspective…

Machine language

Assembly language

“High-level” language (C++, Java)

Scripting languages

Device-dependent markup

Device-independent markup

Page 15: Device-Independence with UIML (User Interface Markup Language)

Still…UIML is Not a Silver Bullet…Some open problems:• Aid/enforce accessibility guidelines [Jon Wu]

• Support auto adaptation/personalization[Ruud Siebelink]

• Reorganizing UI: – Many apps will need to be re-designed entirely

[Guido Grassel]

– 1 page in a desktop Web browser might be split into 2 screens for TV [Peter Ferne]

Page 16: Device-Independence with UIML (User Interface Markup Language)

European Workshop on UIML –January 2001 in Paris

(see uiml.org)

Page 17: Device-Independence with UIML (User Interface Markup Language)
Page 18: Device-Independence with UIML (User Interface Markup Language)

Supplemental Slides

Page 19: Device-Independence with UIML (User Interface Markup Language)

Quote• Level 0 represents universal content, level 1

content with knowledge of device capability,… [Jon C.S. Wu]

Page 20: Device-Independence with UIML (User Interface Markup Language)

More Quotes• Assumption that there is primordial

content… forming single original document…

• These assumptions are false… • A news story in one paragraph in tabloid is

not same as an extended column in a broadcast [Miles Sabin]

Page 21: Device-Independence with UIML (User Interface Markup Language)

More Quotes• WML/WMLScript differs significantly from …

HTML/JavaScript. Hence format used needs to be expressive enough [Guido Grassel]

Page 22: Device-Independence with UIML (User Interface Markup Language)

• Identification of content should be device-independent

• Text may be represented … in [either] fully-formated… [or] paraphrased versions [Gimson]

Page 23: Device-Independence with UIML (User Interface Markup Language)

More Quotes• Choice between template-driven & content-

driven presentation generation [Sebastian Nykopp]

• Issue is interaction not presentation [Paul Smethers on WAP]

Page 24: Device-Independence with UIML (User Interface Markup Language)

Toward N + M