Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
User Focused API Design
Search
Labcodes Software Studio
May 10, 2017
Technology
0
87
User Focused API Design
Talk given on May 10th at Django NYC Meetup
Labcodes Software Studio
May 10, 2017
Tweet
Share
More Decks by Labcodes Software Studio
See All by Labcodes Software Studio
Sua aplicação web aguenta o tranco?
labcodes
0
23
Como Gerenciar Trocas de Contexto em tempo de Pandemia
labcodes
0
54
Débito Técnico: Porque isso vai estragar teu Software
labcodes
1
370
80 tiros não são disparados por engano
labcodes
0
63
Recompose - O lodash para React
labcodes
2
92
Aprendendo com os erros
labcodes
3
180
Usando recursos avançados da ORM do Django para consultas mais eficientes
labcodes
2
270
Making smarter queries with advanced ORM resources
labcodes
2
210
Explorando QuerySets do Django
labcodes
2
190
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
JNation 2025 - Quarkus for Spring Developers
edeandrea
PRO
0
110
人とAIとの共創を夢見た2か月 #共創AIミートアップ / Co-Creation with Keito-chan
kondoyuko
1
720
データプレーンプログラミングとは? DPU&スイッチASICの開発経験から語る
ebiken
PRO
1
270
AIに実況させる / AI Streamer
motemen
3
1.4k
What's Next in OpenShift Q2 CY2025
redhatlivestreaming
1
840
KMP導⼊において、マネジャーとして考えた事
sansantech
PRO
1
210
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
1
300
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
ローカル環境でAIを動かそう!
falken
PRO
1
170
Houtou.pm #1
papix
0
670
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
49
8.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Speed Design
sergeychernyshev
30
970
Facilitating Awesome Meetings
lara
54
6.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
A better future with KSS
kneath
239
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Music & Morning Musume
bryan
47
6.6k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
Renato Oliveira USER FOCUSED API DESIGN
Who am I • Recife, Brazil • Co-founder and Software
Engineer at Labcodes • PUG-PE & Python Brasil • DSF • Communities <3 • Coffee <3
Labcodes • Software studio de Recife para o mundo •
Tecnologias que trabalhamos • Labcodes e Comunidade Labcodes
DISCLAIMER
None
Your API is a User Interface
Your API is a User Interface
Your API is a User Interface
API Design
There are people on the other side
There are users on the other side!
On what should we focus? • Functionality • Usability
USER EXPERIENCE
DEVELOPER EXPERIENCE
UX Honeycomb usable useful valuable desirable accessible credible findable
How to measure your API usability? • Task invocation ratio
• Structure • Navigation • Time to first call • Error handling
UX without user research is not UX
User Research • Participatory design • Persona development
Test • Write client code • Metrics
Documentation • Getting started guide • Common use cases •
Sandbox
Error Handling • Different errors requires different exceptions • Descriptive
error messages • “Errors should never pass silently. Unless explicitly silenced”
Top-down approach • How the API should behave? • Prototype
• Iterate • Feedback
Prototype and Iterate
Design/Prototype Implementation Customer
Design/Prototype Implementation Customer :D
API Blueprint • apiblueprint.org • Mock tools • Tests
Empathy • Understand • Put yourself on your users’ shoes
• All of your users (Personas)
Functionalities are eternal • Or at least as long your
API version lasts • Please don’t break clients by removing functionalities • Users only use your API once, everything else is automated
“APIs are starting to look more like the product and
less like the technology.” Jason Harmon, Head of API Design @ PayPal
Obrigado! twitter.com/_renatoOliveira github.com/renatoliveira www.labcodes.com.br speakerdeck.com/labcodes
None