1 / 16

I/O Toolkits: Simplifying UI Development with Reusable Interface Components

Learn about I/O Toolkits and how they make it easier to develop user interfaces by providing reusable components that meet common input and output needs. Discover the benefits and drawbacks of using toolkits, as well as various types of specialized toolkits available.

heathern
Download Presentation

I/O Toolkits: Simplifying UI Development with Reusable Interface Components

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. I/O Toolkits Scott Klemmer 29 November 2005

  2. Recap: What are Interface Toolkits? • Goal: make it easier to develop user interfaces by providing application developers with reusable components that accomplish common input and output needs • Toolkits have a well-planned architecture and API & provide a library

  3. Example: Java Swing • GUI toolkit with a widget set and an API

  4. Example: M$ Interface Builder • Can specify widget placement and basic properties with a visual editor • Programmer writes code for widget callbacks and complex behaviors

  5. Why use toolkits? • Code reuse saves programmer time • 50% of code is for the GUI [Myers & Rosson, CHI ’92] • Consistent look & feel across apps • Easier to modify and iterate the UI • Make UI development accessible to more people • Non-artists • Non-programmers???

  6. Drawbacks • Can be limiting – developers are likely to make the kinds of UIs that the toolkit makes easy • Traditional GUI toolkits are problematic for non-WIMP user interfaces such as: • Groupware • Physical UIs

  7. DiamondSpin Toolkit • Toolkit for tabletop user interfaces • [Shen, Vernier, Forlines, Ringel] CHI ’04

  8. Tabletop UI Needs • Multi-user support • Identity-aware widgets • Multiple menus • Public and personal spaces • Resolving conflicting actions • Arbitrary orientation of UI elements • Techniques to control orientation and layout • Rotation sensitive components

  9. DiamondSpin Video

  10. iStuff Toolkit • Physical UI components for ubiquitous computing environments (multiple users, devices, and applications) • [Ballagas, Ringel, Stone, Borchers], CHI ‘03

  11. iStuff Design • iStuff components • Device + proxy (“smarts” are in the proxy) • PatchPanel • Translate between iStuff events and application-specific events • Run-time retargetable events • Address dimension mismatches

  12. Evaluating Toolkits • Ease of use • A toolkit’s API is a user interface, too! [Klemmer et al., 2004] evaluated the API of Papier-Mache • Depth, Breadth, and Extensibility • Systems issues • Speed • Portability

  13. Current Research Challenges • Complex design space • e.g., Do we have to update the toolkit every time someone creates a new sensor or actuator? • Ambiguous input • Speech, gestures, computer vision, etc. aren’t recognized as accurately as mouse clicks. Should the toolkit handle the recognition?

  14. Summary • I/O Toolkits provide reusable interface components to simplify UI development • Toolkit trap: it’s tempting to only make UIs that the toolkit makes easy, instead of making what’s best for a specific app • Toolkit types: • WIMP (Garnet, Swing, Motif, etc) • Speciality (Phidgets, iStuff, Papier-Mache, DiamondSpin, GroupKit, Peripheral Displays Toolkit, etc)

More Related