Interaction Models II Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development March 11, 1999.

Slides:



Advertisements
Similar presentations
Chapter 3 – Web Design Tables & Page Layout
Advertisements

Tk Widgets This material is best on several sources –Slides by Dr. Ernest J. Friedman-Hill –various Tcl/Tk books.
1 Windows CIS*2450 Advancing Computing Techniques.
Office 2003 Post-Advanced Concepts and Techniques M i c r o s o f t Word Project 7 Creating an Online Form.
XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
Dialog Styles. The Five Primary Styles of Interaction 4 Menu selection 4 Form fill-in 4 Command language 4 Natural language 4 Direct manipulation.
Dialog Styles. The Six Primary Styles of Interaction n Q & A n Menu selection n Form fill-in n Command language n Natural language n Direct manipulation.
Lecture 7 Date: 23rd February
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
Exploring the Basics of Windows XP. Objectives Start Windows XP and tour the desktop Explore the Start menu Run software programs, switch between them,
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
Rapid Prototyping Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development February 25, 1999.
Dialogue Styles.
Exploring the Basics of Windows XP
Microsoft Office 2010 Office 2010 and Windows 7: Essential Concepts and Skills.
Lecture Set 3 Introduction to Visual Basic Concepts Part A – User Interfaces and Windows Forms – The Toolbox.
Chapter 3 Working with Symbols and Interactivity.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
1 Forms A form is the usual way that information is gotten from a browser to a server –HTML has tags to create a collection of objects that implement this.
Ch 6 - Menu-Based and Form Fill-In Interactions Yonglei Tao School of Computing & Info Systems GVSU.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
XP New Perspectives on Microsoft PowerPoint 2002 Tutorial 1 1 Microsoft PowerPoint 2002 Tutorial 1 – Creating a PowerPoint Presentation.
Microsoft PowerPoint Getting Started Guide Prepared for Towson University Dr. Jeff M. Kenton Amy Chase Martin 2007.
Lecture 6 User Interface Design
Interaction Styles. Hall of Fame The 3-point seatbelt Brief history ●1959: Invented by Nils Bohlin ○patent released by Volvo ○saving lives > profit ●1968.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
The Fundamentals of Using Windows 95. Windows 95 ã operating system that performs every function necessary for the user to communicate and control computer.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
XP New Perspectives on Windows XP Tutorial 1 Exploring the Basics.
Word 2010 Vocabulary List 1. Click and Type - A feature that allows you to double-click a blank area of a document to position the cursor in that location,
Key Applications Module Lesson 21 — Access Essentials
PowerPoint Lesson 3 Working with Visual Elements
XP Practical OpenOffice.org Chapter 8 1 Creating a Presentation.
Why do we need good user interfaces?. Goals of User Interfaces Usable – how much effort to do a task? – example: often-used buttons easier to find – example:
Exploring Windows and Essential Computing Concepts 1 Windows Desktop u Windows Basics u Icon u Start Button u My Computer u Network Neighborhood u Recycle.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
MODULE 2 Microsoft® Windows 7 Chapter 1: Navigating around Windows Chapter 2: Managing Files and Folders Chapter 3: Working with Windows Settings, Gadgets,
Chapter 2 – Introduction to the Visual Studio .NET IDE
Chapter 4 Working with Information Graphics
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
Copyright © 2006 Prentice-Hall. All rights reserved.1 Computer Literacy for IC 3 Unit 2: Using Productivity Software Project 1: Taking a Tour of Windows.
Computing Fundamentals Module Lesson 7 — The Windows Operating System Computer Literacy BASICS.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
The Excel model for information processing The Excel model is a grid of cells in which items of information are stored and processed. Any information that.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
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 Introduction to Microsoft Windows Lecture Outline.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Oct 091 Example Program DemoInputValidation1.java DemoInputValidation2.java.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Chapter 15 Creating a Presentation. Practical Computer Literacy, 2 nd edition Chapter 15 2 What’s inside and on the CD? In this chapter, you will learn.
Creating a Presentation
Chapter 2: The Visual Studio .NET Development Environment
GUI Design and Coding PPT By :Dr. R. Mall.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Java Look-and-Feel Design Guidelines
Interaction Styles.
Chap 7. Building Java Graphical User Interfaces
Graphical User Interfaces -- Introduction
This Week: Tkinter for GUI Interfaces Some examples
An Introduction to the Windows Operating System
Presentation transcript:

