Device Independence with UIML (User Interface Markup Language)
AbdurehmanDawud
3 views
24 slides
Aug 05, 2024
Slide 1 of 24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
About This Presentation
about UML
Size: 596.77 KB
Language: en
Added: Aug 05, 2024
Slides: 24 pages
Slide Content
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
–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]
Application database
Content (XML, audio,…)
Device Adaption
UIML
XHTML VoiceXML XHTML VoiceXML
Where UIML Fits In
Using CC/PP
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
Problem with Existing
Approaches
•Suggested way to annotate existing markup:
<card>
<select class=“DISPLAY_SMALL”>
…
</card>
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
UIML Model
Interface
Structure
Style
Behavior
Content
LogicPresentation
Device / Platform
UI 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]
<?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>
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>
<peers> Maps Classes
to 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.
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
UIML Permits
Development Continuum
Use
device-specific
vocabulary:
<part Class=“JPopupMenu”>
versus
<part Class=“Select”>
Use
generic
vocabulary:
<part Class=“Menu” >
Fastest to
build
Richest user
experience
UIML Permits Families of UIs
Another Perspective…
Machine language
Assembly language
“High-level” language (C++, Java)
Scripting languages
Device-dependent markup
Device-independent markup
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]
European Workshop on UIML –
January 2001 in Paris
(see uiml.org)
Supplemental Slides
Quote
•Level 0 represents universal content, level 1
content with knowledge of device capability,
… [Jon C.S. Wu]
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]
More Quotes
•WML/WMLScript differs significantly from …
HTML/JavaScript. Hence format used
needs to be expressive enough [Guido Grassel]
•Identification of content should be device-
independent
•Text may be represented … in [either] fully-
formated… [or] paraphrased versions [Gimson]
More Quotes
•Choice between template-driven & content-
driven presentation generation [Sebastian Nykopp]
•Issue is interaction not presentation [Paul
Smethers on WAP]