Download presentation
Presentation is loading. Please wait.
1
stanford hci group / cs376 research topics in human-computer interaction http://cs376.stanford.edu I/O Toolkits Scott Klemmer 29 November 2005
2
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
3 Example: Java Swing GUI toolkit with a widget set and an API
4
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
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
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
7 DiamondSpin Toolkit Toolkit for tabletop user interfaces [Shen, Vernier, Forlines, Ringel] CHI ’04
8
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
9
10
10 DiamondSpin Video
11
11 iStuff Toolkit Physical UI components for ubiquitous computing environments (multiple users, devices, and applications) [Ballagas, Ringel, Stone, Borchers], CHI ‘03
12
12 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
13
13
14
14 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
15
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
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)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.