Sketching Interfaces for Specification. Readings James A. Landay, Brad A. Myers, “Sketching Interfaces: Toward More Human Interface Design”, IEEE Computer,

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Chapter 3 – Web Design Tables & Page Layout
Whats New in Office 2010?. Major Changes in Office 2010 The Office Ribbon, which first made its appearance in Office 2007, now appears in all Office 2010.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Tutorial 8: Developing an Excel Application
Windows XP Basics OVERVIEW Next.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Automating Tasks With Macros
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
1 of 4 To calibrate your digital pen click the Start ( ) button>Control Panel>Mobile PC>Calibrate the screen. On the General tab, tap Calibrate, and then.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Rapid Prototyping Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development February 25, 1999.
1 of 3 Using digital ink, the Microsoft® Tablet PC offers the full power and functionality of a notebook PC with the added benefits of pen-based computing.
Multimedia Design. Table of Content 1.Navigational structures 2.Storyboard 3.Multimedia interface components 4.Tips for interface design.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Jia Sheng, DGP, Sketching for Interface Design Jia Sheng
6 Copyright © 2004, Oracle. All rights reserved. Working with Data Blocks and Frames.
XP Tutorial 5 Buttons, Behaviors, and Sounds. XP New Perspectives on Macromedia Flash MX Buttons Interactive means that the user has some level.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
 This tutorial is designed to help you better understand how to use the Elluminate Live classroom. One of the best things you can do is to go into the.
