21
© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

Embed Size (px)

Citation preview

Page 1: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

© 2

008

The

Mat

hWor

ks, I

nc.

® ®

Using Instant Messaging to Usability Test an API

Rachel Cobleigh

Donna Cooper

Page 2: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

2

® ®

Our task: evaluate the usability of an API

API = Application Programming Interface Used for writing software code Programmers (our users) have different

expectations than point-and-click users

This API was in the design phase, so no live prototype was available

Page 3: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

3

® ®

Our product: MATLAB®

Page 4: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

4

® ®

Example command-line interaction

Page 5: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

5

® ®

Challenge #1: No GUI

Page 6: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

6

® ®

Partial Solution: Use the documentation

?

Page 7: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

7

® ®

Another solution: Language Norming

Describe a task and ask the participant to suggest an API name

Provide a list of API names and ask the participant to choose the one that best describes a task

Show the participant an API name and ask what they think it does

Provide help documentation and observe adoption of API names

Describe a task and ask the participant to suggest an API name

Provide a list of API names and ask the participant to choose the one that best describes a task

Show the participant an API name and ask what they think it does

Page 8: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

8

® ®

How does API testing compare to GUI testing?

What's different Users will need to rely more heavily on documentation Prepare at least a first pass at error and warning messages and

bare-bones help documentation

What’s the same Recruit as usual Prepare a scenario and user tasks to structure the test session Have a developer act as the “computer” Do walkthroughs before the first real usability test

Page 9: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

9

® ®

Challenge #2: Realistic API interaction when there’s no live prototype

Paper prototype? Awkward participant experience Difficult to manage test results

Page 10: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

10

® ®

Challenge #2 continued...

Word processor? Participant experience still awkward Pre-written “computer” responses could

bias test results Difficult to manage test results

?? Undefined function or variable ‘c’.

Warning: site vector should be arrow Vector with integer elements

??? Error using ==> imshow>preParseInputs at 340IMSHOW expected at least 1 input argument but was called instead with 0 input arguments.

>> d = zeros(0.5)Warning: site vector should be arrow vector with integer elements

d = [ ]

d = zeros(c)?? Undefined function or variable ‘c’.

Page 11: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

11

® ®

Solution: Use Instant Messaging (IM) to simulate the command-line interface!

IM interaction closely resembles command-line interaction

Blank screen interface

Text-based input and responses

Immediate interactive responses to input

Page 12: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

12

® ®

Example of an IM prototype interaction

Page 13: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

13

® ®

Set up with a local participant

Page 14: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

14

® ®

Set up with a remote participant

Page 15: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

15

® ®

Mechanics of a successful test session

Customize Use copy-and-paste Have responses ready Agree on a protocol Provide help and/or documentation Ensure that “computer” realistically simulates the

command-line

[>>] try looking at other methods[>>] command mostly worked

Page 16: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

16

® ®

Observations & tips for success

IM interactions closely resemble command-line interactions

Participants quickly understood what was expected of them because IM conversations “felt like” the command-line interface

Pre-defined text made the IM session flow quickly so that the illusion of really interacting with the software could be maintained

Delays while “computer” is typing are good opportunities to ask participants questions

Page 17: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

17

® ®

Benefits of using IM

Improved participant experience

Easier to manage test results

Transcripts are easy to save and disseminate

Page 18: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

18

® ®

Limitations of using IM

It's not a perfect simulation

It can have a slightly different look-and-feel

There can be security issues if testing proprietary designs over the internet

Avoid using personal IM accounts: minimize outside interruptions

Hey hon, can u stop for milk on the way home?

Page 19: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

19

® ®

Conclusions

We improved the usability of our API

The techniques were simple and effective

Page 20: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

20

® ®

Acknowledgements

We are grateful for the input given by the following people at The MathWorks, without whom this work would not have been possible:

Mary Beth Rettger Amy Kidd Jennifer Lymneos Jeff Goodwin Ellen Mangan

Page 21: © 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper

21

® ®

Related work

Steven Clarke has published work on API usability testing Clarke, Steven, Measuring API Usability, Dr. Dobb’s Journal

Special Windows/.NET Supplement, May 2004, pp. S6-S9 Focus is put on analyzing test data in terms of the Cognitive

Dimensions framework http://blogs.msdn.com/stevencl/

Testing was done on a live prototype, in an integrated development environment (i.e., a specialized text editor)

Laura Chessman introduced Language Norming to The MathWorks