Document 7308319

Download Report

Transcript Document 7308319

CS160 Final Review

May 2, 2006

Advertisement…

 Looking for someone who will be around this summer and would like some occasional (contract) work.

 Sign up with me if you’re interested.

Final Exam Review

 Exam will cover the entire semester (2/3 vs. 1/3 split), this review is over the second half  Selected slides from lecture – but not guaranteed to contain everything you need to know!

 Ask questions about the things that you don’t understand.

Mobile Evaluation

Mobile Evaluation

 Kjeldskov and Stage evaluated a mobile application in the lab, on a treadmill, and walking down the street

Task Load Index (TLX) increased…

 Other possibilities

Experience Sampling (ESM) Diary Studies (Feedback and Elicitation)

Design

Design is…

 About function:

Good designs support user tasks

 About form:

Good designs should be a pleasure to use

Design Summary

 One design strategy follows Bauhaus principles

Form Follows Function Economy of Form Integrity of Materials

 General design principles

Simplicity Grid-based Design

 Inspection and critique of other sites

UI Implementation

Stroke Model

 Describe image as strokes (w/ color/thickness) Line ((10, 4), (17,4), thick 2, red) Circle (( 19, 13), radius 3, thick 3, white)  Maps to early vector displays & plotters  Most UI toolkits have stroked objects

arcs, ellipses, rounded rectangles, etc.

Problems with Stroke Model?

 How would you represent with strokes?

 Solution?

Pixel Model

 Break up complex images into discrete “pixels” & store color for each  Resolution

Spatial: number of rows by columns e.g., 1280 x 1024 is a good monitor display Quality laser printer: 10200 x 13200 (1200 dpi) Image depth (i.e., number of bits per pixel) Several styles... 8-bit, 24-bit, 32-bit

Canvas

 Abstraction for the drawing surface

Most toolkits support one

 Defines methods used for drawing  Each instance has a height, width, & defines its physical units  Use the same method interface for

Windows Image in memory Printed output

 Called Graphical Device Interface (GDI) by MS

Graphics Context

   Could specify with:

void Canvas::Rectangle (x1, y1, x2, y2, lineWidth, lineColor, fillColor)

Lots of parameters!

shapes have properties in common

geometry, line/border width, line/fill color, pattern Use current settings of canvas

Usually there is a “graphicscontext” or similar abstraction that defines all the parameters needed for drawing.

Color Models

 256 levels for each primary color

-> 24 bits / pixel

 RGB model

Specify color by

red

,

green

, & components

blue

 HSV model - hue, saturation, & value

Hue is primary wavelength (i.e., basic color) Saturation is a measure of how pure color is Value is intensity (dark vs. light)

Interactor Tree

7 4 1 0 93.54

8 5 2

+ =

ENT 9 6 3 Display Screen Outer Win [

black

] Inner Win [

green

] Result Win [

tan

] Result String Keypad [

Teal

] = button

-

button

+

button

0

button

