Presentation is loading. Please wait.

Presentation is loading. Please wait.

I/O Toolkits Scott Klemmer · 16 November 2006.

Similar presentations


Presentation on theme: "I/O Toolkits Scott Klemmer · 16 November 2006."— Presentation transcript:

1 I/O Toolkits Scott Klemmer · 16 November 2006

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

10 DiamondSpin Video

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

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

13

14 Evaluating Toolkits Ease of use Depth, Breadth, and Extensibility
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

15 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?

16 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)

17 Next Time… Display Techniques
Interactive public ambient displays: transitioning from implicit to explicit, public to personal, interaction with multiple users, Daniel Vogel, Ravin Balakrishnan SUPPLE: Automatically Generating User Interfaces, Krzysztof Gajos and Daniel S. Weld


Download ppt "I/O Toolkits Scott Klemmer · 16 November 2006."

Similar presentations


Ads by Google