05-773A4: Computer Science Perspectives in HCI, (CS Mini), Spring, 2013, Mini 4

eyelashesnectarineSoftware and s/w Development

Nov 3, 2013 (3 years and 10 months ago)

96 views

05
-
773A4: Computer Science
Perspectives in HCI,

(CS Mini), Spring, 2013, Mini 4

Brad Myers



1. Course overview, topics, and organization;
and why hard

1

© 2013
-

Brad Myers

2

Course:


Course web page:

http://csmini13.hciresearch.org/



Overview & Schedule:


http://csmini13.hciresearch.org/content/syllabus



Tuesdays and Thursdays


10:30AM
-

11:50AM in GHC 4101



Last offered 2011 & 2009


See previous schedule,
homeworks
, etc.

2009 (once a week):
http://csmini.cmubi.org/


© 2013
-

Brad Myers

3

Instructor


Brad Myers


Human Computer Interaction Institute


Office: Newell
-
Simon Hall (NSH) 3517


Phone: x8
-
5150


E
-
mail:
bam@cs.cmu.edu


http://www.cs.cmu.edu/~bam


Office hours: By appointment or drop by



Secretary:
Indra Szegedy


NSH 3526


412
-
268
-
4431


indras@cs.cmu.edu



No TA

© 2013
-

Brad Myers

What are we going to do

day to day?


READING!


This is course is centered on the literature


You are going to do a LOT of reading


And Discussion


Started on
-
line, but mostly in class


Which means you need to be here


Especially because there are only 11 class meetings


Twice a week, but not during CHI

4

Things you will need to do


Every class


Read the papers (Yes there are a lot of them)


Be here and participate


Some of you have commitments driven by your research,
so…


You get at most 1 excused “absence for professional
reasons”


Must be approved in advance (talk to me soon)


For professional reasons such as attending a conference


Still need to do the readings and post your comments (on time)


If you are legitimately ill, that’s ok (you will be excused)


But beyond the 1st excused absence (~30% of the class)

you may have to take an incomplete in the course

with additional assignments as makeup for the missed work

(unexcused absences will just seriously hurt your grade)

5

Things you will need to do


Frequently


Paper summaries


Posted written summary (starting next time)


Presentation


Starting for Thursday’s lecture


Sign up to be discussion leader of readings by editing course
syllabus


Let me know if you can’t edit


Summary by discussion leader (
posted

by Sunday night for
Tuesday’s class, by Tuesday night for Thursday’s class
)


Comment on at least 1 article (By
midnight

the night before class)


Every class, including the weeks you are presenting, you must
comment on at least one course readings per lecture (in addition to
any summary), even if you are absent for the lecture


Once


Literature Review


On a topic approved by me based on a 1 page abstract


Take Home Final Exam


The week after CHI


OK to do it from a distance

6

Presentation responsibilities


(Copied from Social Mini)


Online summary of the paper


Brief review of the paper in class (remember
everyone


should have read it!)


Provide some intellectual context


Where did the ideas come from


What ideas build off the ones in your article?


Introduce discussion questions

7

Useful questions for
discussion


(Copied from Social Mini)


Why is the research question interesting?


Do you believe the author’s conclusions?


Where the research methods rigorous enough?


How does the intellectual or empirical
approach compare to others?


Online or in class

8

Papers


Like Social Mini, generally try to have:

1.
A "classic" or "fundamental" article that inspired
lots of people, that is, one with a high citation
count.

2.
A recent article that is really cool.

3.
A survey article that discusses lots of
systems/approaches, etc.


Your feedback on which papers (new / different)


Even new / different topics


Last topic?


9

What is this course about?


Required “Depth Mini” for the HCII PhD
program



Purpose:

Provide you with some understanding of the
literature, methods, and research culture of
technically oriented HCI

10

Choice of Topics


History of the field


Important perspectives


Sampling of important topics


From my perspective


Different from last time’s (Hudson’s) or 2009’s
(
Mankoff’s
)


Neither Breadth nor Depth

11

Content


Topics that would be publishable at UIST:


http://www.acm.org/uist/uist2013/



