Why study user interfaces? Good UIs are critical to success UI programming is easy (sophisticated algorithms not required) straightforward (can immediately.

Slides:



Advertisements
Similar presentations
BTEC 149. Windows Desktop Click on the Start Button.
Advertisements

 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
Tutorial 8: Developing an Excel Application
Apple OSX Sami Pohjolainen, Gulshan Kumar.  This is a presentation about Apple OSX guidelines  Sami Pohjolainen,
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Computer Training for Elders.  We make some assumptions about who you are: ◦ You are interested in using a computer for a few basic tasks (to begin with)
Miscellaneous Windows 2000 Desktop Features Windows 2000 Intermediate.
XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
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,
Interaction Styles Interface Widgets. What are Interaction Styles?  A Collection of interface objects and associated techniques from which an interaction.
User Interface Design. Overview The Developer’s Responsibilities Goals and Considerations of UI Design Common UI Methods A UI Design Process Guidelines.
User Interface Design Users should not have to adapt to a piece of software; the software should be designed to fit the user.
WINDOWS XP BACKNEXTEND 1-1 LINKS TO OBJECTIVES Starting Windows Using the Taskbar, opening & switching programs Using the Taskbar, opening & switching.
Key Applications Module Lesson 11 — Using Microsoft Office 2003 Computer Literacy BASICS.
Conversational Computers
Microsoft PowerPoint Level One Presented by Merrilee Shopland Media Graphics Specialist Professional Development & Evaluation Programs.
Exploring the Basics of Windows XP
File Management and Organisation © Copyright William Rowan 2007.
1.Learning the Terms Learning the TermsLearning the Terms 2.Accessing the Internet from a PC Accessing the Internet from a PCAccessing the Internet from.
Exploring the Basics of Windows 8
Introduction to VBA. This is not Introduction to Excel We’re going to assume you have a basic level of familiarity with Excel If you don’t, or you need.
Access Tutorial 10 Automating Tasks with Macros
Ch 26 & 27 User Interfaces.
Introduction to Graphical User Interfaces Spring 2014 Instructor: Wayne Summers Room 453, CCT Building Phone:
Microsoft Windows LEARNING HOW USE AN OPERATING SYSTEM 1.
XP New Perspectives on Introducing Microsoft Office XP Tutorial 1 1 Introducing Microsoft Office XP Tutorial 1.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Getting Started with Application Software
MICROSOFT WORD GETTING STARTED WITH WORD. CONTENTS 1.STARTING THE PROGRAMSTARTING THE PROGRAM 2.BASIC TEXT EDITINGBASIC TEXT EDITING 3.SAVING A DOCUMENTSAVING.
©RavichandranUser interface Slide 1 User interface design.
Microsoft Access Lesson 1 Lexington Technology Center February 11, 2003 Bob Herring On the Web at
XP New Perspectives on Windows XP Tutorial 1 Exploring the Basics.
Computing Fundamentals Module Lesson 3 — Changing Settings and Customizing the Desktop Computer Literacy BASICS.
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,
Output Design. Output design  Output can be: Displayed on a screen/VDU/monitor. Printed on paper as hard copy. Sound.
User Interface Design ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
An Introduction to Office  Office XP and Office 2007 look very different  This introduction should: ◦ Introduce you to some of the basic changes.
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:
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Assembly Language CS 333 Sam Houston State University Dr. Tim McGuire.
XP Tutorial 8 New Perspectives on Microsoft Windows XP 1 Microsoft Windows XP Object Linking and Embedding Tutorial 8.
Different Types of HCI CLI Menu Driven GUI NLI
 Start Microsoft Word from the icon or shortcut for the application. This is usually accessible from the Start Button. Then go to Programs, then Microsoft.
Software 3 See Edmodo for images Group name: topcat Group code: i4qf9a 11/03/11.
FIRST COURSE PowerPoint Tutorial 4 Integrating PowerPoint with Other Programs and Collaborating with Workgroups.
Basics of Windows 95/98/NT. Versions of Windows Windows 95 and 98 used mainly on standalone computers Windows NT used on networked computers (as in our.
Human Computer Interface INT211
FIGURING OUT WHAT USERS EXPECT (TAKEN FROM USER INTERFACE DESIGN FOR PROGRAMMERS, BY JOEL SPOLSKY)
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Assembly Language CS 333 Sam Houston State University Dr. Tim McGuire.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 13 Usability 1.
William H. Bowers – Specification Techniques Torres 17.
1 Lesson 11 Exploring Microsoft Office 2010 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition Morrison / Wells.
XP New Perspectives on Microsoft Windows XP Tutorial 1 1 Microsoft Windows XP Creating a Web Site Tutorial 1.
Rekayasa Perangkat Lunak User Interface Design. 2 Interface Design Easy to use? Easy to understand? Easy to learn?  lack of consistency  too much memorization.
Keeping Organized How to set up and use your school work folder.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Lesson 11 Exploring Microsoft Office 2007
Computer Fundamentals
With Microsoft FrontPage 2000
The Desktop Screen image displayed when a PC starts up A metaphor
Cooper Part III Interaction Details Designing for the Desktop
Exploring the Basics of Windows XP
Exploring the Basics of Windows XP
Word 2007 Basics TCC July 2011.
Official Interface Guidelines
Presentation transcript:

Why study user interfaces? Good UIs are critical to success UI programming is easy (sophisticated algorithms not required) straightforward (can immediately correct mistakes) fun (results are immediately visible) rational (apply simple rules) UI design is not graphic design

Cardinal axiom “A user interface is well-designed when the program behaves exactly how the user thought it would.” – Joel Spolsky user is happy = user in control = S/W correctly interprets user’s actions loss of control  depression, frustration All the other rules are just corollaries: Golden rules: place user in control, reduce user’s memory load, make interface consistent

User and program models User model: User’s idea of what’s happening Program model: Program’s idea of what’s happening (i.e., what’s actually happening) Successful UI when program model corresponds to user model Speak user’s language Follow real-world conventions, make information appear in natural and logical order Use metaphors from real world

Example Pictures in documents are embedded in word processor (e.g., Word) not embedded in HTML (pix in separate files!) With WYSIWYG HTML editor (e.g., FrontPage), what do you do? change user model (describe in manual, explain with popup dialog box) change program model (make copy of picture in subfolder)

How do you get the user model? Ask the users! The 50-cent usability test Usually 5-6 people is enough, will start to see consensus Don’t need formal usability lab, or “people off the street” Just sketch or prototype and ask your neighbor

User models are simple If your program model is nontrivial, it’s probably wrong (“invisible sheets” in Excel) Click hereThis window comes to top!

Choices “Every time you provide an option, you're asking the user to make a decision.” – Joel Spolsky This is “unequivocally the most moronic ‘wizard’ dialog in the history of the Windows operating system. This dialog is so stupid that it deserves some kind of award. A whole new category of award.”

Too much freedom is dangerous floating menu barhuge system tray How many users want these?

Metaphors Also desktop, folders, paintbrush,... vs.

Affordance afford – to make available or provide naturally (door with metal plate affords pushing) vs. (30% usability)(100% usability)

Affordance (cont.) Where to grab? Where to click? What to drag?

Consistency, not creativity “A foolish consistency is the hobgoblin of little minds” – Emerson Application should be consistent with itself and with other programs Examples: FrontPage, Visio Beware of creativity: Less like user model More work to implement Do not leverage future/hidden features “Just because Microsoft does it, doesn't mean it's right” Examples: Tab from name to password, Netscape’s reimplementation of common controls

Make explanations brief “Users don’t read the manual” – Spolsky May not have the manual (on airplane, demo version) Too busy / distracted / impatient “Users don’t read anything” – Spolsky advanced too busy novice hope defaults are ok in-between try to read but get confused vs.

Many users are intimidated by computers vs. (no dialog) Which is better for an intimidated user?

Users can’t control the mouse well What’s the problem? sub-optimal pointing devices bad conditions (dirty, old, or cheap mouse; crowded desk) medical disabilities (young, old, arthritis,...) in a hurry “Mile-high menu bar” Macintosh: slam mouse to top, get menu Windows: ½ by ¼-inch target Easiest places to point: four corners (Windows 95 start menu blunder: 2 pixels from corner) Programmers generally stick to 0, 1, or n They want to avoid magic numbers (Why can you only open 20 windows?) But all n>1 are not equally likely (window close to edge should snap in place)

Don’t tax the user’s memory Make objects, actions, and options visible User should not have to remember (too much) information

Some bad designs adaptive menu What principle is being violated? office “assistant”

The bell curve Users lie on a bell curve 98% can use a TV 70% can use Windows 15% can use Linux 1% can program Users are not dolts But, the easier you make the program, the more people can use it (10% more usable  50% more users)

Activity-based UI Two ways of designing UI: What features should be there? Greeting card example: add text, add picture, get predesigned card from library, send by , print What activities will users do? Greeting card example: birthday greeting, party invitation, anniversary greeting (leads to unexpected features: remind to send next year) Example: Excel was designed for financial number-crunching, but many use it for lists Improv was to be “killer app” for NeXT great for complicated multi-dimensional financial models painful for lists

Open-ended vs. sequential operation History of UI goes back-and-forth b/w user-in-control (command-line, Word,...) sequential steps (wizards,...) vs.

Visual perception color-blind: 8% of men, 0.5% of women [from Michael Black] color constancy font spacing:

Web-safe colors 216 can be reproduced on all displays (including 8-bit) dithering may produce other colors

Dangers of color traffic light is green Driving at night in San Jose, where the street lights are yellow traffic light is yellow

Beyond WIMP WIMP (windows, icons, menus, pointers) WYSIWYG is WYSIAYG Importance of language grouping, conditionals, referring to objects not immediately visible or future support novice and power-user provide concrete and abstract ways of manipulation keyboard shortcuts / macros Shared control Delegation of routine or complex tasks to computer

References Joel Spolsky, User Interface Design for Programmers abridged version available at Based on slides by Stan Birchfield, Clemson University