$30 off During Our Annual Pro Sale. View Details »

UX Research Methods for API Design

UX Research Methods for API Design

O'Reilly Fluent Conference 2014

Jeremiah Lee

March 13, 2014
Tweet

More Decks by Jeremiah Lee

Other Decks in Programming

Transcript

  1. UX Research Methods
    for API Design
    Jeremiah Lee • Fluent Conference • 2014-03-13
    @Jeremiah @JeremiahLee

    View Slide

  2. View Slide

  3. unintentionally

    View Slide

  4. selfishly

    View Slide

  5. blindly

    View Slide

  6. intentionally

    View Slide

  7. holistically

    View Slide

  8. 5 Common Style of Design
    — Jared Spool, User Interface Engineering
    Research
    Costs
    Time
    Resources
    initial focus on
    complexity and
    ease of use
    developing for
    users beyond
    ourselves
    designing something
    we've never
    designed
    need to fill the gaps
    between activities
    Unintentional
    Self
    Genius
    Activity
    Focused
    Experienced
    Focused

    View Slide

  9. 5 Common Style of Design
    — Jared Spool, User Interface Engineering
    Research
    Costs
    Time
    Resources
    initial focus on
    complexity and
    ease of use
    developing for
    users beyond
    ourselves
    designing something
    we've never
    designed
    need to fill the gaps
    between activities
    Unintentional
    Self
    Genius
    Activity
    Focused
    Experienced
    Focused

    View Slide

  10. Empathy
    as an
    Applied Science

    View Slide

  11. understand
    anticipate
    share feelings

    View Slide

  12. research
    in order to
    solve problems

    View Slide

  13. Empathy
    as an
    Applied Science

    View Slide

  14. Today, let’s talk about…
    1. Personas
    2. Passive usability testing with data
    3. Active usability testing with real, live people

    View Slide

  15. Personas
    • Are descriptive representations of the people who
    use your product and the context they operate in
    • They make assumptions about users visible
    • They provide a frame of reference for your team
    • Validate with user interviews and surveys

    View Slide

  16. Persona Context
    • Relationship with product
    • Platform, programming language
    • Experience / skill level
    • English proficiency
    • Motivation
    • Resources
    • Role in the organization

    View Slide

  17. Who are my users?
    BENNETT

    backend web developer, prefers
    Java, CS degree from UC Davis, full
    time developer, advocated to use
    our product
    RACHEL
    web designer/developer, prefers
    JavaScript/Node, no degree but
    strong developer, had no input
    on using our product
    JANE

    iOS developer, "unicorn" designer
    and developer, self-taught,
    moonlighting on her own projects,
    makes recommendations 

    on products
    ANDY

    self-proclaimed geek, comes
    from IT background, likes to
    script things together using
    Python, hobbyist hacker

    View Slide

  18. Passive Usability Testing
    • Examine support requests
    • When are they asking for help?
    • Frequently asked questions
    • Frequently misunderstood concepts
    • Frequently hit errors

    View Slide

  19. Passive Usability Testing
    • Examine support requests
    • API usage during an integration
    • How long between app registration and first request?
    • What are the first requests and first errors?
    • How long before going to production?

    View Slide

  20. Passive Usability Testing
    • Examine support requests
    • API usage during an integration
    • API usage after an integration
    • Detect based on IP address, user auth, requests increase
    • What endpoints are being used? How are they used?
    • Anti-pattern detection based on request volume or type

    View Slide

  21. Active Usability Testing
    • Existing APIs: “Dumb Pair Programmer”
    • With a user you trust in their natural environment
    • Silently observe as they work:
    • Interactions with team: how do they talk about you?
    • How do you fit into their application?
    • How does the user approach the integration with you?
    • What problems do they encounter?
    • How do they test the integration?

    View Slide

  22. Active Usability Testing
    • Existing APIs: “Dumb Pair Programmer”
    • New APIs: Throw-away prototypes
    • Create a mock API: just enough functionality to be used
    • Document it: reference docs, just enough conceptual info
    • Create a well defined project ready for an integration
    • Hire an outsider who doesn’t have insider assumptions
    • Have user record screen, face, voice with Silverback
    • Have user commit to Git at regular interval

    View Slide

  23. Active Usability Testing
    • Existing APIs: “Dumb Pair Programmer”
    • New APIs: Throw-away prototypes
    • Analyze the data for moments of emotional response
    • Happy
    • Sad
    • Confident
    • Frustrated
    • Confused

    View Slide

  24. Active Usability Testing
    • Existing APIs: “Dumb Pair Programmer”
    • New APIs: Throw-away prototypes
    • Analyze the data for moments of emotional response
    • How long did it take to accomplish tasks?
    • What worked? What didn’t work?
    • How can the good things be more affirming?
    • How can the bad things be prevented?
    • How can the situation be corrected better?

    View Slide

  25. The secret to
    machines talking to machines
    is to speak human first.

    View Slide

  26. Thank you for your time.
    !
    More content available at

    http://dx.jeremiahlee.com
    !
    !
    !
    !
    Please support the

    Electronic Frontier Foundation

    View Slide

  27. Market != UX Research
    Market Research UX Research
    What people say What people do
    What people will buy How people use a product
    Demographics Ethnographics
    Large sample sizes Small sample sizes
    Broad insight Deep, focused insight

    View Slide

  28. View Slide