Main Event Loop

} while (app is running) { get next event send event to right widget

Mouse Software Keyboard Software Events Display Screen Outer Win [

black

] Inner Win [

green

] Result Win [

tan

] Result String Keypad [

Teal

] = button

-

button

+

button

0

button //// See bottom of file for software license package edu.berkeley.guir.lib.satin ; import java.awt.*; import java.awt.event.*; import edu.berkeley.guir.lib.satin.objects .*; /** * Satin constants.

* *

* This software is distributed under the * * * * @version SATIN -v2.1-1.0.0, Aug 11 2000 */ public interface SatinConstants { //=========================================================== ================ //=== GLOBAL SATIN PROPERTIES =========================== ================ /** * The name of Satin's properties file. Assumed to be in the current * directory, from which Satin is started (via the java inter preter).

*/ public static final String SATIN_PROPERTIES_FILENAME = " satin.properties "; //=== GLOBAL SATIN PROPERTIES ============================== ============= //=========================================================== ================ //=========================================================== ================ //=== STYLE PROPERTIES ================================== ================ //// If you add any new Style properties, be sure to update t he //// Style.java file too.

public static final String KEY_STYLE_FILLCOLOR = " FillColor"; public static final String KEY_STYLE_FILLTRANSPARENCY = " FillTransparency "; public static final String KEY_STYLE_MITERLIMIT = " MiterLimit"; public static final String KEY_STYLE_DASHARRAY = " DashArray"; public static final String KEY_STYLE_DASHPHASE = " DashPhase"; //=== STYLE PROPERTIES ================================== ================ //=========================================================== ================ } // of interface //============================================================== ================ /* Copyright (c) 2000 Regents of the University of California.

All rights reserved.

Redistribution and use in source and binary forms, with or witho ut modification, are permitted provided that the following conditio ns are met: 1. Redistributions of source code must retain the above copyrigh t SUCH DAMAGE.

*/

Platforms - PC

 For regular PC development, the options are:  C#/Visual Basic/C++ (Visual Studio)    Java Flash Rapid prototyping: Suede, Silk, Satin (see guir.berkeley.edu/projects)

Platforms - Web

 For web development one of the main issues is portability. Before designing your app, think about browsers for your user group.  There is a lot more than IE and Netscape:    Mozilla/Opera AOL: huge community, many versions with limited browsers Old versions of IE and Netscape

The Cell Phone Industry

 There are 6.5 billion people on earth only about 1.2 billion in “developed” countries  They will buy 800 million mobile phones this year - one person in eight on the planet  That’s 4x PC or TV unit sales 800m  Fraction of smartphones should reach 40% by 2009 most common “computer” 200m

Interactive Programming

Callbacks

Threads

 Use separate threads for any operations that can occur asynchronously:

Large file operations – use separate threads if you need to be updating and large files.

Network communication (sockets): use one thread for each connection.

Use a thread for each other I/O device, e.g. one each for reading from or writing to the sound card Timers: if you schedule events to happen later, you need a thread to trigger that action

What’s in a thread

 A

thread

is a partial virtual machine (with its own stack) that runs your program. Threads share heap storage and static variables. (

processes

don’t share memory)

Ways for threads to communicate and synchronize

 Thread communication

Message Queues (e.g. event queues) Shared memory

 Synchronization

Often through Monitors (e.g. in C#)

Model View Controller (MVC)

Sensori-Motor Models

Color: Retina

 Retina covered with light sensitive receptors

Rods

Primarily for night vision & perceiving movement Sensitive to broad spectrum of light Can’t discriminate between colors Sense intensity or shades of gray

Cones

Used to sense color

Color: Retina

 Center of retina has most of the cones

Allows for high acuity of objects focused at center, good color perception.

 Edge of retina is dominated by rods

Allows detecting motion of threats in periphery, poor color sensitivity there.

 What’s the best way to perceive something in near darkness?

Look slightly away from it.

Color Blindness

 Check out other color use hints in the lecture notes.

Model Human Processor

The Model Human Processor

sensory buffers Long-term Memory Visual Image Store Working Memory Auditory Image Store Eyes Ears Perceptual Processor Motor Processor Fingers, etc.

Cognitive Processor

Memory

 Working memory (short term)

Small capacity (7 ± 2 “chunks”)

6174591765 vs. (617) 459-1765 DECIBMGMC vs. DEC IBM GMC

Rapid access (~ 70ms) & decay (~200 ms)

pass to LTM after a few seconds  Long-term memory

Huge (if not “unlimited”) Slower access time (~100 ms) w/ little decay

MHP Basics

 Sometimes serial, sometimes parallel

Serial in action & parallel in recognition

Pressing key in response to light Driving, reading signs, & hearing at once  Parameters

Processors have cycle time (T) ~ 100-200 ms Memories have capacity, decay time, & type

Fitts’ Law

 Moving hand is a series of micro corrections, each

correction takes T

p +

T

c +

T

m

= 240 msec

Time T pos to move the hand to target size S which is distance D away is given by:

T pos = a + b log 2 (D/S + 1)  Summary

Time to move the hand depends only on the

relative precision required

Fitts’ Law Example

Pop-up Linear Menu Today Sunday Monday Tuesday Wednesday Thursday Friday Saturday Pop-up Pie Menu  Which will be faster on average?

Stage Theory

maintenance rehearsal Sensory Image Store decay Working Memory Long Term Memory decay, displacement decay?

chunking / interference?

elaboration

Design Patterns

Design Patterns

 First used in architecture [Alexander]  Communicate design problems & solutions

How big doors should be & where… How to create a beer garden where people socialize… How to use handles (remember Norman)…

 Not too general & not too specific

Use solution “a million times over, without ever doing it the same way twice”

Home page design

1.

2.

3.

4.

Pattern Title: Home page Context:

Pages that are the entry point for a web site.

Forces

People are attracted by novelty and good design, attention span is very short on the web, home pages are regularly updated.

Problem Statement

What to capture and hold visitors attention, encourage return visits, and be easy to maintain

Solution sketch

Quantitative Evaluation Methods

Quantitative Studies

 Quantitative:

Use to reliably measure something Can compare different designs, or design changes

 Examples:

Time to complete a task.

Average number of errors on a task.

Users’ ratings of an interface *:

Ease of use, elegance, performance, robustness, speed,… * You could argue that users’ perception of speed, error rates etc is more important than their actual values.

Random variables

 Random variables take on different values according to a

probability distribution

.

 E.g. X  {1, 2, 3} is a discrete random variable with three possible values.  To characterize the variable, we need to define the probabilities for each value: Pr[X=1] = Pr[X=2] = ¼, Pr[X=3] = ½  On each

trial

or

experiment

, we should see one of these three values with the given probability.

Detecting differences

 The more times you repeat an experiment, the narrower the distributions of measured average values for two conditions.

 So the more likely you are to detect a difference in a test variable between two cases.

Variable types

 Independent Variables: the ones you control

Aspects of the interface design Characteristics of the testers Discrete: A, B or C Continuous: Time between clicks for double-click

 Dependent variables: the ones you measure

Time to complete tasks Number of errors

Significance

 The significance or p-value of an outcome is the probability that it happens by chance if the relation does

not

hold.  E.g. p = 0.05 means that there is a 1/20 chance that the observation happens if the hypothesis is false.

 So the smaller the p-value, the greater the significance.

T-test

 The T-test asks for the probability that E[X] > E[Y] is false.  i.e. the null hypothesis for the T-test is whether E[X] = E[Y].  What is the probability of that given the observations?

Analyzing the Numbers

 Example: prove that task 1 is faster on design A than design B.

Suppose the average time for design B is 20% higher than A. Suppose subjects’ times in the study have a std. dev. which is 30% of their mean time (typical).

 How many subjects are needed?

Need at least 13 subjects for significance p=0.01

Need at least 22 subjects for significance p=0.001

(assumes subjects use both designs)

Statistics with care:

 A common mistake:  An experiment fails to find a significant difference between test and control cases (say at p = 0.05), so you conclude that there is no significant difference.  No!

 A difference-of-averages test can only confirm (with high probability) that there

is

a difference. Failure to prove a significant difference can be because

There is no difference, OR The number of subjects in the experiment is too small

Using Subjects

Between subjects

experiment

Two groups of test users Each group uses only 1 of the systems

A B 

Within subjects

experiment

One group of test users Each person uses both systems

Between subjects

 Two groups of testers, each use 1 system 

Advantages:

Users only have to use one system (practical).

No learning effects.

Disadvantages:

Per-user performance differences confounded with system differences: Much harder to get significant results (many more subjects needed). Harder to even predict how many subjects will be needed (depends on subjects).

Within subjects

 One group of testers who use both systems 

Advantages:

Much more significance for a given number of test subjects.

Disadvantages:

Users have to use both systems (two sessions). Order and learning effects (can be minimized by experiment design).

Social Psychology and CSCW

Social Psychology

 Why study it?

 It helps us understand human collaboration, which is one of the most difficult areas of HCI, but also the most important.

 Most “knowledge work” is collaborative at some level. Organizations can be more or less than the sum of their parts.

Mere presence – Design Implications

 Increasing the level of group “awareness” should increase mere presence effects:

Heightened arousal Faster performance Increased learning More errors

 Examples:

High awareness – video conferencing, phone Medium – Instant messaging Low awareness – Email

Attribution theory

 Attribution theory: was this behavior caused by personality, or environment?

 Fundamental attribution error:

When I explain my own behavior, I rely on external explanations. When I explain others’ behavior, I’m more likely to attribute it to personality and disposition.

e.g. other drivers are either “lunatics” (faster than me) or “losers” (slower than me). Of course, they have the same model about you

Attribution theory – design implications

 To reduce attribution errors, its important to have as much context as possible.

 E.g. room-scale video-conferencing, or ambient displays:

Non-verbal communication

Q: What is the role of these cues in normal communication? A: It depends totally on the role of the communication, e.g.

 Routine (giving information, coordinating)  Persuading and being persuaded  Trust, deception and negotiation  …

CSCW: Computer-Supported Cooperative Work

 Its about tools that allow people to work together.

 Most of the tools support remote work

video, email, IM, Workflow

 Some tools, e.g. Livenotes, augment local communication.

 Can be synchronous (live) or asynchronous

Asynchronous Groupware

 Email: still a killer app  Newsgroups: topical messaging  Cooperative hypertext/hypermedia authoring: e.g. Wikis, Blogs  Structured messaging: e.g. Workflow – messages route automatically.

 Knowledge repositories: Answergarden, MadSciNet, Autonomy…

Automation

Human Learning and Help

Why Study Human Learning?

Ans: People need to *learn* new applications, often using various forms of Help.

  Ans: The way people learn should influence the design of help systems, and perhaps the entire system e.g.

 Knowledge is “situated” in particular contexts, so help should reflect that (scenarios/common tasks)  Learning is layered on old knowledge in a roughly novice  expert trajectory Learning involves a concrete  abstract progression Fluency with abstraction varies across the population, esp. with degree of schooling

ZPD: Zone of Proximal Development

 Learning is layered and incremental.  In societies, learners are helped by others.

 In fact learners have a “zone” of concepts they can acquire with help.  This is the Zone of Proximal Development (ZPD).

Metacognition

 Strong learners carefully manage their learning.   For instance, strong learners reading a textbook will pause regularly, check understanding, and go back to difficult passages. Weak learners tend to plough through the entire text, then realize they don’t understand and start again.

Have I learned Have I this yet?

learned this yet?

Piaget: Stages of learning

Jean Piaget observed very systematic progression of knowledge in children through stages: 1.

Sensori-motor (acting, observing, remembering) [< 2 years] 2.

Semiotic or symbolic (naming things) [> 1.5 years] 3.

“Concrete” operations (relationships, transformations) [2-7, 7-11 years] 4.

Propositional or formal thought [> 7 years]

Types of Help

Quick Reference:

Reminders of common command names or options.

Good to place on a card, or for small devices, on the device itself. Use a few main categories to avoid long search..

E.g. for an editor, categories like “basic”, “search/replace”, “load/save”, etc.

Types of Help

Task-specific help

User needs help on how to apply a command, or to complete a task.

Can be part of a “how-to” system for common tasks. Should be easily accessible from the command line (if text).

Make “options” windows obvious and easy to

find!

E.g. add “advanced” button in the dialogue to apply any command.

Types of Help

Full explanation

User wants complete understanding, to get best value out of the application.

This part explains the “why” more than the “how”. E.g. How do compiler options affect performance? What are various installation components used

for? What are the uncommon commands?

Probably need a chapter in the help system for this. More system-centric than task-centric.

Types of Help

Tutorial

The tutorial leads the user through a task, scaffolding their actions. Should allow users to act as well as watch (sandboxing). The “best” way to teach!

More work to build into the system, but you should leverage your company’s other effort:

E.g. most software houses conduct regular training sessions for customers – these are ideal tutorial content.

Speech Interfaces

Speech: the Ultimate Interface?

 Why speech hasn’t succeeded in the office:  Affordances of text:

Visual scanning (for email or docs) Unambiguity of text Editing of text

 Disadvantages of speech:

Noise – call center ambience Lack of privacy

But Computing is Moving

Where are computers these days? Intel’s breakdown (based on PC sales):  Office  Home  Mobile (laptops)  Medical And as we noted earlier, programmable smartphones will soon outnumber

total

PCs. Then there are game boxes, cable boxes, Smart TVs etc.

    

Speech UIs

Most implement a finite-state machine. At each state, the system can recognize various speech segments to take you to the next state(s).

A segment may be a word, through to a complete utterance.

The system can also make utterances of its own at various states.

You can specify them using regular expressions, or using VoiceML.

Ten Guidelines for Speech Interfaces

5.

6.

7.

8.

1.

2.

3.

4.

You can’t design what you can’t define Use user-centered design techniques Use the right technology, and use technology right Leverage the language instinct Establish success criteria and test against them Branding in VUI is more than just a pretty voice How you say it is as important as what you say Don’t block the exit 9.

Take care with error handling 10.

Establish a change process

Localization

International Issues

 Geographic, political, linguistic

Example: ISO CRT-color, icon, and UI standards Example: Canadian bilingual requirements Example: Currency, time, physical measurements

Intercultural Issues

 Religious, historical, aesthetic:

Example: Calendars, the weekend = Thu/Fri in some Moslem states Example: Color/type/signs/terms

Hofstede’s 5 Dimensions of Culture

 Power-distance  Collectivism vs. individualism  Femininity vs. masculinity  Uncertainty avoidance  Long- vs. short-term orientation

UX Issues Related to Culture, 1/4

 Are basics of usability culture-biased? Efficiency, productivity, simplicity, usefulness...for what?

 How can culture models be added to theories of utility, sociability, community, entertainment computing, design?

 How best to map UI components to culture dimensions?

 How can corporations and organizations include more cultural theory in development process?

UX Issues Related to Culture, 2/4

 Online training: Friend/guru? Tradition/skills?

 Interaction styles: informal vs. formal, harmony vs. honesty, sincerity

vs

. scheming?

 Content: challenging

vs

. feel-good?

 Rewards: Money

vs

. group acclaim?

 Conflict: Frequent

vs

. seldom? Chatroom flaming OK? Clashing opinions OK?

UX Issues Related to Culture, 3/4

 Personal

vs.

group opinions? China: “Personality”?

 Shame

vs

. guilt: Personal Webcams, SMS OK?

 Individual

vs

. collective cultures: role of community, chatroom behavior, hiring sites, coop work sites?

 Management/training? Most for individual, not collective cultures,

e.g

., honesty and confrontation

UX Issues Related to Culture, 4/4

 Work sites: Task vs. personal relation?

 Different men, women sites/apps? Service orientation?

 Role of advertising, hyperbole? Different in masculine vs. feminine cultures?

 Gender differences for job sites: Careers? Interest in subject? Skills vs. contacts?

 Culture difference: Activities outside the home?

 Western vs. Eastern: Truth vs. virtue/practical?

Information Visualization

augmented cognition

 Using external artifacts to amplify human mental abilities.

Classic examples: pen and paper, slide rules A primary goal of Information visualization

 In the case of InfoVis, how?

Increased resources Reduced search Enhanced pattern recognition Perceptual inference Perceptual monitoring Manipulable medium

basic types of data elements

  Ordinal

(ordered, but not at measurable intervals) first, second, third, … cold, warm, hot Mon, Tue, Wed, Thu …

 Nominal

(no inherent order) city names, categories, ...

Quantitative

(ordered, with measurable distances) real numbers

 Relations

(relations between elements) Networks Hierarchical relationships (parent/child)

basic types of visual encodings

 “Retinal” properties

spatial position (e.g., x-y axes) size shape color orientation texture

 “Gestalt” properties

connectivity grouping (e.g., enclosure)

 Animation

view transitions animated elements

sensemaking tasks [Card et al]

  Search for schema

Identify relevant dimensions of data

 Information foraging

Collect information of interest

Instantiate schema (with data!)

Schema == knowledge representation Organize / codify information

 Analysis (problem solving)

Analyze and filter data, answer questions Refine schema as needed

 Record / communicate

Make a decision, take action, or communicate results

interactive tasks [Shneiderman]

       Overview

Get an overview of the collection

Zoom

Zoom in on items of interest

Filter

Remove uninteresting items

Details on demand

Select items and get details

Relate

View relationships between items

History

Keep a history of actions for undo, replay, refinement

Extract

Make subcollections

characterizing the visualization

 x-axis: year (quantitative)  y-axis: currency (quantitative)  color: imports/exports (nominal)  color: positive/negative (nominal/ordinal)

infovis reference model

Data Visual Form Task Raw Data Data Tables Data Transformations Visual Structures Visual Mappings Views View Transformations     Data Transformations

Mapping raw data into an organization fit for visualization

Visual Mappings

Encoding abstract data into a visual representation

View Transformations

Changing the view or perspective onto the visual representation

User interaction can feed back into any level

Good Luck!