“significantly novel enabling technologies such as
innovative input
devices, displays, new interaction techniques
, or new media that
extend the boundaries of traditional interaction, such as natural user
interfaces and interactions, augmented reality, mobile interaction,
haptics

and tactile feedback interfaces, ubiquitous computing
(including
wearables
), social software, and computer
-
supported
collaborative work


innovative user interfaces

for difficult interaction contexts or
challenging applications. Examples include managing large, complex
information sets, usable privacy and security, multi
-
user interaction,
crowdsourcing
, fabrication, or techniques that span devices
distributed in time and space


breakthrough user experiences

leveraging techniques such as
machine learning, computer vision, computer graphics, speech
processing, networking, or human perception and cognition


innovative software architectures
, design tools, toolkits, programming
systems, development environments, tutorial and help systems that
support the development and use of the above technologies in user
interfaces”

12

Why is Brad Qualified

to Teach This?


Worked in the MIT Architecture Machine Group
(now Media lab) when SDMS was created


Interned at Xerox PARC in the days of the Alto &
Star


“Incense” visualization


Created one of the first commercial window
managers at Three Rivers Computer


Perq


PhD with Bill Buxton, 1984
-
87 on “
Peridot



Created two influential toolkits in the 80’s and 90’s


Highly published at CHI and highly cited by UIST
papers


13

© 2013
-

Brad Myers

Why is this important?


Because it’s ½ of the
HCI = People + Computers

picture



Because technology is changing society


rapidly, in big (and small) ways



Because technology is where
the rubber meets the
road



where your research can make the world a better place



Because now is a critical time for technology &
people


14

Computing is

Everywhere

Computing is

Everywhere

Why is that?

A small processor
costs < $1


If you can add $2
-
$5

to the cost of
something,

you can add a
processor


if there is something of value


to be gained (doesn’t have to
be much)


Technology Side of

HCI has Affected Everyone


Our Interaction Techniques are used by
everyone


Scrolling, Copy
-
and
-
Paste, Window Managers, …



All software is built with descendents of our tools


UI Toolkits, Resource Editors, object
-
oriented
programming, …



We are researching the next set of interaction
techniques and tools


18

© 2013
-

Brad Myers

Why Hard?

Brad Myers

19

© 2013
-

Brad Myers

Problem


Appliances are too complex

20

© 2013
-

Brad Myers

Problem


Too many remotes

21

© 2013
-

Brad Myers

Problem


April 29, 1991

22

© 2013
-

Brad Myers

Good UIs on Successful Products


Palm succeeded where other handhelds had failed
due to a focus on usability:


Fit into pocket


Reliable gestural text input


Commands immediately available


Apple iPod lauded for

design and user interface


iTunes


entire
service design


Apple
iPhone



unique UI


Apple
iPad



desireable


Wii

controller, vs.
XBox
, PS3

graphics & power

23

© 2013
-

Brad Myers

Bad UIs can Sink

Products & Companies


Damage reputations


Ford dropped in ratings due to touch screen interface


“Despite Ford’s improvements in manufacturing quality, their
overall ratings fell precipitously this year due solely to the poor
software interaction on their dashboards.”


NYT
,
Cooper Report


“’annoying’ behavior of

their driver
-
facing

interactive systems

that caused their

ratings to plummet.”

24

© 2013
-

Brad Myers

http://en.wikipedia.org/wiki/File:World_Wide_Smartphone_Sales_Share.png

Nokia & RIM

25

© 2013
-

Brad Myers

Bad UIs Can Cause Disasters


Aegis


July 4, 1988; Iranian Airbus
shootdown

by the
Vincennes

http://www.washingtonpost.com/wp
-
srv/inatl/longterm/flight801/stories/july88crash.htm

http://en.wikipedia.org/wiki/USS_Vincennes_%28CG
-
49%29



Deaths in kids:
http://pediatrics.aappublications.org/cgi/content/abstract/116/6/1506



“Unexpected Increased Mortality After Implementation of a
Commercially Sold Computerized Physician Order Entry (CPOE)
System”


Because it took so much longer, did
not

reduce errors overall


