|
|
|
|
|
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] |
|
|
|
|
|
|
|
|
|
|
|
One canonical representation of UI for
any device, language, OS, UI-metaphor |
|
3+ years in development at Harmonia, Center for
HCI at Virginia Tech |
|
Tools downloaded in 40+ countries |
|
Can be compiled to lots of things |
|
Anyone can freely implement UIML |
|
Objective is open standard |
|
|
|
|
|
|
|
Suggested way to annotate existing markup: |
|
<card> |
|
<select class=“DISPLAY_SMALL”> |
|
… |
|
</card> |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
What parts comprise the UI &
what’s their relationship? |
|
|
|
|
<?xml version="1.0" ... ?> |
|
<uiml version="2.0"> |
|
|
|
<interface> |
|
<structure>…</structure> |
|
|
|
|
|
|
|
|
|
|
|
</interface> |
|
|
|
</uiml> |
|
|
|
|
<?xml version="1.0" ... ?> |
|
<uiml version="2.0"> |
|
|
|
<interface> |
|
<structure>…</structure> |
|
|
|
|
|
|
|
|
|
|
|
</interface> |
|
|
|
</uiml> |
|
|
|
|
<?xml version="1.0" ... ?> |
|
<uiml version="2.0"> |
|
|
|
<interface> |
|
<structure>…</structure> |
|
|
|
|
|
|
|
|
|
|
|
</interface> |
|
|
|
</uiml> |
|
|
|
|
<?xml version="1.0" ... ?> |
|
<uiml version="2.0"> |
|
|
|
<interface> |
|
<structure>…</structure> |
|
|
|
|
|
|
|
|
|
|
|
</interface> |
|
|
|
</uiml> |
|
|
|
|
<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. |
|
|
|
|
|
|
|
App composed on |
|
M “pages” |
|
accessed via N devices |
|
requires NxM authoring steps |
|
[Ralph Case, Stephane Maes] |
|
|
|
|
|
|
|
App composed on |
|
M “pages” |
|
accessed via N devices |
|
requires NxM authoring steps |
|
[Ralph Case, Stephane Maes] |
|
|
|
|
|
|
|
|
|
|
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] |
|
|
|
|
Visit uiml.org |
|
|
|
Upcoming:
European Workshop on UIML –
January 2001 in Paris |
|