SlideShare uma empresa Scribd logo
Steph Shin
UX thinking in API design
● Cross-functional teams
● Organized problem spaces not discipline
● Platform product line
● App store billing domain
● Highly technical space
Context: UX designer at Shopify
● Serves third party app developers
● Allows app developers to charge Shopify
Merchants directly through their store account
● Originally built in REST
● Our goal was to build it in GraphQL
● Launch at Shopify Unite 2019
Context: Shopify’s Billing API
“Instead of defining the
structure of responses on
the server, the flexibility is
given to the client.”
– Petr Bela, GraphQL in the age of REST APIs
REST vs. GraphQL
Source: https://medium.com/chute-engineering/graphql-in-the-age-of-rest-apis-b10f2bf09bba
Why would I need to think
about UX for an API?
Application
Programming
Interface
“An API is first & foremost
an interface for people”
– Arnaud Lauret, The Design of Web APIs
Developers are people too.
if API = Interface
and Developer = user
then using API = UX
Start by accepting the fact
that you are NOT the user!
“[Users] are usually very different than
those who write the code, even [when]
they are developers: they have different
backgrounds, experiences with user
interfaces, mindsets, mental models,
and goals. They are not us.”
– Raluca Budiu, You Are Not the User: The
False-Consensus Effect
● Trustworthy & consistent (even if it’s unpredictable)
● Human (even if it’s highly technical)
● Discoverable (even if it’s not the main star)
● Easy & simple (even if it’s challenging & complex)
Great UX should feel...
“Good design, when it’s done
well, becomes invisible. It’s
only when it’s done poorly
that we notice it.”
– Jared Spool
● Who will be using this API?
● What problem does this solve?
● What are the use cases?
● What could get in the way of an enjoyable experience?
● How do users understand the problem space?
Helpful questions to guide the design of
great user experiences:
What does UX look like for
API’s?
Collaborate
Be open to the wealth of insights and
ideas that non-technical people bring to
the technical design process.
NOTE: Discussions can be difficult because words often
hold many different definitions. Diagrams, models or a
glossary could help ensure better alignment.
“Teams that fail,
fail to listen to each other.”
– Brent Summers, Get over yourself: Collaboration is
the secret to great products
Research precedents
Look to related or similar examples to
understand the thinking behind the
solution. Try to piece together what they
learned that led to their decisions.
NOTE: It’s not enough to simply copy. You’ll need to
understand how to apply it to your specific context.
Interview users
Talk to users directly and learn about their
current solutions, their motivations and
their mental models.
NOTE: It’s very easy to fall into biases. Be sure to work
with a researcher whenever possible to avoid influencing
interviewees with leading questions.
Example of a leading question:
“I saw you were having difficulty with the
navigation. What happened?”
Vs.
“What was easy or difficult about getting
to the content you wanted?”
⛔
��
“Leading questions rob us of
the opportunity to hear an
insight we weren’t
expecting.”
– Amy Schade, Avoid Leading Questions to Get Better
Insights from Participants
Model the concept
Map out and visualize the objects &
relationships involved. Use this to align
on the system, taxonomy and schema.
NOTE: Focus on organizing the objects and articulating
how they relate to each other and move through the
system. It’s helpful to think of journeys. Use analogies to
help you illustrate the concepts.
Test out the usability
Whether hi- or lo-definition, find a way to
present and test the core logic and
structures of the API design. This can be
done with, interviews, tree tests, surveys...
NOTE: Be as objective as possible and work with a
researcher when possible to avoid influencing your bias.
Steps to improve user experience
Collaborate
Research precedents
Interview users
Model the concept
Test out the usability
What did I learn?
Naming is hard!
Language has many layers of meaning
steeped in culture, past experiences and
individual biases. Focus on the what the
word represents rather than the specific
words and finalize the terminology later.
Oversimplification can
complicate things
Taking a complex concept and
oversimplifying it can cause problems
when scaling. Try to avoid conflating
similar but separate concepts.
Usage fees in REST
Usage fees in GraphQL
Not all feedback is equal
Find a balance between being descriptive
and prescriptive. You don’t have to act on
every feedback. Decisions should be
informed by the product vision as well as
user feedback and data.
Questions &
compliments welcome
😉

Mais conteúdo relacionado