Florida ballots (2000)

http://www.asktog.com/columns/042ButterflyBallot.html


26

© 2013
-

Brad Myers

Florida Ballots in 2000

27

© 2013
-

Brad Myers

Why are User Interfaces Difficult


to
Design
?

28

© 2013
-

Brad Myers

Why Hard to Design UIs?

“It is easy to make things hard. It is hard to make
things easy.”


No silver bullet


Seems easy, common sense, but seldom done
right


Once done right, however, seems “obvious”


User Interface design is a creative process


Designers have difficulty thinking like users


Often need to understand task domain


Can’t “unlearn” something

29

© 2013
-

Brad Myers

Can’t Unlearn Something

30

© 2013
-

Brad Myers

Why Difficult, 2


Specifications are always wrong:


"Only slightly more than 30% of the code
developed in application software development
ever gets used as intended by end
-
users. The
reason for this statistic may be a result of
developers not understanding what their users
need."

--

Hugh Beyer and Karen Holtzblatt, "Contextual Design: A
Customer
-
Centric Approach to Systems Design,“

ACM Interactions
, Sep+Oct, 1997, iv.5, p. 62.


Need for prototyping and iteration

31

© 2013
-

Brad Myers

Why Difficult, 3


Tasks and domains are complex


Word 1 (100 commands) vs. Word 2007 (>2000)


MacDraw 1 vs. Illustrator


BMW iDrive adjusts over 700 functions


Existing theories and guidelines are not
sufficient


Too specific and/or too general


Standard does not address all issues.


Adding graphics can make
worse


Pretty


䕡獹 瑯t畳e


Can

t just copy other designs


Legal issues

32

© 2013
-

Brad Myers

Why Difficult, 4


All UI design involves tradeoffs:


Standards (style guides, related products)


Graphic design (artistic)


Technical writing (Documentation)


Internationalization


Performance


Multiple platforms (hardware, browsers, etc.)


High
-
level and low
-
level details


External factors (social issues)


Legal issues


Time to develop and test (“time to market”)

33

© 2013
-

Brad Myers

Why are User Interfaces Difficult


to
Implement
?

34

© 2013
-

Brad Myers

What are the most difficult
kinds of programs, in general?


What properties make a task difficult to
program?


35

© 2013
-

Brad Myers

Why Are User Interfaces Hard to
Implement?


They are hard to design, requiring iterative
implementation


Not the waterfall model: specify, design, implement, test,
deliver


They are
reactive

and are programmed from the
"inside
-
out"


Event based programming




More difficult to modularize


They generally require multi
-
processing


To deal with user typing; aborts




Window refresh




Window system as a different process




Multiple input devices

36

© 2013
-

Brad Myers

Why Hard to Implement? cont.


There are real
-
time requirements for handling input
events


Output 60 times a second




Keep up with mouse tracking




Video, sound, multi
-
media


Need for robustness


No crashing, on any input




Helpful error messages and recover gracefully




Aborts




Undo

37

© 2013
-

Brad Myers

Why Hard to Implement? cont.


Lower testability


Few tools for regression testing


Little language support


Primitives in computer languages make bad user interfaces




Enormous, complex libraries




Features like object
-
oriented, constraints, multi
-
processing


Complexity of the tools


Full bookshelf for documentation of user interface frameworks


MFC, Java Swing, VB .Net, etc.


Difficulty of Modularization

38

© 2013
-

Brad Myers

Examples


Difference between displaying “hello” in
console and displaying a blue rectangle in a
window


Difficulty to read a file name


Readln
() in Pascal, Java, C++, etc.


Vs. tool in modern toolkits


Complexity of the file dialog itself


You must deal with aborting, undo, etc.

39

© 2013
-

Brad Myers

Success of Tools


Today’s tools are highly successful


Window Managers, Toolkits, Interface Builders
ubiquitous


Most software built using them


Are

based on many years of HCI research

Brad A. Myers. “A Brief History of Human Computer Interaction Technology.”

ACM interactions
. Vol. 5, no. 2, March, 1998. pp. 44
-
54.

40

© 2013
-

Brad Myers