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
75
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
10
Como Gerenciar Trocas de Contexto em tempo de Pandemia
labcodes
0
41
Débito Técnico: Porque isso vai estragar teu Software
labcodes
1
280
80 tiros não são disparados por engano
labcodes
0
55
Recompose - O lodash para React
labcodes
2
75
Aprendendo com os erros
labcodes
3
130
Usando recursos avançados da ORM do Django para consultas mais eficientes
labcodes
2
210
Making smarter queries with advanced ORM resources
labcodes
2
160
Explorando QuerySets do Django
labcodes
2
160
Other Decks in Technology
See All in Technology
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
1
180
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
10
1.8k
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
840
【リラン】AIの光と闇?失敗しないために知っておきたいAIリスクとその対応 ①政府の動き編
tkhresk
0
130
パスワードを保存しますか?
hanacchi
0
250
Deno で作る快適な “as Code” プラットフォーム – TSKaigi 2024
pizzacat83
4
300
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
140
SLOいつ決めましょう?
abnoumaru
2
120
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
2k
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
160
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
230
AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
fujiwara3
0
260
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
How to name files
jennybc
65
93k
Music & Morning Musume
bryan
41
5.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
Designing the Hi-DPI Web
ddemaree
276
33k
Design by the Numbers
sachag
274
18k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Designing with Data
zakiwarfel
96
4.8k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Done Done
chrislema
178
15k
Building Adaptive Systems
keathley
32
1.9k
Into the Great Unknown - MozCon
thekraken
15
1.1k
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