Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

APIdays Paris 2019 - Designing APIs for Humans by Julia Elman, Ad Hoc

163 views

Published on

Designing APIs for Humans - Leveraging User Experience Methods For Developing Human-centered APIs
Julia Elman, Senior UX Designer at Ad Hoc

Published in: Technology
  • Be the first to comment

  • Be the first to like this

APIdays Paris 2019 - Designing APIs for Humans by Julia Elman, Ad Hoc

  1. 1. Designing APIs for Humans Leveraging User Experience Methods For Developing Human-centered APIs @juliaelman
  2. 2. We empower our customers to deliver digital services that promote the general welfare.
  3. 3. bit.ly/lightweightdjango
  4. 4. Hello! My name is @juliaelman. API DATA ? HUMANS!
  5. 5. What is human-centered design? Hello! My name is @juliaelman.
  6. 6. Hello! My name is @juliaelman. “Human-centered design is an approach to problem solving, commonly used in design and management frameworks that develops solutions to problems by involving the human perspective in all steps 
 of the problem-solving process.” Wikipedia https://en.wikipedia.org/wiki/Human-centered_design
  7. 7. Hello! My name is @juliaelman. Human-centered design is… • Visual design • Information architecture • Interaction design • Usability • Usability testing • Accessibility
  8. 8. Hello! My name is @juliaelman. • A/B testing • Card sorting • Competitive analysis • Contextual Inquiry • Customer feedback and testing • Ethnographic research • Experience mapping • Expert evaluation • Flow charts • Focus group administration • Heuristic analysis • High-fidelity visual mockups • Mental modeling • Mood boards • Non-directed interview • Personas • Pluralistic walkthrough • Prototypes • Scenario • Site audit • Sitemaps and content inventory • Surveying • System mapping • User stories or scenarios • User testing/usability testing • User-Flow diagrams and navigation maps • Wireframes Human-centered design outputs include…
  9. 9. Slide left intentionally blank
  10. 10. HCD Life Cycle Hello! My name is @juliaelman. Define Discover Build Validate Foundational user research Engineering feasibility Affinity diagramming Design studio Prototypes Wireframes User journey maps Design system Evaluative research Performance testing Accessibility testing Mobile testing Product outline User stories Epics Initiative briefs User research reports
  11. 11. Hello! My name is @juliaelman. Define Definition of done Product outline User stories Epics Initiative briefs User research reports HCD Life Cycle A loosely defined hypothesis of the problem, which includes goals and outcomes for solving specific user needs, the help inform the work created in the Discover phase.
  12. 12. HCD Life Cycle Hello! My name is @juliaelman. Discover Foundational user research Engineering feasibility Affinity diagramming Design studio Definition of done A researched definition of the problem has been identified, with specific actionable items for targeted user types, and teams can easily move forward to Build a proposed solution.
  13. 13. HCD Life Cycle Hello! My name is @juliaelman. Build Prototypes Wireframes User journey maps Design system Definition of done A testable solution is created towards Validating user expectations, needs and/or pain points.
  14. 14. HCD Life Cycle Hello! My name is @juliaelman. Validate Evaluative research Performance testing Accessibility testing Mobile testing Definition of done A solution has been tested with users to help create the best product possible.
  15. 15. Define Discover BuildValidate Humans
  16. 16. Example time!
  17. 17. Discover Phase Hello! My name is @juliaelman. Affinity diagramming Affinity diagramming is a method which can help you gather large amounts of data and organize them into groups or themes based on their relationships. The process is great for grouping data gathered during research or ideas generated during the Discover phase of the HCD life cycle.
  18. 18. Hello! My name is @juliaelman. “This saved a ton of time getting everyone on the same page when it may have otherwise required tons of back and forth in Slack or emails, or other sidebar conversations. Also, just getting everyone together helps us feel like we are all on one team and in it together rather than working in silos. I think this exercise is super valuable and I think it we should make it a regular part of how we work.” - API Program Product Owner
  19. 19. Hello! My name is @juliaelman. “I feel the one thing that is missing in all of the tools is failure to establish a common language between designers and developers. Either we are forcing developers to learn designer’s language by making them appreciate the 
 smooth bezier curve we created or designers trying to act cool in developer’s hood by showing how they implemented functional programming into their design systems.” - @tridipthrizu
  20. 20. Hello! My name is @juliaelman. As a Driver, I want to finish as many jobs as possible, so that I can earn more money in a day. Build Phase User Story
  21. 21. Diagram created by @tridipthrizu
  22. 22. Hello! My name is @juliaelman. 1. When offline see trips summary. 2. Go online in order to see jobs. 3. The user identifies a job they want to do. 4. They accept it and start driving to the pickup location. 5. They reach pickup location and confirm the package. 6. They start driving to drop-off and deliver the package. 7. They finish the job. 8. Money is credited to their account. Build Phase User Story One
  23. 23. Hello! My name is @juliaelman. As a Driver, I want to see past trips when I am not online, so that I can do strategic planning on how I accept new jobs. Build Phase User Story One: Offline view
  24. 24. Diagram created by @tridipthrizu
  25. 25. Request: GET /user/ Request body: (empty) Response body: { "id": 1, "name": “Dwight Schrute”, "photo": // image url, "location": [28.05, 123.45], "online": false, "start_date": "2017-06-08T19:30:39+00:00", "trips": [ { // trip details to derive summary }], }
  26. 26. Hello! My name is @juliaelman. “Designers who like to stay away from programming language should really give API design a chance and open up to a new way they can communicate their ideas and solutions.” - @tridipthrizu
  27. 27. Hello! My name is @juliaelman. Create a culture of transparency
  28. 28. Hello! My name is @juliaelman. Document your teams HCD process
  29. 29. adhoc.team/2019/10/16/human-centered-design-government-decisions/
  30. 30. Thank you @juliaelman

×