Download presentation
Presentation is loading. Please wait.
Published byBeverly McCarthy Modified over 5 years ago
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.