Brad Myers Advanced User Interface Software Spring, 2017

Slides:



Advertisements
Similar presentations
© 2011 Delmar, Cengage Learning Chapter 1 Getting Started with Dreamweaver.
Advertisements

JustinMind: Dynamic Panels
Rapid Prototyping Dimensions and terminology Non-computer methods
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.
PowerPoint Tutorial 2 Adding Media and Special Effects
Lecture 12: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools Brad Myers Advanced User Interface.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Flash Catalyst, html, Microsoft Sketchflow/Expression Blend, etc. Brad Myers
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Adobe Illustrator, Adobe Fireworks, Balsamiq, OmniGraffle, html, etc. Brad Myers
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
Interaction Styles Interface Widgets. What are Interaction Styles?  A Collection of interface objects and associated techniques from which an interaction.
Chapter 1 Getting Started With Dreamweaver. Explore the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
Rapid Prototyping Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development February 25, 1999.
1 Flash and Animation Presented by : Behzad Sajed Khosrowshahi.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, ***** html, etc. Brad Myers / / : Introduction to Human Computer.
COM 205 Multimedia Applications
Comparing Python and Visual Basic
Chapter 3 Working with Symbols and Interactivity.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Balsamiq, Axure, html, etc. Brad Myers / / : Introduction to Human.
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Balsamiq, InVision, html, etc. Brad Myers / / : Introduction to.
© 2011 Delmar, Cengage Learning Chapter 3 Working with Symbols and Interactivity.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Working with Symbols and Interactivity
Prof. James A. Landay University of Washington Autumn 2008 Rapid Prototyping November 10, 2008.
1 Lecture 16 Prototyping Software Engineering. 2 Outline Definitions Uses of prototyping in the design process Prototyping approaches Prototyping “technologies”
CHAPTER TEN AUTHORING.
University of Sunderland CDM105 Session 6 Dreamweaver and Multimedia Fireworks MX 2004 Creating Menus and Button images.
Multimedia Authoring Programs
Adobe Flash CS4 – Illustrated Unit A: Getting Started with Adobe Flash.
Chapter 1 Getting Started With Dreamweaver. Exploring the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
About Presentation Software & Learning to Use PowerPoint 2013.
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
Authoring tools There are three main authoring tools:
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
Brad Myers /05-640: Interaction Techniques Spring, 2016 Lecture 24: Implementation Techniques and Tools for Interaction Techniques 1 © Brad.
Introducing Scratch Learning resources for the implementation of the scenario
Adobe Flash Professional CS5 – Illustrated Unit A: Getting Started with Adobe Flash Professional.
DB Implementation: MS Access Forms. MS Access Forms: Purpose Data entry, editing, & viewing data in Tables Forms are user-friendlier to end-users than.
Programming Logic and Design Seventh Edition Chapter 12 Event-Driven GUI Programming, Multithreading, and Animation.
Getting Started with Dreamweaver
Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012)
Chapter 10 Multimedia and the Web.
Working in the Forms Developer Environment
Lecture on UI Design and Paper Prototyping
Chapter 1: An Introduction to Visual Basic 2015
3.01 Apply Controls Associated With Visual Studio Form
Prototyping.
Introduction to Basic Interface of
3.01 Apply Controls Associated With Visual Studio Form
CHAPTER 8 Multimedia Authoring Tools
Getting Started with Dreamweaver
Prototyping.
DB Implementation: MS Access Forms
Exploring the Basics of Windows XP
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Paper Prototyping.
Social Media And Global Computing Introduction to Visual Studio
Chapter 2 – Introduction to the Visual Studio .NET IDE
Exploring the Basics of Windows XP
Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Balsamiq, InVision, html, etc. Brad Myers / : Introduction to Human Computer.
Rapid Prototyping Sketches, Storyboards, Mock-Ups and Scenarios
3.02D Multimedia Authoring Programs
GRAPHICAL USER INTERFACE
DB Implementation: MS Access Forms
Getting Started with Dreamweaver
About Multimedia Files
Working with Symbols and Interactivity
Brad Myers : Interaction Techniques Spring, 2019
Brad Myers : Interaction Techniques Spring, 2019
Presentation transcript:

