Usability Andrew Dalke Dalke Scientific Software, LLC "More Science, Less Time"

28
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    224
  • download

    3

Transcript of Usability Andrew Dalke Dalke Scientific Software, LLC "More Science, Less Time"

Usability

Andrew DalkeDalke Scientific Software, LLC

"More Science, Less Time"

What is usability?

"can be used"

But some things are "more usable" than others

Suppose you have a computer that's a bajllion-fold more powerful (memory, speed, resolution, etc.)

What remains is usability (... and research)

Apple ][ Plus - now with color●Task: demo the new color features of the Apple●Target audience:

• New owners• Customer in a computer store• Member of a class learning to use the Apple

●BUT: some people don't have color monitors• (this is the 1980s, and many use a b&w

television)➔Need to ask the user if it's a color monitor

Example from Tognazzini

Design #1

●Display a color graphic

●Prompt: "Are you using a color TV on the Apple?"

●Anticipated problem:

• Could be a color monitor with the color turned off

Design #2

●Display a color graphic

●Prompt: "Is the picture above in color?"

●Failure Rate: 25%

●Problem:

•Some people on a b&w monitor thought the color might be turned down, so turned around and asked the testers if that was the case.

Design #3

●Display: GREEN BLUE ORANGE MAGENTA

●Prompt: "Are the words above in color?"

●Failure Rate:

•Color TV users: none

•B&W TV users: none

•Green-screen users: 100%

Design #3

●Display: GREEN BLUE ORANGE MAGENTA

●Prompt: "Are the words above in color?"

●Failure Rate:

•Color TV users: none

•B&W TV users: none

•Green-screen users: 100%

Design #4

●Display: GREEN BLUE ORANGE MAGENTA

●Prompt: "Are the words above in more than one color?"

●Failure Rate:

•Color TV users: none

•B&W TV users: 20% (on purpose)

•Green-screen: 50% - "two colors: black and green"

Design #5

●Display: GREEN BLUE ORANGE MAGENTA

●Prompt: "Are the words above in several different colors?"

●Failure Rate: 20%, because they read

"Are the words above several different colors?"

Design #6

●Display: GREEN BLUE ORANGE MAGENTA

●Prompt: "Do the words appear in several different colors?"

●Failure Rate: None.

Techniques to improve usability●Who is the user? (persona development)●What are you trying to achieve? (use cases)●How is it done? (scenarios)●Testing

● Wouldn't have predicted these problems●Iteration

These improve many interface styles, like GUIs and APIs

"The User"

"The user wants this""No, the user wants that"

"The user won't be able to understand it."

Who's "the user"?

Persona Development

●Different people use software differently●There are subgroups with common use patterns●Characterize the different roles●Focus on one (or perhaps two)●Develop a fictional character who fits the role

Example roles

bench biologist, molecular biologist, sequencing tech, bioinformatician, computational chemist, software developer, software architect, biochemist grad student, IT support, DBA, ...

Chad - software developer / scientific support

Chad is a programmer in Abbie's department. He is 28 years old with a BS in CS and a minor in chemistry. After school he worked for a couple years in a dot com doing some DB and web work on unix systems, but the company failed. He decided to do more with science and heard about a position in Abbie's bioinformatics group for someone with his background. He knows he isn't a scientist but he's good at making software work and developing specialized tools to try things out. He prefers working with the "cool" scientists who try out new ideas and don't need much handholding.

He isn't a DBA specialist but knows how to make Perl talk to the bioinformatics database on Oracle and under the direction of a bioinformatics researcher can write new programs to query the database and tie it together with other unix command-line programs. Most of what he does runs on the command-line or through the web. He's the local web expert and has made web interfaces to a few dozen command-line programs, like DSC, blah, and blah.

Chad provides the in-house programming expertise which can be called on to develop software if no sufficiently appropriate commercial package exists. Thus he is more likely to work in projects which are: - 'novel' (research releated, and no existing applications) - 'accessibility' (eg, putting command-line programs on the web) - 'core' (removing dependency on an external vendor)

Are personas helpful?

●They focus the conversation."Abbie wants this"

"No, Brian wants that""Ruth won't be able to understand it."

●Seperates the user from real people"Ruth may want it, but our target audience is Abbie"

●Don't use personas when your target audience is small

Use Cases

●Description of what the persona wants● Use vocabulary in the user's domain (biology)

●Black-box regarding implementation details● Don't talk about mouse clicks, menu items,

classes, etc.

Example Use CaseIdentify similar sequences

Beth is working with a new sequence and wants to check if similar sequences are known. (Similar sequences usually have similar functionality, and the more similar the more likely that is true.)

She uses BLAST to do a similarity search on available databases. For each hit she looks at the record to find out what that matching sequence does. She makes a note of possible gene function and the sources of that assuption.

Scenarios

●The details of how to implement a use case

●You all know about this part.

●Consistency is very important●desktop metaphor / TMTOWTDI / Zen of Python

Testing●Intuition fails - must test with real users

● Luckily, only need to test 2-4●Some possible tests:

● the case scenarios● "what does this do?"

●Watch, make notes

Testing can even suggest alternate (better) solutions

Can test anything - personas, use cases, test cases

Hard to test yourself

main index prev next pref help

Points about testing

●Blame the software first●Don't blame the user - apologize!●"Thinking aloud"●Don't provide help●When finished, discuss anything you would like to have explained, and answer any questions

Iterative Development●Software development doesn't work in distinct stages

● There is flow between the different steps●When `finished', will need to rethink/refactor the design

Ways to speed up the iteration

●prototypes● paper / web / GUI designers● "scripting languages"● For APIs; write test and sample code first

●easy access to a "customer representative"

Example paper prototype

Special problems of OSS

●Few usability designers● Esp. ones who work free

●Less experienced developer base●Usability designers have less respect

● "he who writes the code wins"●Hackers code things up for themselves (power users)

● The solution is often "make it configurable"●Lack of testinghttp://mpt.phrasewise.com/discuss/

msgReader$173

Advantages of Bioinformatics OSS

●Developers know the domain●Most have training in science

● observation and self-critique●Closer to the end-users

ReferencesCatherine Letondal

Bruce Tognazzini: TOG on Interface

Jef Raskin: The Humane Interface

Alan Cooper: The Inmates Are Running the Asylum

Don Norman: The Psychology of Everyday Things

Dalke Scientific Software - http://www.dalkescientific.com/