Nov 06 2000 1 Jason Hong and James Landay University of California Berkeley Group for User Interface Research.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
COMPUTERS: TOOLS FOR AN INFORMATION AGE Chapter 3 Operating Systems.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
COURSE: COMPUTER PLATFORMS
Management Framework for Amazon EC2 Speaker: Frank Bitzer
Jason Hong James Landay A. Chris Long Jennifer Mankoff Sketch Recognizers from the End-User’s, the Designer’s, and the Programmer’s Perspective.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 2 nd Edition Chapter 4: Threads.
DENIM A Brief Tutorial By Philip Luedke. Introduction An Informal Tool For Early Stage Web Site and UI Design Early Stage Web Site and UI Design DENIM.
John Hu Nov. 9, 2004 Multimodal Interfaces Oviatt, S. Multimodal interfaces Mankoff, J., Hudson, S.E., & Abowd, G.D. Interaction techniques for ambiguity.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
DENIM: Finding a Tighter Fit with Web Design Practice James Lin, Mark W. Newman, Jason I. Hong, James A. Landay April 6, 2000 CHI 2000, The Hague
Combining Informal and Tangible Interfaces for Early Stages of Web Site Design Raecine Sapien Mentor: Mark Newman Professor: Dr. James Landay This presentation.
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
0 CS 160: Design Process: Implement Event-based UI Programming, Model-View-Controller, and the Web Jeffrey Nichols IBM Almaden Research Center
Object-Oriented Analysis and Design
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.
1 Software Reuse in Eclipse Kellie-Ann Smith Norgye Yuanyuan Song Xiang Yin Jia Xu.
WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet Tara Matthews Seattle University April 5, 2001 Faculty Mentor:
1 / 23 Microsoft Tablet PC Technology Thomas Dodds Declan O’Gorman David Pickles Stephen Pond An overview of Microsoft Tablet PC technology and current.
Human Computer Interaction Implementation Support.
CC1007NI: Further Programming Week 5 Dhruba Sen Module Leader (Islington College)
Jia Sheng, DGP, Sketching for Interface Design Jia Sheng
Knowledge Systems Lab JN 8/24/2015 A Method for Temporal Hand Gesture Recognition Joshua R. New Knowledge Systems Laboratory Jacksonville State University.
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.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Software Construction Lecture 10 Frameworks
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
Piccolo: A Scalable Structured Graphics Toolkit Aaron Clamage, Jesse Grosjean Ben Bederson University of Maryland Human-Computer Interaction Lab Computer.
Automated GUI testing How to test an interactive application automatically?
Android for Java Developers Denver Java Users Group Jan 11, Mike
Sadegh Aliakbary Sharif University of Technology Fall 2012.
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
Code for touch, get mouse and pen for free Pointer API captures pen motion, passing coordinates to Ink API Ink API helps render and stores motion.
Building Applications with the KNS. The History of the KNS KFS spent a large amount of development time up front, using the best talent from each of the.
Fall 2002CS/PSY Dialog Design 3 How to use a PDA.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Generating Abstract User Interfaces from an Informal Design Adrien Coyette University of Louvain Information Systems Unit Louvain-la-Neuve BELGIUM.
SketchWizard: Wizard of Oz Prototyping of Pen-Based User Interface Richard C. Davis 1 T. Scott Saponas 3 Michael Shilman 4 James A. Landay 2, 3 1 CS Division,
Frameworks CompSci 230 S Software Construction.
1 Jennifer Mankoff CoC & GVU Center Georgia Tech Programming Support for Natural Interaction.
Gesture Input and Gesture Recognition Algorithms.
Visualization Four groups Design pattern for information visualization
SILKWeb: A Sketching Tool for Informal Web Page Design Mark Newman, James Landay, Francis Li, Kalpana Joshi July 9, 1998 C&C Research Labs, NEC
A Generalized Architecture for Bookmark and Replay Techniques Thesis Proposal By Napassaporn Likhitsajjakul.
Abstract Writing Workshop Grady Gauthier Jason I. Hong EECS Department University of California at Berkeley.
A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
SATIN: S ketch And T ransformational IN frastructure Jason Hong UC Berkeley Group for User Interface Research Project Status Report - 07/22/1999.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
ArgoUML Peterson Lorins Chi-Hwa John Marcos Dawid Trawczynski Leticia Izquierdo EEL5881 Software Engineering I Spring 2002 – Dr. Schiavone.
Dude, Where's My Car? And Other Questions in Context-Awareness Jason I. Hong James A. Landay Group for User Interface Research University of California.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
Informal PUIs: No Recognition Required James Landay Jason Hong Scott Klemmer James Lin Mark Newman.
Gesture Input and Gesture Recognition Algorithms
Microsoft Foundation Classes MFC
CompSci 230 S Software Construction
Nope OS Prepared by, Project Guides: Ms. Divya K V Ms. Jucy Vareed
Class Announcements 1 week left until project presentations!
Building Graphical User Interface with Swing a short introduction
12/5/2018 The subArctic Input System and Extensions for Handling Inputs with Ambiguity.
I/O Toolkits Scott Klemmer · 16 November 2006.
Programming Support for Natural Interaction
UI Issues, Neural Nets, RTS
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
An Introduction to the Windows Operating System
Presentation transcript:

