Programming Support for Natural Interaction

Slides:



Advertisements
Similar presentations
Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
Advertisements

XML 6.7 XForms 6. Motivation HTML forms deliver the interactive WWW Forms are what make electronic transactions possible HTML forms are long overdue for.
Interaction Techniques for Ambiguity Resolution in Recognition-based Interfaces Jennifer Mankoff CoC & GVU Center Georgia Tech.
C MU U sable P rivacy and S ecurity Laboratory Sensor-Based Interactions Kami Vaniea.
XISL language XISL= eXtensible Interaction Sheet Language or XISL=eXtensible Interaction Scenario Language.
Jason Hong James Landay A. Chris Long Jennifer Mankoff Sketch Recognizers from the End-User’s, the Designer’s, and the Programmer’s Perspective.
Midterm Several high 90s Average: 91% = A-. Project – Evaluation Plan See doc Exercise: plan for your evaluation now in- class!
Context-aware / Multimodal UI Breakout Summary James A. Landay, et. al. HCC Retreat July 7, 2000.
John Hu Nov. 9, 2004 Multimodal Interfaces Oviatt, S. Multimodal interfaces Mankoff, J., Hudson, S.E., & Abowd, G.D. Interaction techniques for ambiguity.
Stanford hci group / cs376 research topics in human-computer interaction Multimodal Interfaces Scott Klemmer 15 November 2005.
Nov Jason Hong and James Landay University of California Berkeley Group for User Interface Research.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
1 The subArctic Input System and Extensions for Handling Inputs with Ambiguity.
1 The subArctic Input System and Extensions for Handling Inputs with Ambiguity.
Mobile Multimodal Applications. Dr. Roman Englert, Gregor Glass March 23 rd, 2006.
Systems Analysis and Design in a Changing World, 6th Edition
MVC pattern and implementation in java
Electronic Visualization Laboratory, University of Illinois at Chicago PAVIS Pervasive Adaptive Visualization and Interaction Service Javid Alimohideen.
Software Development Stephenson College. Classic Life Cycle.
Speech User Interfaces Katherine Everitt CSE 490 JL Section Wednesday, Oct 27.
SCV2113 Human Computer Interaction Semester 1, 2013/2013.
Modal Interfaces & Speech User Interfaces Katherine Everitt CSE 490F Section Nov 20 & 21, 2006.
1 Chapter 7 Designing for the Human Experience in Smart Environments.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Integration of Search and Learning Algorithms Eugene Fink.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture Introduction Sketching Interface.
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture 4: Graphic User Interface Graphical User Interface Larry Rudolph MIT 6.893; SMA 5508 Spring 2004.
An Architecture to Support Context-Aware Applications
Using Social Network Analysis Methods for the Prediction of Faulty Components Gholamreza Safi.
1 Jennifer Mankoff CoC & GVU Center Georgia Tech Programming Support for Natural Interaction.
Pen Based User Interface II CSE 481b January 25, 2005.
Stanford hci group / cs376 u Jeffrey Heer · 19 May 2009 Speech & Multimodal Interfaces.
W3C Multimodal Interaction Activities Deborah A. Dahl August 9, 2006.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
Speech and multimodal Jesse Cirimele. papers “Multimodal interaction” Sharon Oviatt “Designing SpeechActs” Yankelovich et al.
MULTIMODAL AND NATURAL COMPUTER INTERACTION Domas Jonaitis.
Perceptive Computing Democracy Communism Architecture The Steam Engine WheelFire Zero Domestication Iron Ships Electricity The Vacuum tube E=mc 2 The.
Introduction to Operating Systems Concepts
Electronic Visualization Laboratory University of Illinois at Chicago
Talking with computers
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
System Design Ashima Wadhwa.
DCC Workshop Input from Computing Coordination
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Part 3 Design What does design mean in different fields?
Understand Windows Forms Applications and Console-based Applications
VCE IT Theory Slideshows by Mark Kelly study design
Group “A” Researchers 7/20/2005
Multimodal Interfaces
Chapter 12: Automated data collection methods
Class Announcements 1 week left until project presentations!
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Model-View-Controller Patterns and Frameworks
12/5/2018 The subArctic Input System and Extensions for Handling Inputs with Ambiguity.
Tangible Interaction & Augmented Reality
Multimodal Human-Computer Interaction New Interaction Techniques 22. 1
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
I/O Toolkits Scott Klemmer · 16 November 2006.
Professor John Canny Spring 2003
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
DATABASE DESIGN & DEVELOPMENT
ACM programming contest
Architectural Mismatch: Why reuse is so hard?
Perspective on Web Game Tech from the Instant Games team
Mapping GUIs to Auditory Interfaces
TieFlow Workflow Toolkit Process Definition XML
Presentation transcript:

Programming Support for Natural Interaction Jennifer Mankoff CoC & GVU Center Georgia Tech

Acknowledgements Gregory Abowd & Scott Hudson FCE Group & GVU NSF & IBM

Natural Interaction Mouse + Keyboard work great for killer apps of the GUI world Problems Arise… Off the desktop (Ubiquitous computing) People with disabilities My interest: Providing general support for interaction design in this space of problems

Outline of Talk Output Input Augmenting physical objects and spaces Recognition in the face of errors Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low bandwidth, ambiguous input

Output: Augmenting physical objects and spaces PALplates User study Exploration Domisilica Dual augmentation General infrastructure

Contents: an Instant Jello Pudding:French Vanilla a 16oz Ferrara Capellini-Angel Hair a Hamburger Helper: Beef Noodle ...

Outline of Talk Output Input Augmenting physical objects and spaces General support for exploring new domains Input

Input Recognition Low Bandwidth, Ambiguous Input Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low Bandwidth, Ambiguous Input

Recognition Recognition is becoming ubiquitous Recognition is difficult to use A range of interface problems result OOPS toolkit helps solve them

Research Method Evaluators Builders Study individual problems/solutions Design space of possible solutions Builders Facilitate solutions to sets of problems (Architectural / toolkit solutions) Design space exploration by a larger community

Input Recognition Low Bandwidth, Ambiguous Input Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low Bandwidth, Ambiguous Input

Definitions Recognizer Error Mediation interprets user input creates ambiguity Error mistake from user’s perspective represented with ambiguity Mediation dialogue between user and computer used for resolving ambiguity

SILK (Landay, 1996)

Burlap

Design Space of Mediation Techniques Multimodal Suhm (98) McGee et al (98) Handwriting Huerst, Yang & Waibel (98) Speech Ainsworth & Pratt (92) Baber & Hone (93) IUIs Horvitz (99) Many Others…

Design Space of Mediation Techniques Two major classes Repetition Choice

Design Space of Mediation Techniques Two major classes Repetition Choice

Input Motivation: Alternatives to Keyboard/Mouse Recognition Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low Bandwidth, Ambiguous Input

OOPS Toolkit (CHI’00) Toolkit-level support for handling ambiguity in recognition Library of mediators Architectural support Based on subArctic

Architectural Support INDEPENDENT of any specific toolkit Separation of mediators, recognizers, and application Communication by a common internal model (ambiguous hierarchical events) Maintains ambiguity indefinitely

Related Work GUI GUI+Recognition Context Multimodal Garnet/interactors (Myers ‘90) X toolkits (Rosenberg et al. ’90) GUI+Recognition SATIN (Hong et al ’00) Extended Amulet (Landay & Myers ’93) PPSM (Hudson&Newell ’92) Artkit (Henry et al. ’90) Context Context Toolkit (Dey et al ’00) PARCPad, etc (Schilit et al. ’94) Multimodal OAA (Cohen et al ’94/Oviatt ’99) PAC-Amodeus (Nigay& Coutaz ’95)

Three key pieces Ambiguous hierarchical events Mediation subsystem Changes to event dispatch

Ambiguous Hierarchical Events Myers & Kosbie ‘96 stroke down drag up • • • s c down drag up • • • stroke s

Mediation Subsystem Ambiguity is identified automatically Presence of multiple interactor nodes Hierarchy is passed to mediators Recognizers, recipients informed of accept/reject decisions Accept/reject modifies hierarchy Application selects mediators from library

Event Dispatch Problem: all recipients must support ambiguity A sensed event arrives It is dispatched to all recognizers It is mediated rec1 rec2 Input handler event rec3 rec4 recn med2 med1 med4 med3 medn