Mais procurados

Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?
Aaron Saunders
 
Voxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereviewVoxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereview
Hakan Saglam
 
IoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT DevelopersIoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT Developers
IndianAppDevelopers
 
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
apidays
 
Mistakes to-avoid-api-product
Mistakes to-avoid-api-productMistakes to-avoid-api-product
Mistakes to-avoid-api-product
Rahul Dighe
 
Industry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndustry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile Application
IndianAppDevelopers
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?
Jurgis Kirsakmens
 
Write what counts. Count What Counts.
Write what counts. Count What Counts.Write what counts. Count What Counts.
Write what counts. Count What Counts.
Pronovix
 
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Nordic APIs
 
Uncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyondUncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyond
Perfecto by Perforce
 
Busting myths about business apps, low code style
Busting myths about business apps, low code styleBusting myths about business apps, low code style
Busting myths about business apps, low code style
Zoho Creator
 
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEXLow Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
joelkallman
 
8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App 8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App
Cheryl Lawson
 
SBP Integrate Smartsheet with Appsheet
SBP Integrate Smartsheet with AppsheetSBP Integrate Smartsheet with Appsheet
SBP Integrate Smartsheet with Appsheet
Gwen Rymill
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?
Bruno Pedro
 
Flatworld Edge Brochure
Flatworld Edge BrochureFlatworld Edge Brochure
Flatworld Edge Brochure
Flatworld Edge
 
Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?
Devathon
 
Make Your API Irresistible
Make Your API IrresistibleMake Your API Irresistible
Make Your API Irresistible
duvander
 
Rules For Modern Web App Development
Rules For Modern Web App DevelopmentRules For Modern Web App Development
Rules For Modern Web App Development
Vajrakaya Technologies
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604
Chad Udell
 

Mais procurados (20)

Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?
 
Voxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereviewVoxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereview
 
IoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT DevelopersIoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT Developers
 
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
apidays LIVE Singapore - How we Build APIs and Workflows at Slack by Bear Dou...
 
Mistakes to-avoid-api-product
Mistakes to-avoid-api-productMistakes to-avoid-api-product
Mistakes to-avoid-api-product
 
Industry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndustry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile Application
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?
 
Write what counts. Count What Counts.
Write what counts. Count What Counts.Write what counts. Count What Counts.
Write what counts. Count What Counts.
 
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
 
Uncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyondUncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyond
 
Busting myths about business apps, low code style
Busting myths about business apps, low code styleBusting myths about business apps, low code style
Busting myths about business apps, low code style
 
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEXLow Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
 
8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App 8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App
 
SBP Integrate Smartsheet with Appsheet
SBP Integrate Smartsheet with AppsheetSBP Integrate Smartsheet with Appsheet
SBP Integrate Smartsheet with Appsheet
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?
 
Flatworld Edge Brochure
Flatworld Edge BrochureFlatworld Edge Brochure
Flatworld Edge Brochure
 
Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?Low code vs. No code: Which is better for web and app development?
Low code vs. No code: Which is better for web and app development?
 
Make Your API Irresistible
Make Your API IrresistibleMake Your API Irresistible
Make Your API Irresistible
 
Rules For Modern Web App Development
Rules For Modern Web App DevelopmentRules For Modern Web App Development
Rules For Modern Web App Development
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604
 

Semelhante a How to Embed UX Thinking in Your Next API

How to embed UX thinking in API design
How to embed UX thinking in API designHow to embed UX thinking in API design
How to embed UX thinking in API design
stephshin
 
Universal Design Principles and Methods
Universal Design Principles and MethodsUniversal Design Principles and Methods
Universal Design Principles and Methods
mbrosset
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
Preeti Mishra
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
Sarah Dutkiewicz
 
Requirements Engineering for the Humanities
Requirements Engineering for the HumanitiesRequirements Engineering for the Humanities
Requirements Engineering for the Humanities
Shawn Day
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
Sarah Dutkiewicz
 
DIY Usability
DIY UsabilityDIY Usability
DIY Usability
Jan Moons
 
Design Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: WireframeDesign Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: Wireframe
Gessica Puri
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
Sarah Dutkiewicz
 