Nov Jason Hong and James Landay University of California Berkeley Group for User Interface Research

Nov Motivation Sketching is useful in many settings

Nov Creative / Design SILK Music Notepad Knight Elec. Cocktail Napkin Teddy PatchWork Survey of Informal Ink Apps Capture ZenPad NotePals Dynomite FiloChat Others Pegasus XLibris PerSketch Kramer's Patches Whiteboard Tivoli Flatland

Nov Example - Elec. Cocktail Napkin Gross and Do (UIST96)

Nov Example - Flatland Igarashi, Edwards, LaMarca, and Mynatt (AVI2000)

Nov Common Features Pen input as ink or gesture Stroke is pen input from dragging Ink is a stroke that stays on-screen Gesture is a stroke that activates a command Recognize ink as objects Transformation / clean-up of ink Immediate / deferred processing of ink erase me

Nov Common Features Contain objects in addition to ink Selecting and moving objects Grouping of objects Layering of objects

Nov Related Work Commercial Software Support –Newton OS –PenPoint –Microsoft Windows for Pen Computing –Windows CE –Palm OS Problems –Form-based and handwriting interfaces –Not easily extensible for building informal ink apps

Nov Related Work Research Software Support –ArtKit (Henry et. al. 1990) –Garnet Pen Int.(Landay et. al. 1993) –Patches (Kramer, 1994) –OOPS (Mankoff et. al. 2000) Problems –Need more reusable libraries for handling and processing strokes –Need more extensibility so lots of kinds of informal ink apps can be built

Nov Problems Software infrastructure support for informal ink apps rudimentary Pen-based interaction techniques difficult to implement Similar to GUI development in 1980s –Lots of applications + interaction techniques –Need cohesive frameworks + toolkits

Nov Goals of SATIN Toolkit support for informal ink apps –Provide reusable mechanisms for handling + processing strokes –Separate mechanism from policy –Be extensible for new kinds of apps Reusable widgets for pens Distribute this toolkit for use

Nov Overview  Motivation  Survey of Informal Ink Applications  Two Applications Built with SATIN  SATIN Architecture Overview  Conclusions

Nov DENIM

Nov SketchySPICE

Nov SketchySPICE

Nov SketchySPICE

Nov Some Metrics SATINDENIMSketchy SPICE #source files #methods #classes #lines of code time1 person 18 months 3 people 3 months 1 person 3 days

Nov Overview  Motivation  Survey of Informal Ink Applications  Two Applications Built with SATIN  SATIN Architecture Overview  Conclusions

Nov Architecture Overview Java Core Classes Java Virtual Machine Java2D SATIN Swing Application SATIN relies on Java2D and Swing Applications use SATIN, can use Java2D and Swing

