Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Get to Know Your User for a Better API

E3f77beda1e879edeead1911fb11b390?s=47 ashmchang
November 02, 2017

Get to Know Your User for a Better API



November 02, 2017


  1. Get to know your user for a better API |

  2. Ashley Chang Product @ ReadMe @ashmchang | @ashmchang

  3. The API Universe | @ashmchang

  4. Why are we here? | @ashmchang

  5. | @ashmchang

  6. The average company spends 3-4 weeks writing & editing documentation.

    | @ashmchang
  7. Documentation shouldn’t be so hard. | @ashmchang

  8. Let’s fix the API Design Process | @ashmchang

  9. This Talk 1. What’s a good API? 2. How we

    can change the API process to make our APIs better | @ashmchang
  10. 1. What’s the goal of an API? | @ashmchang

  11. Communicate | @ashmchang

  12. A good API is empathetic to the people using it

    | @ashmchang
  13. Example: Slack | @ashmchang

  14. Example: Star Wars API | @ashmchang

  15. ✨ MAGIC ✨ | @ashmchang

  16. Example: Clearbit | @ashmchang

  17. People want to use APIs (& things in general) that

    are easy to use. | @ashmchang
  18. There are options Thanks, ProgrammableWeb! | @ashmchang

  19. Your docs are your UI | @ashmchang

  20. Your docs are your UI Your API is your UI

    | @ashmchang
  21. 2. How we can change the process to make our

    APIs better | @ashmchang
  22. Creating an API looks something like... 1) Users request an

    API 2) You decide its worth engineering time to make an API (but not that much time) 3) Find the simplest way to expose the necessary endpoints 4) Write some docs 5) ! ! ! | @ashmchang
  23. Product > API > Users | @ashmchang

  24. | @ashmchang

  25. Scaling your API → API users increase → Types of

    users on your API increases → They need more help Instead of an easy win, time is sucked into supporting partners on your API | @ashmchang
  26. | @ashmchang

  27. Users > API <> Docs | @ashmchang

  28. User Centered API Design | @ashmchang

  29. User Centered Design Design based on an understanding of users,

    tasks, & environments | @ashmchang
  30. Example: Foursquare | @ashmchang

  31. Let’s take this for a spin → Start by getting

    to know our user → Expose endpoints in a way that makes sense for them → More time up front, less time writing docs & supporting users later | @ashmchang
  32. How to get to know your users 1) Talk to

    users 2) Make it usable 3) Make it stick | @ashmchang
  33. Why talk to users → Perspective. How you feel might

    not be how other people feel. → Refine the problem. A good solution comes from a clear understanding of what the problem is. → Insight. What workarounds have people created? How successful is your solution? Users are experts on the problem, not the solution | @ashmchang
  34. Interview Plan → Goal: What are you trying to learn

    about? → Target Audience: Define your target audience → Hypothesis on the Audience’s Goal: How & why the audience is using your API. → 5 questions: These should evaluate if your hypothesis is right or wrong. They are starter questions. | @ashmchang
  35. Tips → Record it, if possible (take good notes if

    not) → Make participants feel comfortable → Use active listening techniques to focus their thoughts without leading → Pay attention to body language → Let it be organic | @ashmchang
  36. Reaching People → Talk to inbound people → Send out

    emails → Use pop-up options in the service → Rewards → Set up a qualifying survey | @ashmchang
  37. Starter questions → How did you find our API? →

    What do you do at [their company]? → Who from your team spends the most time with our API? → Did you already use something that does the same thing? → Can you tell me about a specific time our API has helped your team? | @ashmchang
  38. Why | @ashmchang

  39. Goals You want to understand: → motivations → workflow →

    expectations (what do they see as a competitor) → their decision making power | @ashmchang
  40. Make your research usable Synthesize it into something → Personas

    → Jobs to be done (JTBD) | @ashmchang
  41. Make it stick → Make sure your persona/JTBD is referenced

    in every step of building your API → Try to see your API and docs from the user’s perspective → Bring actual users back in for every step of the process! | @ashmchang
  42. In Summary → Get to know your user before you

    start building your API → Release endpoints, and APIs, that make sense for the way they will use it → Write fewer docs! → Win developer ! and build a strong dev community | @ashmchang
  43. Let’s start building delightful APIs | @ashmchang

  44. Thank you! | @ashmchang

  45. @ashmchang | @ashmchang