Interaction Models II Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development March 11, 1999

Today l Review concepts from last time l For more information, see Olsen 98, Developing User Interfaces l Go through examples with tcl/TK l Discuss other interaction models

Event-based Interactions l Direct Manipulation/GUI –the user is in control, instead of the computer –more complex set of interactions than with command line interfaces »the user can do any of a number of different things next close window bring window into focus open folder adjust scroll bar change size

Windowing Systems are … l Software libraries to create GUIS consisting of windows, and implement the interactive elements of those windows l Software to create a program that allows the user to control the size and placement of these windows –called the Window Manager –in Unix which WM used is flexible »there are many window managers for X »Linux allows toggle between two different WMs –in most commercial systems there is only one choice »MS conflates OS with WS

Widgets A widget is a window in a graphical user interface –that has a particular appearance and behavior –this appearance and behavior is standardized over time »buttons, menus, scrollbars, text windows »canvas: more free form -- supports creation of new widgets and more flexible actions like drawing and animation

Root Windows l In most systems the root window encompasses the entire display –when you right-click on the desktop background, you bring up a menu corresponding to the root window l It is also convenient to refer to the top-most window of an application as the root window –e.g., the main window of an editor, of powerpoint, as opposed to menu buttons on these applications

Window System Support for Widgets l Window system software provides the following functionality: –A set of resources associated with each widget class »color, label, language, –Routines to create and destroy instances of the widget –Facility to support callbacks to run when events occur to an instance of the widget

Role of Window Manager Window manager deals with the “outer frame” of the window e.g,. title bar, close window widget, icon bar, etc. Application deals with the widgets inside the outer frame. The boundary differs in different systems. Contrast Exceed application with NT application both under NT WM (same title bar and close widget, different status bar and scrollbar)

Callbacks l Callbacks are nice from the programmer’s viewpoint –only have to specify what to do if the event occurs on the widget –don’t have to say when and where –use an object-oriented model l Examples: –callback for button »start running the search, answer yes or no –callback for menu »run the function associated with the menu item, e.g., open new file, run slide show

How the Window System Dispatches the Events l Windowing system is generating events l Object model wants method (callback) invocation l Event handler converts events directed to a window into method invocations

Application Event Dispatching Event Handler WIDGET OBJECTS button callback (invoked if mouse enter, mouse press, mouse release on button) window resize (invoked if mouse enter, mouse press, mouse drag on resize widget ) scrollbar callback (invoked if mouse enter, mouse press, mouse drag on scrollbar) Window System Event Queue e e0 e1 e2 e3 e4... eN

Running GUI Applications over the Network X lets you run a GUI application on one machine and interact with it on another –you can’t do this in MS products »I can’t run excel on my home machine and see and interact with it on my work machine »I can do this sort of thing with X Server Machine X displays the bits here Client Machine editor running here Network User can interact with the GUI here, even though it is running elsewhere

Examples using Tcl/TK l Code is written in the tcl scripting language l There are classes of widgets –button, listbox, checkbox, menu, etc l Each widget takes attribute/value pairs –text, label, color, command, borderwidth, etc l Each widget has a name –nesting is indicated with “.” –must start with a top-level window –the defaut root is called “.” l Frames are used to group widgets together

Create, display, and destroy a window containing a label frame.f label.f.l -text “this is a label” -border 4 pack.f pack.f.l destroy.f The pack command tells the window manager where to place the various subwindows (widgets)