Brad Myers 05-830 Advanced User Interface Software Spring, 2017 Lecture 16: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools Brad Myers 05-830 Advanced User Interface Software Spring, 2017 © 2017 - Brad Myers

Definition Tools that Use graphical techniques to specify UI Usually focus on graphical parts of UI Not same as “visual” or “graphical programming” © 2017 - Brad Myers

Prototyping Tools Just show what looks like “Click-through prototypes” Storyboard of screens “Click-through prototypes” Note: differentiate from term "rapid prototyping“ Some support for behavior: typically changing screens Like a movie of the interaction Goal: see some of interface very quickly (hours) Often no possibility of migrating to real application May not use "real" widgets "Low Fidelity" Techniques © 2017 - Brad Myers

Low Fidelity Prototyping Just use paper and/or overheads No tools Experimenter "plays computer" Ask the user "what would you do now“ Experimenter shows the computer's expected response Very cheap and easy and gets surprisingly good results Find out if users understand organization, how to find desired operations, if understand menu names, etc. Easy to change between sessions Can make a movie of the paper using a regular video camera To demonstrate/explain the interface © 2017 - Brad Myers

Early Prototypers For Character Screens 24x80 DOS, often no mouse Especially for forms-based applications Examples: Dan Bricklin’s Demo-It (Windows v2.0 ~1987), Protoscreens for PCs from Bailey&Bailey (~1990) Specify characters for each position of screen, or a "character graphics" Can specify fields that are editable text Can specify that clicking on an area causes changing to a new screen. Also menus © 2017 - Brad Myers

Card Programs as Prototypers Examples: HyperCard and SuperCard for Mac OWL's GUIDE for PCs (gone?) Toolbook (formerly from Asymetrix then Click2Learn, then SumTotal Systems, Inc. http://www.toolbook.com) Sequence of cards Paint program (not "draw") Draw pictures on each card May be multiple layers © 2017 - Brad Myers

Early Research Card Systems Menulay Buxton, Siggraph’83 pp. 31-38 http://www.billbuxton.com/menulay.pdf http://www.youtube.com/watch?v=Kt0oAg0haU0 vector screens, widgets, sounds, text, output C code and tables All actions (including transitions) required C programming © 2017 - Brad Myers

Early Research Card Systems, cont. Trillium Henderson, CHI’86 http://doi.acm.org/10.1145/22339.22375 Xerox copier interfaces interpreted Lisp Transitions defined using the interface © 2017 - Brad Myers

HyperCard 1987 – 2004 © 2017 - Brad Myers

HyperCard, details Buttons can transition to another card Fancy transitions Single window Buttons can start running a script ("HyperTalk") Script can move objects, change cards, animate, compute, etc. Code management: who changes what; finding the script Not good for dynamically created graphics Complete control of individual pixels Graphic designers have complete control Design new widgets Can be "real" application if sufficient power/speed Used for original Myst game, etc. © 2017 - Brad Myers

Animation Programs Example: MacroMedia’s Director (1987) – now Adobe Replaced (pretty much) by Adobe Flash Discontinued January 27, 2017 Also control individual pixels Individual paintings can be specified as animation element E.g., characters Each can be instantiated, moved, etc. Good control over timing, synchronization Scripting language Can program that when a mouse button is clicked in an area, start an animation or transition Scripting language even more primitive than HyperTalk Good for "Future Scenarios" when want good fidelity with real look Not for final (real) interface unless Multi-media © 2017 - Brad Myers

Interface Builders Also called Interface Development Tools (IDTs) or GUI Builders or “resource editors” Lay out widgets to make dialog boxes, menus. Have a palette or menu of kinds of widgets Select widget, place with mouse in a window Set some properties Design menus, palettes, dialog boxes, controls Put in “graphics” pane for main application window Easy to use, but limited Connect call-backs with each widget Generates C code directly or intermediate language Sometimes connected to an intepreter so can execute call-backs. If not, some call-backs can be simulated, e.g. transition to another window; pop-up error © 2017 - Brad Myers

