imaginary users can save your drupal site
TRANSCRIPT
Imaginary users can save your Drupal site
J-P Stacey & Rich Middleditch26. aug 14:45Acquia
http://cph2010.drupal.org/node/9178
Someone has an idea
Standard procedure?
Standard procedure?
Standard procedure?
Imaginary users or “personas”
Personas are not about brainstorming.
But on your Drupal site they'll end up with minds of their own.
Each team memberis focussed on the
bottom line.
Everyone's idea ofthe bottom line is
different.
“On the Web, usability is a necessary condition for survival.”
— Jakob Nielsen
Why this solution?
Personas in five steps
Name: Dominic Thomson
DOB: 16 January 1964 1957?
Address: ?
Five step plan?
1. Acceptance
2. Find the users
Elastic user!
3. Find the patterns
Primary and secondary personas
PRIMARYPERSONA
PRIMARYPERSONA
SECONDARYPERSONA
SECONDARYPERSONA
The space of all functional requirements
4. Build the personas
Name: Dominic ThomsonPosition: Assembly Engineer
DOB: 16/01/1957Gender: Male
Address: 9 Southill, Charlbury, OX7 3EW, UK
FLY Aerospace
Building a useful persona
I'm motivated by...I want to be able to...
This is annoying...
5. Use the personas!
How can you use personas?
Help writing specifications Conflict resolution
Willing testerExtra team member
1. Help writing specifications
“Use standard form fields.
People prefer page elements that they recognise.”
“Don't have dropdown menus.
People don't like them covering up content.”
“We know there are some people out there who hate the things we love... but not sensible people.”
— Steve Krug
2. Conflict resolution
3. Extra team member
4. Willing tester
What do we want them to do?
Load /attendees
Assert some attendees on page
Type “stacey” in the “name” textfieldClick “apply”
and wait
Assert text exists“J-P Stacey”
What do we want to find out?
METRIC
WHAT
UXHOW
“Nobody knows you're a dog”
Email address
Blocked user
Persona role
Username
(Password)
Preparing personas for testing
Live personas are blocked their passwords are all ultra-secure
and they have non-existent email addresses
Your staging personas must be unblockedtheir passwords should be memorable
and all emails sent to you
http://github.com/jpstacey/DrupalUserUnblock
Quick persona prep
Recording and replaying
Dominic performs a test
DEMO
Quick versus slow testing
QUICK SLOW
WHAT HOW
Personas everywhere
“As a normal user I would like to see a list of the content I've recently flagged when I log in so that I can revisit content I find interesting”
Scenario(s) for doneLog in; flag an item of content; log out and in again; check that the item is on profile page
Persona-driven specification
“As Dominic Thomson I would like to see a list of the content I've recently flagged when I log in so that I can revisit content I find interesting”
Scenario(s) for doneDominic Thomson logs in; flags an item of content; logs out and in again; sees that item on his profile page
Don't be afraid of new personas
Report bugs with Selenium
Test-driven development
Clientrequests
functionality
Recordtest as
personaTest fails
Buildfunctionality
Testsucceeds
Clientsignoff &deploy
Most or all of team agrees: success = done
Personas & continuous testing
The persona laptop
Personas & continuous integration
The Selenium RC Server
We're now using personas!
Help writing specifications Conflict resolution
Willing testerExtra team member
Back to that idea
Thank you, Dominic!
Hey, no problem!
And thank you!
Creative Commons attributions from Flickr Bulb: Tim Cummins; List: jcrawf3; Portrait: adubber; Notepad: calsidyrose; Desk: keithius; Tesla coil: willivolt; Hand: Damon Duncan; Penguins: nouqraz; Team: atomicshed; Buttons: spikenzie; Pepperpot: hien_it; Elastic dog: quirkyrocket … icon fonts by somerandomdude
http://www.torchbox.com
@torchbox
@jpstacey | @middric
http://cph2010.drupal.org/node/9178
Any questions?