Modified Event Dispatch 1. A sensed event arrives 2a. It is dispatched to ambiguity unaware components 2b. It is dispatched to all recognizers It is mediated Any accepted leaf nodes are dispatched to ambiguity unaware components

Comparison OOPS 1990’s GUI recogs mediators application application recognizers meds inter interactors Input handler Input handler stroke s c

Input Recognition Low Bandwidth, Ambiguous Input Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low Bandwidth, Ambiguous Input

Validation Doing what’s been done Architecture: 2 Toolkits Burlap (complex app) ~15 Mediators (based on design space) Architecture: 2 Toolkits “direct” hookup in GUI world Context Toolkit extensions (Dey) Making new things possible: 4 problem areas

Problem Areas (UIST ’00) Errors & Ambiguity Mediation rejection errors target ambiguity Mediation adding alternatives occlusion

Target Ambiguity Problem: There may be multiple targets of a user action Example: clicking Kabbash (95) Worden (97)

Target Ambiguity Problem: There may be multiple targets of a user action Example: Clicking Solution: Give the user a choice of all of the targets

Target Ambiguity Analysis: Any interface involving mouse press/release Requires separation of concerns Works with all interactors Problem: There may be multiple targets of a user action Example: Clicking Solution: Give the user a choice of all of the targets

Adding alternatives Problem: The correct choice isn’t always present

Adding alternatives Problem: The correct choice isn’t always present Example: word-prediction

Adding alternatives Problem: The correct choice isn’t always present Example: word-prediction Solution: Allow the user to add choices

Adding alternatives Problem: The correct choice isn’t always present Example: word-prediction Solution: Allow the user to add choices Analysis: Closely related choices (e.g. URL prediction) Requires extensible mediators Benefits from recognizer API

Contributions (Recognition) Resolution of ambiguity in recognition through mediation Architectural support (2 toolkits) Exploration of domain of mediators

Future Work (Recognition) Testing Implicit Input (Current) Intelligent Mediation “Lazy” alternative generation Meta-intelligence General support for varied inputs

Input Recognition Low Bandwidth, Ambiguous Input Motivation and Design Space Contribution: Toolkit-level support Validation: 2 Toolkits, Problem areas Low Bandwidth, Ambiguous Input

Brain-computer interface (Current) Locked-in Syndrome Neural Mouse Control

Low-Bandwidth Input No alternative modalities available Need for efficient error handling Challenge: interpret brain signal in as rich a form as possible

Automatic Conversion for Low Bandwidth Input Web Browser Example: Automatic URL extraction Preview Area Generalization – Next step for natural interaction

Conclusions Interaction design for ubiquity, disability Dual augmentation Ambiguity in recognition Low bandwidth or error-prone input Exploration of new interaction techniques Four mediation problems Low Bandwidth input General, re-usable solutions Domisilica OOPS toolkit Extended Context Toolkit

http://www.cc.gatech.edu/fce/errata/ jmankoff@cc.gatech.edu Further Information http://www.cc.gatech.edu/fce/errata/ jmankoff@cc.gatech.edu

What about Alternative Explosion? Fairly independent, discrete interactions Some stuff stays in recognizers Recognition API helps Only cache ambiguous events Work to be done…

How general is “general”? Two Toolkits Two complex applications Library of existing mediators Explorations of 4 problem areas (UIST 00)

Is subArctic doing the work here? No, our minimal requirements are common in today’s toolkits: An event-based toolkit An input-handling module that delivers events to the appropriate places A library of interactors/widgets Access to source code (OOPS is not just a library!)

Comparing SILK and Burlap

Alternative Forms of Input Cirrin (UIST 98)

Alternative Forms of Input Cirrin (UIST 98) Cerebral Palsy (Cursor Activity Recognition; Current)

Alternative Forms of Input Cirrin (UIST 98) Cerebral Palsy (Cursor Activity Recognition; Current) Recognition

Interaction design for ambiguity: Supporting Creativity Converting a the brain signal to music Example Two possible experiences Trying to play a piano with ones feet Having an artistic voice no one else can reproduce

Library of mediators Design space based on survey Generic and re-usable Three major classes Repetition Choice Automatic if (result is “dos”) reject it else do nothing

Comparison OOPS 1990’s GUI recogs mediators application application recognizers meds inter interactors Input handler Input handler stroke s c