Nov Architecture Overview SATIN can be broken into twelve concepts Recognizers InterpretersScenegraph Stroke Libraries Widgets Views Rendering Transitions Clipboard Notification Command Events

Nov Recognizers Problem - many recognition techniques Recognizers let new recognition technologies be plugged into SATIN Given a stroke, return n-best list No actions taken SATIN comes with Rubine's Recognizer (implemented by Chris Long) Recognizer Cut Copy Undo

Nov Interpreters Problem – many ways of handling strokes Interpreters let new ways of handling strokes be plugged into SATIN e.g. straighten a line e.g. issue a command Ink Interpreter Gesture Interpreter erase me

Nov Interpreters and Recognizers Decoupled recognition (Recognizers) from actions (Interpreters) Interpreters can use recognizers Both are modules that can be plugged into apps built with SATIN InterpreterRecognizer Cut Cut Copy Undo

Nov Multi-Interpreters Problem – Hard to combine and extend existing interpreters Multi-Interpreters are a collection of interpreters + dispatch policy –e.g. dispatch to chain of interpreters –e.g. disable some interpreters on context Default Multi Interpreter Intrp AIntrp Z … Semantic Zoom Multi Interpreter Intrp B Intrp AIntrp Z … Intrp B

Nov Phrase (Patch) Scenegraph Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke … Sheet Denim Label (Patch) Denim Sketch (Patch) Phrase (Patch) Timed Stroke

Nov Stroke Dispatching Needed an approach that enabled: –Individual objects handle strokes on own –Priority to gestures over ink Default policy is top-down dispatch 1.Process stroke with its gesture interpreter 2.Re-dispatch stroke to one of its children 3.Process stroke with its ink interpreter 4.Handle stroke in object itself

Nov Stroke Dispatching Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke

Nov Stroke Dispatching Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke 1. Process stroke with gesture interpreter Sheet Default Multi Interpreter Hold Select Intrp Standard Gesture Intrp …

Nov Stroke Dispatching Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke

Nov Stroke Dispatching Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Sheet Default Multi Interpreter Hold Select Intrp Standard Gesture Intrp … 1. Process stroke with gesture interpreter

Nov Stroke Dispatching 2. Re-dispatch stroke to children Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Denim Sketch (Patch)

Nov Stroke Dispatching 1. Process stroke with gesture interpreter Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Denim Sketch (Patch)

Nov Stroke Dispatching 2. Re-dispatch stroke to children Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Denim Sketch (Patch)

Nov Stroke Dispatching 3. Process stroke with ink interpreter Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Denim Sketch (Patch) Phrase Interpreter

Nov Stroke Dispatching 4. Handle stroke in object Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke Denim Sketch (Patch)

Nov Stroke Dispatching Phrase (Patch) Sheet Denim Label (Patch) Denim Sketch (Patch) Timed Stroke

Nov Example - Cut Shallow

Nov Example - Cut Deep

Nov Reusable Stroke Libraries Straighten Merge

Nov Reusable Stroke Libraries Split Simplify

Nov Widgets Pie Menus Pen PLAF Swing "Pluggable Look And Feel" Larger and clickable sliders Single-click file opener

Nov Conclusions SATIN - Java toolkit for informal ink apps –Extensible thru Recognizers, Interpreters, and Multi-Interpreters –Separates mechanism from policy for strokes –Offers reusable libraries for manipulating ink Reusable widgets for pens

Nov Download SATIN Download SATIN at

Nov Extra Slides

Nov DENIM

Nov DENIM

Nov Survey of Informal Ink Apps Elec. Cocktail Napkin Flatland Pegasus FiloChat Zenpad PerSketch Teddy PatchWork XLibris NotePals Dynomite SILK Tivoli Kramer's Patches Music Notepad Knight

Nov Architecture Overview Recognizers Interpreters Scenegraph Stroke Libraries Widgets Views Rendering Transitions Clipboard Notifications Commands Events SATIN can be broken into twelve concepts