EPFL - PxS, week 8 - conceptual design
EPFL - PxS, week 8 - conceptual designEPFL - PxS, week 8 - conceptual design
EPFL - PxS, week 8 - conceptual design
hendrikknoche
 
Tania Schlatter – Visual Usability
Tania Schlatter – Visual UsabilityTania Schlatter – Visual Usability
Tania Schlatter – Visual Usability
Harvard Web Working Group
 
User Stories
User StoriesUser Stories
User Stories
James Peckham
 
User Stories
User StoriesUser Stories
User Stories
guest446c0
 
User Experience & Design…Designing for others…UED
User Experience & Design…Designing for others…UEDUser Experience & Design…Designing for others…UED
User Experience & Design…Designing for others…UED
Preeti Chopra
 
Understanding User Experience Workshop - Interlink Conference 2012
Understanding User Experience Workshop - Interlink Conference 2012Understanding User Experience Workshop - Interlink Conference 2012
Understanding User Experience Workshop - Interlink Conference 2012
Lynne Polischuik
 
Jonah Osawa - UX Portfolio
Jonah Osawa - UX PortfolioJonah Osawa - UX Portfolio
Jonah Osawa - UX Portfolio
Jonah Osawa
 
User Experience Design: an Overview
User Experience Design: an OverviewUser Experience Design: an Overview
User Experience Design: an Overview
Julie Grundy
 
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
Tania Schlatter
 
UX Masterclass Presentation
UX Masterclass PresentationUX Masterclass Presentation
UX Masterclass Presentation
Elizabeth Chesters
 
Design process
Design processDesign process
Design process
Sudeep Dasgupta
 

Semelhante a How to Embed UX Thinking in Your Next API (20)

How to embed UX thinking in API design
How to embed UX thinking in API designHow to embed UX thinking in API design
How to embed UX thinking in API design
 
Universal Design Principles and Methods
Universal Design Principles and MethodsUniversal Design Principles and Methods
Universal Design Principles and Methods
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
 
Requirements Engineering for the Humanities
Requirements Engineering for the HumanitiesRequirements Engineering for the Humanities
Requirements Engineering for the Humanities
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
 
DIY Usability
DIY UsabilityDIY Usability
DIY Usability
 
Design Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: WireframeDesign Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: Wireframe
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
 
EPFL - PxS, week 8 - conceptual design
EPFL - PxS, week 8 - conceptual designEPFL - PxS, week 8 - conceptual design
EPFL - PxS, week 8 - conceptual design
 
Tania Schlatter – Visual Usability
Tania Schlatter – Visual UsabilityTania Schlatter – Visual Usability
Tania Schlatter – Visual Usability
 
User Stories
User StoriesUser Stories
User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
User Experience & Design…Designing for others…UED
User Experience & Design…Designing for others…UEDUser Experience & Design…Designing for others…UED
User Experience & Design…Designing for others…UED
 
Understanding User Experience Workshop - Interlink Conference 2012
Understanding User Experience Workshop - Interlink Conference 2012Understanding User Experience Workshop - Interlink Conference 2012
Understanding User Experience Workshop - Interlink Conference 2012
 
Jonah Osawa - UX Portfolio
Jonah Osawa - UX PortfolioJonah Osawa - UX Portfolio
Jonah Osawa - UX Portfolio
 
User Experience Design: an Overview
User Experience Design: an OverviewUser Experience Design: an Overview
User Experience Design: an Overview
 
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
Speaking the Language of Meta-Principles: Consistency, Hierarchy, and Persona...
 
UX Masterclass Presentation
UX Masterclass PresentationUX Masterclass Presentation
UX Masterclass Presentation
 
Design process
Design processDesign process
Design process
 

Mais de Pronovix

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
Pronovix
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
Pronovix
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
Pronovix
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
Pronovix
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
Pronovix
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
Pronovix
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
Pronovix
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
Pronovix
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
Pronovix
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
Pronovix
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
Pronovix
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Pronovix
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
Pronovix
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Pronovix
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
Pronovix
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
Pronovix
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
Pronovix
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
Pronovix
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
Pronovix
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
Pronovix
 

Mais de Pronovix (20)

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
 

Último

5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 

Último (20)

5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 

