1 / 27

Introduction to User Interface Markup Language (UIML)

Introduction to User Interface Markup Language (UIML). What is a Device?. A Scenario: A Hospital. Doctor reviews schedule on office PC makes rounds with handheld checks patient status from voice phone Patient has relapse Info system locates device closest to doctor

nuala
Download Presentation

Introduction to User Interface Markup Language (UIML)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to User Interface Markup Language(UIML)

  2. What is a Device?

  3. A Scenario: A Hospital • Doctor • reviews schedule on office PC • makes rounds with handheld • checks patient status from voice phone • Patient has relapse • Info system locates device closest to doctor • Text pager alerts message • Doctor orders tests via smart phone

  4. Problem: Tower of Babel Devicevariety Platform (Language & OS)variety + = Trouble !

  5. Troubles for Developers • Multiple source bases(WML, Java, C++, SpeechML, XUL, ...) • Keeping UIs consistent across devices • Tracking changes in too many languages • Learning to use too many interface technologies (voice, handwriting, …) • Vendor risk

  6. Trouble for System Admins • Need to install new releases of software for multiple devices

  7. Perspective • Situation today is analogous to PC industry 20 years ago: • Many types of devices, many APIs • Eventually operating systems shielded developers from device-specific APIs • UIML provides similar shield for devices

  8. Another Perspective Machine language Assembly language “High-level” language (C++, Java) Scripting languages Device-dependent markup Device-independent markup

  9. UIML Objective Universal, device-independent language • Able to describe family of UIs • Maps language to devices via style sheets • Works even for devices not yet invented

  10. Other UIML Objectives • Naturally separates UI from rest of application • Facilitates • rapid prototyping • accessibility • internationalization • Usable by non-programmers • Extensible

  11. UIML has 5 Key Concepts...

  12. Concept 1: 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 peer definition to make it useful • No need to change UIML as new devices invented

  13. UIML’s Approach UI description: <part name=“Line” class=“MenuItemOrIcon”> Style: <property class=”MenuItemOrIcon" name="rendering” value="java.awt.MenuItem” /> Events are handled similarly.

  14. Concept 2: No Loss of Power Two approaches to cross-device language: • Least common denominator • Preserve full capability of each device (Each device UI is a different view into a rich backend application)

  15. Concept 3: Specifying Any UI Answers 5 ?s... • Which UI elements present for device X? • What presentation style for X? • What words/sounds/images? • What interface events? • How to connect tobackend?

  16. UI description UI/backend connection Map to Java, etc. UIML Skeleton <?xml version="1.0" ...?> <uiml version="2.0b"> <interface> <structure name=“PC”>…</structure> <style>…</style> <content>…</content> <actions>…</actions> </interface> <logic>...</logic> <toolkit-peers> ... </toolkit-peers> </uiml>

  17. Handle button-clickin C++, VB code Handle it inscripting language Handle it declarative(in UIML itself) Concept 4: E volution of Event Handling

  18. Concept 5: UI = Elements + Style + Content • Facilitates internationalization: • Note that you didn’t see text for menuitem yet • Text for menu tag is in <data> section. • Multiple texts for multiple languages • Helps expert/novice UI problem

  19. Credits UIML is an evolution from lots of good ideas: • HTML/CSS/XSL separation of style • UI management systems from HCI community • The “X” in XML • ...

  20. To learn more... • uiml.org: tutorial, spec, Java renderer source code • Try it! Downloadable Java renderer • In progress: • SpeechML, WML, WinCE subset renderers • Dynamic interface server

  21. Family of Interfaces

  22. Rapid Prototyping Example • One UI definition • Two presentation styles

  23. No Scripting or Java codefor Events...

More Related