CTS130 Spreadsheet Lesson 3 Using Editing and Formatting Tools.
DMS 546/446 INTERFACE DESIGN AL LARSEN – SPRING 2008 PAPER PROTOTYPING Lecture draws from multiple sources, including: Jakob Nielsen, Shawn Medero (
Lehigh University Introduction to Flash MX Sharmeen Mecklai.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Introduction to Maya. Maya’s Layout User Interface Elements In Maya, you can tear off menus to create separate floating boxes that you can place anywhere.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
XP 1 Microsoft Word 2002 Tutorial 1 – Creating a Document.
Microsoft ® Office OneNote ® 2003 Training Get to know OneNote CGI presents:
ELPSS RLO Scripting Templates VERSION 3 (Jan 09).
CHAPTER TEN AUTHORING.
Tutorial 1 Introducing Adobe Flash CS3 Professional
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Hyper-Hitchcock F. Shipman, A. Girgensohn, and L. Wilcox, "Hyper-Hitchcock: Towards the Easy Authoring of Interactive Video", Proceedings of INTERACT 2003,
Software Project Planning Defining the Project Writing the Software Specification Planning the Development Stages Testing the Software.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
ACTIVINSPIRE TRAINING Tips and tools for creating Flipcharts on ActivInspire.
A Case Study of Interaction Design. “Most people think it is a ludicrous idea to view Web pages on mobile phones because of the small screen and slow.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture Introduction Sketching Interface.
Prototyping. REVIEW : Why a prototype? Helps with: –Screen layouts and information display –Work flow, task design –Technical issues –Difficult, controversial,
Websites with good heuristics Irene Wachirawutthichai.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
Computer Programming Modeling a Passive Solar Home.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
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
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Project Planning Defining the project Software specification Development stages Software testing.
A disciplined approach to analyzing malfunctions –Provides feedback into the redesign process 1.Play protocol, searching for malfunctions 2.Answer four.
Prototyping Creation of concrete but partial implementations of a system design to explore usability issues.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
CIS 205—Web Design & Development Flash Chapter 3 Working with Symbols and Interactivity.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
Introducing Scratch Learning resources for the implementation of the scenario
Multimedia Design.
Chapter 2: The Visual Studio .NET Development Environment
Introduction to Event-Driven Programming
Prototyping.
Tutorial 1 – Creating a Document
Lesson 1: Buttons and Events – 12/18
Creating Additional Input Items
Chapter 4 Enhancing the Graphical User Interface
Presentation transcript:

Sketching Interfaces for Specification

Readings James A. Landay, Brad A. Myers, “Sketching Interfaces: Toward More Human Interface Design”, IEEE Computer, v34, n3, pp , Bailey, B.P., J.A. Konstan, and J.V. Carlis, "DEMAIS: designing multimedia applications with interactive storyboards", Proceedings of the International Conference on Multimedia, 2001, Ottawa, pp

Supporting Early Design Key tasks being supported –Design space exploration Medium for expression and “visual thinking” –Increase concreteness –Providing inspiration and points of departure Understanding the implications of design choices –Communications Vehicle for talking about design options with others

Sketching is Good Almost everyone starts in early stage with very rough pencil and paper sketches –Rough ideas quickly –Uncertainty Uncertainty and ambiguity is important to have at this stage (important to creativity) Can’t have the details before you have done the design –Fluidity is critical Investment must be very low Changes must be very easy Must stay “light on your feet” and not get solidified into small range of alternatives too early

Need ability to test / operate as early as possible But also need to be able to evaluate the real meaning / consequence of things  Must make them “operable” or executable at some level to get a real understanding –Big win Herein lies the hard problem: Ambiguity and uncertainty are very antithetical to being able to “execute” something

Getting past the divide Being able to “execute” something which is ambiguous and only partially defined –Need to infer intent –Need sensible interpretation of all partial specifications –Hard: probably need to limit domain Also need graceful path from early/ambiguous to later/precise (“real”) –Would rather not be forced to “throw it away” after a certain point

SILK Sketch –On digitizing tablet rather than paper Interactive rather than static setting Turn sketches into something that has enough structure and meaning that rich computational things can be done with it Try to get fluidity benefits of pen but add a lot more Storyboard –Used as central mechanism for specifying behavior –Limited, but well targeted (and already familiar to many) Transition to real widgets –Gives (some) “upward path” for results

SILK modes Sketch Annotate Decorate Run Also use of pen mode –Special button on pen for command gestures Modes help a lot with recognition

SILK interfaces Sketches –Window for sketching (specifying and placing) interactive components (widgets) –Screen at a time or dialog box at a time Sort of assuming static layout and somewhat moded style for result Storyboard –Window which contains collected copies of sketched screens –Place to specify behavior

Sketching widgets Attempt to recognize meaningful objects –Key to executability Make recognized sketches into operating widgets –Still appear as sketches Later transform into “real” widgets

Widget set Seven widgets in fixed set –Menu bar –Scrolling window –Palette –Button –Radio button –Check box –Text Field Plus rows and columns (“panels”) Fixed set shows up as a significant limitation in user tests But supporting an arbitrary set introduces big programming issues

Widgets recognized from primitive components Four primitive gestures recognized –Rectangle –Squiggly Line –Straight Line –Ellipse All single stroke –May require slight adjustment by user –Makes life a lot easier for recognizer No segmentation Rubine recognizer

Recognition Rubine recognizer –Single stroke –Feature based E.g., number of inflection points, angles, pt-pt distances, etc… –Not person independent Trained w/ examples Also feedback during use (via corrections made)

Recognition Steps –Individual component recognition –Spatial relationship analysis –Widget inference –Look for higher level groupings –Feedback –Possible user correction

Recognition steps Spatial relationship analysis –Relationships recognized Contains / is contained by Near –Left, right, above, below Vertical or horizontal sequence –(of the same type)

Recognition Steps Rule based widget inference  –Pattern Look for certain configurations of components –Rectangle contains rectangle and outer has very vertical aspect ratio  scroll bar –Body Compute confidence from details of matched parts Provide code for operating as a widget

Recognition Steps Look for “panels” –Horizontal or vertical groupings of widgets Proximity Alignment –Must all be the same type –Looks to create new panels or add to existing after each widget recognition

Recognition Steps Feedback –Recognized widgets turn purple (Not clear what feedback for groupings was) Usability problem uncovered in evaluation: Can’t tell which widget was recognized (without looking at control panel), but if you don’t get it right, correct panels don’t work

Recognition Steps  Biggest usability problem will turn out to be recognition errors User correction –Command gesture for “next best guess” Users can also give “hints” via selections –Explicit change in control panel –If no widget found control panel has “New guess” button to tell system to “look harder”

Also have recognition of command gestures Recall: special “command” button on pen –Very common approach All structured as a single stroke DeleteGroupUngroupNext Guess Insert Text

Specifying behavior via storyboards Can place individual screens (collections of ink, widgets, etc.) into storyboard view –Copy/paste then edit All behavior specified as navigation in story board –Specified by drawing a line (in storyboard editor) from either widget or background to a new scene. –In run-mode click on that object means “goto …”

Storyboards

Annotation and decoration Decoration mode –Basically turns off the recognizer –All strokes just in as unrecognized ink Annotation mode –Attaches ink and text to whole screen or individual widgets –Annotations can be turned on and off

Run mode Interface (with same sketched appearance) runs –Scroll bars slide, etc. –Buttons, etc. cause movements in storyboard May not look that way to the user (e.g., single change between boards) Also supplies some debug help –Storyboard highlights current and object which caused last last transition

Transition to “real” interfaces Can ask for sketched widgets to be turned into “real” widgets –VB or Garnet Still need to add: –Precise alignments –Color –Text labels –Actual icons images, etc –Real action code!

Experience & usability Overall seems very positive Biggest issue: recognition errors Recognition rates: Edit gestures:89% Primitives:93% Widgets:69%  not going to work End analysis:  Recognition probably worse than a more explicit strategy

Experience & usability Second big issue: fixed widget set –Can do some things, but support falls way off for “non-standard” interactions –A lot of effort to work around with inadequate tools  Hard problem because taking on large part of “the programming problem” may hurt simpler and more common aspect  Interesting research issues here

Demais System New (but related) domain: Multimedia presentations –Time based media (video and audio) –Timing and synchronization behavior now the tricky part Understanding design choices requires understanding how the detailed timing and sync will play out Contribution is in specification of behavior  A more complex programming task (but still limited)

Demais interface components Again, storyboard based –Single screen (layout) editor –Narration editor Deals with audio narration –Storyboard editor –Also “multi-view” editor Collections of screens, storyboards, etc. that are useful to pull up and manipulate together Sort of a “scrapbook” manager

Entities system deals with in a layout screen Plain text objects –Interpreted and uninterpreted –(Can do synch spec in scripting language) Ink strokes –uninterpreted Recognized objects Behavioral ink strokes Visual language icons Annotations

Recognition Very simple for sketched object recognition –Only recognizes two things (Rubine algorithm again) Rectangle –Indicates “content item” (still or video) –Tap to get file browser to load actual or simulated content Behavior stroke –Single line from something to something –Otherwise treat as uninterpreted ink Text recognition –Tries to parse as script text –If fails, uninterpreted

Narration editor Can insert “synchronization markers” in text –Points to synchronize other stuff against System does text-to-speech Also supports recorded speech but not clear how sync points are specified –Probably like video (position of slider when behavior attached), but not explicitly stated

Narration editor To synchronize, –e.g., image appearance with a point in the narration sketch a (behavior) stroke from the sync point to another storyboard element

Visual language for behaviors Behavior strokes are between objects –Creates implicit parameter and subject from source and destination of the stroke Strokes annotated to specify their actual behavior –Triggering event (from source) –Action to perform (at destination)

Behavior icons Events “T”s replaced by numbers –For sync: use current time of object –For elapsed: user prompted

Action icons

System picks default event & actions based on context

Can replace defaults Edit by tap-and-drop from palette –Better than drag-and-drop with pen Can also use text annotations in scripting language for specifying behaviors –English like (details not discussed here) –Infers referents (“this”) –Doesn’t seem to fit well