Lecture 15: Demonstrational Tools Brad Myers 05-830 Advanced User Interface Software 1.

Slides:



Advertisements
Similar presentations
What Was I Thinking??. Key Terms 1. Control 1. Control 2. Design Mode 2. Design Mode 3. Event 3. Event 4. Form 4. Form 5. Interface 5. Interface 6. Properties.
Advertisements

Microsoft® Small Basic
Lecture 16: Demonstrational Tools Brad Myers Advanced User Interface Software 1© Brad Myers.
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
Lecture 12: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools Brad Myers Advanced User Interface.
Lecture 12: Model-based tools: Creating the UI Automatically Brad Myers Advanced User Interface Software 1.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Flash Catalyst, html, Microsoft Sketchflow/Expression Blend, etc. Brad Myers
Programming by Demonstration Kerry Chang Human-Computer Interaction Institute Carnegie Mellon University D: Human Aspects of Software Development.
Building Whole Applications Using Only Programming-by- Demonstration Richard McDaniel January 14, 1999.
CA 121 Intro to Programming Tariq Aziz and Kevin Jones GUI Programming in Visual Studio.NET Chapter 1 Tariq Aziz and Kevin Jones.
1 Tutorial T4 - Programming by Example Techniques Brad A. Myers Brad A. Myers Human Computer Interaction Institute School of Computer Science Carnegie.
Using Powerpoint to Create Interface Prototype Copy & Paste Interface Designs –Use Screen Capture to Copy Existing Interface –“Print Screen / SysRq” Button:
Automating Tasks With Macros. 2 Design a switchboard and dialog box for a graphical user interface Database developers interact directly with Access.
1 System: Mecano Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Model-Based Automated Generation of.
MENUS AND THE MENU EDITOR Elements of a Menu Menu bar Menu title Separator bar Menu items.
Introduction to computers & Visual Basic School of Business Eastern Illinois University © Abdou Illia, Spring 2003 (Week 3, Monday 1/27/2003)
1 Lecture 13: Demonstrational Tools Brad Myers Advanced User Interface Software.
Compunet Corporation Programming with Visual Basic.NET GUI Week # 11 Tariq Ibn Aziz.
Rapid Prototyping Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development February 25, 1999.
Introduction to HCI Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development January 21, 1999.
1 Lecture 4: Output Models, Structured Graphics & Display PostScript Brad Myers Advanced User Interface Software.
MCT260-Operating Systems I Operating Systems I Interfaces to Operating Systems.
1 Introduction to Human Computer Interaction  Livecode Overview  Based on Livecode User Guide from RunRev Ltd. (2010) 
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Balsamiq, InVision, html, etc. Brad Myers / / : Introduction to.
Designing a Graphical User Interface (GUI) Krisana Chinnasarn, Ph.D. January 2007.
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
Defense Of Research Ian Smith. Overview Motivational scenario The problem Approach Tool explanation (example) Local state problem Contribution Summary.
What We Can Learn From SILK and DENIM Presenter: Shahla Almasri COMP 762B: Modelling and Simulation Based Design March 2 nd, 2005.
Sketch­based interface on a handheld augmented reality system Rhys Moyne Honours Minor Thesis Supervisor: Dr. Christian Sandor.
A First Look At Microsoft Visual Basic Lesson 1. What is Microsoft Visual Basic? Microsoft Visual Basic is a software development tool, which means it.
PROBLEM SOLVING The first step in writing instructions to carry out a task is to determine what the output should be (What should the task produce?)
Prof. James A. Landay University of Washington Autumn 2008 Rapid Prototyping November 10, 2008.
Enhancing the Graphical User Interface Multiple Forms, Controls, and Menus.
CHAPTER TEN AUTHORING.
Sketching Interfaces for Specification. Readings James A. Landay, Brad A. Myers, “Sketching Interfaces: Toward More Human Interface Design”, IEEE Computer,
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
1 Lecture 12: Model-based tools: Creating the UI Automatically Brad Myers Advanced User Interface Software.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Visual Basic.NET BASICS Lesson 1 A First Look at Microsoft Visual Basic.NET.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
1 Lecture 2: Overview of UI Software and Tools Brad Myers Advanced User Interface Software.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 10 1 Microsoft Office Access 2003 Tutorial 10 – Automating Tasks With Macros.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Slide 1 Using Menu Bar & Common Dialog Boxes. Slide 2 Setting Up the Main Items v First open the form on which you want the menu located v Then start.
Copyright © 2006 – Brad A. Myers Answering Why and Why Not Questions in User Interfaces Brad Myers, David A. Weitzman, Andrew J. Ko, and Duen Horng (“Polo”)
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
CMPF114 Computer Literacy Chapter 3 The Visual Basic Environment 1.
Customizing Menus and Toolbars CHAPTER 12 Customizing Menus and Toolbars.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Brad Myers /05-640: Interaction Techniques Spring, 2016 Lecture 24: Implementation Techniques and Tools for Interaction Techniques 1 © Brad.
Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012)
Programming by Example
Lecture 17: Demonstrational Tools
Lexical Reference Variables in Graphics and List Box in Forms
Visual Basic Code & No.: CS 218
Unified Modeling Language
Prototyping.
Andrew J. Ko & Brad A. Myers Carnegie Mellon University
Topic 8: (Last two papers)
Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Balsamiq, InVision, html, etc. Brad Myers / : Introduction to Human Computer.
Brad Myers Advanced User Interface Software Spring, 2017
GRAPHICAL USER INTERFACE
Research Topics in Human-Computer Interaction
Creating Additional Input Items
Chapter 4 Enhancing the Graphical User Interface
Chapter 4 Enhancing the Graphical User Interface
Presentation transcript:

Lecture 15: Demonstrational Tools Brad Myers Advanced User Interface Software 1

Overview Direct Manipulation allows properties to be set by directly moving objects with the mouse and setting properties Example: interface builders, Visual Basic Limited to static parts of the interface No way to point at objects that will be drawn by the user How set the color of an object in Visual Basic at run time? 2

Visual Basic Example 3 Example: vs. VB: Let Shape1.FillColor = &H00FF00FF& ML: SetColor ( Shape1, 0x00FF00FF )

Demonstrational Tools Demonstrational Tools allow the user to operate on example objects which represent objects that are created at run-time. For example, the system must find out that the size of the boxes depends on the actual labels typed by the user and where the lines attach. In general, demonstrational systems allow the user to operate on examples, and then generalizes to produce a general-purpose procedure or prototype. "Examples": draw an example of the objects that will be created at run time draw objects in approximately the right places, and systems creates general constraints This is a hard problem, which is why you don't see many commercial products that do this. 4

Demonstrational Interfaces There are also demonstrational systems for other domains (not for creating UIs): Our group: Text editing (Tourmaline, Andy Werth INI MS thesis) Creating shell programs (Francesmary Modugno's PhD thesis on "Pursuit") Creating custom business charts and graphs (our patent on this technology) 5

Demonstrational Interfaces, cont. Others: Text editing (renumber by example, styles) Graphical editing (graphical procedures) Determining loops in HyperCard ("Eager") etc. "Classic" Reference: Allen Cypher, ed.Watch What I Do, MIT Press Newer book: Henry Lieberman, ed. Your Wish is My Command. 2001: Morgan Kaufmann. 6

Motivation Demonstrational techniques expand how much of the interface can be specified interactively. And Interactive editors are much faster to use than programming with toolkits Frameworks improve productivity by factors of 3 to 5, interactive tools by factors of 10 to 50! It might take an hour to draw an interface interactively, compared to days to program it. Because they are faster, this promotes rapid prototyping It is much more natural to specify the graphical parts of applications using a graphical editor. Because they do not require programming skills, graphic designers can design the graphical parts of the interface. 7

Examples (of uses to create UIs) (chronological order) 8

Peridot ( ) Myers B. "Creating User Interfaces Using Programming-by- Example, Visual Programming, and Constraints," ACM Transactions on Programming Languages and Systems. vol. 12, no. 2, April, pp (Peridot) Myers B., Creating User Interfaces by Demonstration, Academic Press, San Diego, Myers B., "Creating Interaction Techniques by Demonstration," IEEE Computer Graphics and Applications, Vol. 7, No. 9, IEEE, September 1987, pp First demonstrational tool, and it used by-example techniques to allow the creation of new widgets. From the drawings, it infers: Graphical constraints among the objects, such as that the boxes should be the same size as the text. control structures such as iteration over all the items in a menu how the mouse affects the graphics, such as that the check mark should follow the mouse. feedback: question and answer video (8 min) 9

Lapidary ( ) Myers B., Vander Zanden B. and Dannenberg R., "Creating Graphical Interactive Application Objects by Demonstration," Proceedings of the ACM Symposium on User Interface Software and Technology, UIST'89, Williamsburg, November 1989, pp Brad Vander Zanden and Brad A. Myers. "Demonstrational and Constraint-Based Techniques for Pictorially Specifying Application Objects and Behaviors," ACM Transactions on Computer-Human Interaction. vol. 2, no. 4, Dec, pp Extends Peridot to allow the creation of application-specific graphical objects, like nodes in a graphics editor. Uses less inferencing and more dialog boxes Is "real" and you get it as part of the Garnet distribution Problems: can only demonstrate "syntactic" parts of application hard to set up correct constraints video (3 min -- excerpt) 10

DEMO and DEMO II (1991, 1992) David A. Wolber and Gene L. Fisher, "Demonstrational Technique for Developing Interfaces with Dynamically Created Objects," Proceedings UIST'91: ACM SIGGRAPH Symposium on User Interface Software and Technology, Nov, 1992, Monterey, CA, pp Gene L. Fisher, Dale E. Busse, and David A. Wolber, "Adding Rule-Based Reasoning to a Demonstrational Interface Builder," Proceedings UIST'92: ACM SIGGRAPH Symposium on User Interface Software and Technology, Nov, 1991, pp DEMO was first system to support dynamic creation of objects. Infers graphical relationships by examples of edits DEMO-II adds extensive inferencing of graphical constraints from examples; guide lines 11

12

Marquise ( ) Myers B., McDaniel, R. and Kosbie, D.. "Marquise: Creating Complete User Interfaces by Demonstration," Proceedings CHI'94: Human Factors in Computing Systems. Amsterdam, The Netherlands, April 24-29, pp Go back to doing more by demonstration, and just show the way that the interface should operate. In particular, demonstrate when the behaviors should start and what the feedback looks like. mouse button does one of 10 things, depending on where press and global mode. Demonstrate both behavior and conditions Built-in support for palettes and modes. video (3 min) 13

InferenceBear & Grizzly Bear ( ) Martin R. Frank, Piyawadee "Noi" Sukaviriya, James D. Foley. “Inference bear: designing interactive interfaces through before and after snapshots,” DIS’95. Ann Arbor, Michigan, pp. 167 – 175. pdfInference bearpdf Martin Frank, Model-Based User Interface Design by Demonstration and By Interview. PhD Thesis, Georgia Tech, (Discussed his "Elements, Events & Transitions (EET) language in the event-language lecture) User control through dialog boxes, edit using textual language: EET Snapshots of before and after Multiple examples More positive examples to cause generalization Negative examples to specify exceptions Pictures – next slide 14

InferenceBear Pictures 15

Pavlov (1995-present) David Wolber, "Pavlov: Programming by Stimulus-Response Demonstration," Proceedings CHI'96, Human Factors in Computing Systems. April pp Stimulus from mouse or time-based Score editor for feedback and editing video 16

Gamut ( ) PhD thesis of Rich McDaniel. Richard G. McDaniel and Brad A. Myers. "Building Applications Using Only Demonstration," IUI'98: 1998 International Conference On Intelligent User Interfaces, January 6-9, 1998, San Francisco, CA. pp pdfpdf Richard G. McDaniel and Brad A. Myers, "Getting More Out Of Programming-By-Demonstration." Proceedings CHI'99: Human Factors in Computing Systems. Pittsburgh, PA, May 15-20, pp ACM DL ReferenceACM DL Reference Domain: "board games" and educational software Goal: new interaction techniques so can infer more complex behaviors E.g., how a piece can move in Monopoly / Chess Reduce number of modes New interaction techniques to provide hints "Do Something!", "Stop That", Hint highlighting, Temporal Ghosts, Guide objects, Deck of Playing Cards, etc. Better inferencing algorithms video (4.5 min) 17

Others Chris Scaffidi’s thesis: Infers “topes” = user-level types from a list of examples “Monet” by Yang Li & James A. Landay, UIST’2005 Infers rotating continuous behaviors from examples 18

Current Systems Adobe Catalyst create menus by giving examples of the items Scroll bars by indicating the parts (thumb, track, etc.) What else? 19

Open Issues How intelligent is enough? Predictability AI problem Techniques for feedback and editing Combining inferencing with direct editing of the code A “really” successful product using this technology 20