Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.

Slides:



Advertisements
Similar presentations
implementation support
Advertisements

Task 1 Draw a picture of a person using a computer You have 60 seconds.
Midterm Several high 90s Average: 91% = A-. Project – Evaluation Plan See doc Exercise: plan for your evaluation now in- class!
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Event Driven Programming and GUIs Part 3 CS221 – 4/15/09.
Prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005.
Stanford hci group / cs376 research topics in human-computer interaction Vision-based Interaction Scott Klemmer 17 November 2005.
Stanford hci group / cs376 research topics in human-computer interaction Collaborative Spaces Scott Klemmer 18 October 2005 Paul.
Past, Present and Future of User Interface Software Tools
UQI120S2 Human Computer Interaction Designing and building GUIs We made the point that the final product should fit the cognitive makeup of the user. We.
1jkembel : April 24, 2003 : AUI Toolkits for Ubiquitous Computing, Context Awareness, and CSCW.
Stanford hci group / cs376 research topics in human-computer interaction Multimodal Interfaces Scott Klemmer 15 November 2005.
Graphical User Interface (GUI) Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Ch 7 & 8 Interaction Styles page 1 CS 368 Designing the Interaction Interaction Design The look and feel (appearance and behavior) of interaction objects.
© 1999 Franz Kurfess UI Development Tools 1 Course Overview  Introduction  Understanding Users and Their Tasks  Principles and Guidelines  Interacting.
0 CS 160: Design Process: Implement Event-based UI Programming, Model-View-Controller, and the Web Jeffrey Nichols IBM Almaden Research Center
0 HCI Today Talk about HCI Success Stories Talk about HCI Success Stories Talk about Norman’s Paper Talk about Norman’s Paper Start talking about The human.
Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.
Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.
Stanford hci group / cs376 research topics in human-computer interaction UI Software Tools Scott Klemmer 27 October 2005.
Course: Introduction to Computers
Human Computer Interaction Implementation Support.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
MVC pattern and implementation in java
Electronic Visualization Laboratory, University of Illinois at Chicago PAVIS Pervasive Adaptive Visualization and Interaction Service Javid Alimohideen.
Software Tools.  It accomplishes an important task  (for better and for worse) You don’t have to make it yourself, and it abstracts a set of knowledge.
Towards a Unified Interaction Framework for Ubicomp User Interfaces Jason I. Hong Scott Lederer Mark W. Newman G r o u p f o r User Interface Research.
Software Construction Lecture 10 Frameworks
Model-View-Controller Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Most modern operating systems incorporate these five components.
CompSci 230 S Software Construction Frameworks & GUI Programming.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
User Interface Toolkit Mechanisms For Securing Interface Elements Franziska Roesner, James Fogarty, Tadayoshi Kohno Computer Science & Engineering DUB.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Stanford hci group / cs376 u Scott Klemmer · 30 November 2006 UI Software Tools.
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
Swing and MVCS CompSci 230 Software Construction.
Enabling User Interactions with Video Contents Khalad Hasan, Yang Wang, Wing Kwong and Pourang Irani.
Human Computer Interaction © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
User Interfaces for Post-Desktop Environments Jan Borchers Stanford Interactivity Lab Advanced Systems Development Lab.
IStuff Mobile: Rapidly Prototyping New Mobile Phone Interfaces for Ubiquitous Computing Rafael Ballagas, Faraz Memon, Ren´e Reiners, Jan Borchers Media.
Foundation year Lec.3: Computer SoftwareLec.3: Computer Software Lecturer: Dalia Mirghani Year: 2014/2015.
Frameworks CompSci 230 S Software Construction.
Intermediary Translation Map A-> 2,3 C->1 1->B 2->B A iStuff Input Component 1 Application C iStuff Input Component B iStuff Input Component 2 Application.
Stanford hci group / cs147 u 04 December 2007 Software Tools Scott Klemmer tas: Marcello Bastea-Forte, Joel Brandt, Neil Patel,
Stanford hci group / cs376 u Jeffrey Heer · 26 May 2009 User Interface Toolkits.
Define and describe operating systems which contain a Command Line Interface (CLI) Define and describe operating systems which contain a Graphical User.
Visualization Four groups Design pattern for information visualization
Different Types of HCI CLI Menu Driven GUI NLI
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
Post-Desktop User Interfaces iStuff and the Search for the Great Unified Input Theory Jan Borchers Stanford University CS547, Oct 17, 2002.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt.
Stanford hci group / cs376 u Scott Klemmer · 28 November 2006 Vision- Based Interacti on.
Iterative Design and Evaluation of Event Architecture for Pen-and-Paper Interfaces HCI Group Stanford University Ron B. Yeh Andreas Paepcke Scott R. Klemmer.
Papier-Mache: Toolkit Support for Tangible Input HCI Group University of California Scott R. Klemmer Jack Li James Lin DUB Group University of Washington.
Support for the Development of Interactive Systems
CompSci 230 S Software Construction
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
Java Look-and-Feel Design Guidelines
Prototyping.
Chapter 2: GUI API Chapter 2.
Andrew J. Ko & Brad A. Myers Carnegie Mellon University
Class Announcements 1 week left until project presentations!
Building Graphical User Interface with Swing a short introduction
I/O Toolkits Scott Klemmer · 16 November 2006.
Implementation support
Implementation support
Presentation transcript:

stanford hci group / cs376 research topics in human-computer interaction 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

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