How to Embed UX Thinking in Your Next API

  • 1. Steph Shin UX thinking in API design
  • 2. ● Cross-functional teams ● Organized problem spaces not discipline ● Platform product line ● App store billing domain ● Highly technical space Context: UX designer at Shopify
  • 3. ● Serves third party app developers ● Allows app developers to charge Shopify Merchants directly through their store account ● Originally built in REST ● Our goal was to build it in GraphQL ● Launch at Shopify Unite 2019 Context: Shopify’s Billing API
  • 4.
  • 5. “Instead of defining the structure of responses on the server, the flexibility is given to the client.” – Petr Bela, GraphQL in the age of REST APIs
  • 6. REST vs. GraphQL Source: https://medium.com/chute-engineering/graphql-in-the-age-of-rest-apis-b10f2bf09bba
  • 7. Why would I need to think about UX for an API?
  • 9.
  • 10. “An API is first & foremost an interface for people” – Arnaud Lauret, The Design of Web APIs
  • 12. if API = Interface and Developer = user then using API = UX
  • 13. Start by accepting the fact that you are NOT the user!
  • 14. “[Users] are usually very different than those who write the code, even [when] they are developers: they have different backgrounds, experiences with user interfaces, mindsets, mental models, and goals. They are not us.” – Raluca Budiu, You Are Not the User: The False-Consensus Effect
  • 15. ● Trustworthy & consistent (even if it’s unpredictable) ● Human (even if it’s highly technical) ● Discoverable (even if it’s not the main star) ● Easy & simple (even if it’s challenging & complex) Great UX should feel...
  • 16. “Good design, when it’s done well, becomes invisible. It’s only when it’s done poorly that we notice it.” – Jared Spool
  • 17. ● Who will be using this API? ● What problem does this solve? ● What are the use cases? ● What could get in the way of an enjoyable experience? ● How do users understand the problem space? Helpful questions to guide the design of great user experiences:
  • 18. What does UX look like for API’s?
  • 19. Collaborate Be open to the wealth of insights and ideas that non-technical people bring to the technical design process. NOTE: Discussions can be difficult because words often hold many different definitions. Diagrams, models or a glossary could help ensure better alignment.
  • 20. “Teams that fail, fail to listen to each other.” – Brent Summers, Get over yourself: Collaboration is the secret to great products
  • 21. Research precedents Look to related or similar examples to understand the thinking behind the solution. Try to piece together what they learned that led to their decisions. NOTE: It’s not enough to simply copy. You’ll need to understand how to apply it to your specific context.
  • 22.
  • 23. Interview users Talk to users directly and learn about their current solutions, their motivations and their mental models. NOTE: It’s very easy to fall into biases. Be sure to work with a researcher whenever possible to avoid influencing interviewees with leading questions.
  • 24. Example of a leading question: “I saw you were having difficulty with the navigation. What happened?” Vs. “What was easy or difficult about getting to the content you wanted?” ⛔ ��
  • 25. “Leading questions rob us of the opportunity to hear an insight we weren’t expecting.” – Amy Schade, Avoid Leading Questions to Get Better Insights from Participants
  • 26. Model the concept Map out and visualize the objects & relationships involved. Use this to align on the system, taxonomy and schema. NOTE: Focus on organizing the objects and articulating how they relate to each other and move through the system. It’s helpful to think of journeys. Use analogies to help you illustrate the concepts.
  • 27.
  • 28.
  • 29. Test out the usability Whether hi- or lo-definition, find a way to present and test the core logic and structures of the API design. This can be done with, interviews, tree tests, surveys... NOTE: Be as objective as possible and work with a researcher when possible to avoid influencing your bias.
  • 30.
  • 31.
  • 32.
  • 33. Steps to improve user experience Collaborate Research precedents Interview users Model the concept Test out the usability
  • 34. What did I learn?
  • 35. Naming is hard! Language has many layers of meaning steeped in culture, past experiences and individual biases. Focus on the what the word represents rather than the specific words and finalize the terminology later.
  • 36. Oversimplification can complicate things Taking a complex concept and oversimplifying it can cause problems when scaling. Try to avoid conflating similar but separate concepts.
  • 38. Usage fees in GraphQL
  • 39. Not all feedback is equal Find a balance between being descriptive and prescriptive. You don’t have to act on every feedback. Decisions should be informed by the product vision as well as user feedback and data.