Create a row of buttons, each with a different kind of border relief % frame.f -borderwidth 10 % pack.f % foreach style {raised sunken flat ridge groove} { label.f.$style -text $style -relief $style -bd 4 pack.f.$style -side left -padx 4 } This time we tell the pack command to pack the buttons to the lefthand side, one after the other, and to put 4 units of padding around each one, in the horizontal (x) direction

Create a top-level window, make some frames, insert a label and an entry form % global result ; global rtext % set f [toplevel.prompt -bd 10] % label $f.msg -text “Please enter a name” % entry $f.entry -textvariable rtext % set b [frame $f.buttons -bd 10] % pack $f.msg $f.entry $f.buttons -side top -fill x

Add two buttons and do the layout (the commands attribute is the callback function) % button $b.ok -text OK -command \ {set result 1} -underline 0 % button $b.cancel -text Cancel -command \ {set result 0} -underline 0 % pack $b.ok $b.cancel -side left

Place the mouse focus in the entry label. Force the user to attend to the dialog box before doing anything else % focus $f.entry % grab $f % tkwait variable result % grab release $f

Tell the system to print the name if the user enters one and presses Ok. Otherwise don’t print anything. % if {$result != 0} { puts $rtext }

Add Keyboard Shortcuts... % pack $b.ok $b.cancel -side left % bind.prompt "focus $b.ok ; break" % bind.prompt "focus $b.cancel ; break" % bind.prompt "set result 1" % bind.prompt "set result 0" % focus $f.entry...

Using the Canvas % frame.c ; set c.c; pack.c % $c create oval fill red -width 4 % $c create oval fill black -stipple gray25 % $c create arc start 45 -extent 90 \ -style pieslice -fill green -outline black

Question l What is the relation to web browser interactions? –hyperlinks –forms –javascript pop-ups

Five Primary Interaction Styles (Shneiderman 98) l Direct manipulation l Menu selection l Form fillin l Command language l Natural language –These are all in response to the baseline of command languages –All types not appropriate for all tasks –Often useful to blend interactions styles in one UI

Direct Manipulation Advantages visually presents task concepts learnability retention error avoidance encourages exploration high subjective satisfaction Disadvantages can be difficult to program (especially error handling) requires higher end equipment non-sighted users Visual representation of objects and tasks that can be manipulated in arbitrary orders by users

Menu Selection Advantages reduces learning time reduces keystrokes structures decision making easy to support error handling Disadvantages too many menus for complex tasks can be slow for frequent users consumes screen space requires rapid display rate

Menus l There are many variations –pull-down –pop-up –command –cascading menus –iconic menus –tree-structured menus (site maps) –pie menus (pop-up radial) –multiple-column menus (common on WWW) –Lots of studies have been done –how many items/to what depth –dynamically rearranging contents according to frequency –role of stable position within a pull-down menu –titling

Form Fillin Advantages simplifies data entry requires modest training convenient assistance (recognition vs. recall) allows for form- management tools Disadvantages consumes screen space

Command Language Advantages flexible appeals to “power” users allows user initiative allows convenient creation of macros Disadvantages poor error handling requires substantial training and memorization

Natural Language Advantages natural to specify (no need to learn syntax) less intimidating for novices Disadvantages can’t really be done yet requires clarification dialog may require more keystrokes (unless spoken) unpredictable results

Questions l What category does a toolbar or palette fall into? l What is the relationship between these interaction styles and widgets in a GUI system?

Summary l Windowing systems –software to manage and arrange windows »keeps track of current focus –software to support handling of user-created events »complex GUIS are built up of hierarchically nested windows l Events –associated with various types of input devices and actions –are handled one by one from a queue l Other Interaction types –menu-driven, command language, natural language, form- fillin –UIs should mix and match as appropriate for the tasks being supported