Interface Builders, cont. Layout mechanisms usually a complication X's row and columns stuff Galaxy's struts and springs Java’s Layout Managers “Resources” store information in special files rather than in source code positions, colors, text labels, etc. allow for easier modification for users, internationalization, etc. IBs Usually don't support: Error checking of values, e.g. for text input fields Graying of widgets depending on values and other widgets Default values of widgets Dynamic changing of widgets (e.g., add more items) Dynamic changing layers (groups) of widgets (visibility) depending on values and other widgets Any dynamically created graphical objects. © 2017 - Brad Myers

Interface Builders, cont. Examples: See “Card” systems, e.g., Menulay (1983-research system) NeXT Interface Builder (NeXT) - 1988 popularized the name By Jean-Marie Hullot who had an IB in Lisp at INRIA in France Visual Basic Resource editors in programming environments Used to be lots of IB products Used to be many commercial tools are in this category; over 100 See my old list (1997): http://www.cs.cmu.edu/~bam/toolnames.html Most went out of business Microsoft, MetroWorks, etc. include “resource editors” for “free” © 2017 - Brad Myers

VB Screen © 2017 - Brad Myers

Some Research in IB Garnet’s GILT interface builder: Eliminating Call-backs (UIST’91) http://doi.acm.org/10.1145/120782.120805 or video (5min) or video of both (9 min) Handles error checking, data transformations, connections of widgets to each other © 2017 - Brad Myers

More Research in IB Garnet’s GILT interface builder: Styles by example (Hashimoto, UIST’92) http://doi.acm.org/10.1145/142621.142635 or video (about 2 min) Graphical tab stops, absolute or relative Graphical styles for widget properties Based on Microsoft Word features, applied to graphics Created by example or manually © 2017 - Brad Myers

Novel IB Adobe Flash Catalyst (formerly Thermo) Part of CS5.5, then discontinued in CS 6.0 Associate behaviors with the objects Like my Lapidary (see next lecture) © 2017 - Brad Myers

Microsoft’s Expression Blend Microsoft Silverlight Blend’s SketchFlow http://channel9.msdn.com/Events/MIX/MIX09/C01F (1 hour video) 2006-2012 Behaviors, etc. as well Landay says this has “sketching” (see 3/19/09 blog) Now discontinued Some features put into Visual Studio © 2017 - Brad Myers

Commercial Prototypers Search for “Prototyping tools” or “Wireframing Tools” Here are some lists: https://blog.prototypr.io/the-7-best-prototyping-tools-for-ui-and-ux-designers-in-2016-701263ae65e8#.le0arqkey http://mashable.com/2010/07/15/wireframing-tools/ - “10 free wireframing tools” http://www.uxbooth.com/blog/15-desktop-online-wireframing-tools/ http://www.tripwiremagazine.com/2010/04/15-best-wireframing-tools-for-designers.html http://www.uie.com/articles/prototyping_tools/?link=tips100318_6 http://c2.com/cgi/wiki?GuiPrototypingTools © 2017 - Brad Myers

Examples: Axure (downloaded) On-line tools Fluid UI Balsamiq (http://www.balsamiq.com/) Justinmind Moqups Mockingbird FluidUI Mockflow © 2017 - Brad Myers

Axure Drag and drop widgets onto your page © 2017 - Brad Myers

Research in Informal Tools Sketching tools Use before interface builders Designed to help support the ideation phase Menulay (saw earlier) James Landay’s SILK tool Infer formal widgets and widget groupings from sketches Convert to real widgets Sketch storyboards for transitions © 2017 - Brad Myers

Research in Informal Tools Main paper: http://doi.acm.org/10.1145/223904.223910 Video from CHI’96 (8:22 min) © 2017 - Brad Myers

Landay’s later tool: Denim Denim and its video © 2017 - Brad Myers