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
82
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
13
Como Gerenciar Trocas de Contexto em tempo de Pandemia
labcodes
0
41
Débito Técnico: Porque isso vai estragar teu Software
labcodes
1
320
80 tiros não são disparados por engano
labcodes
0
57
Recompose - O lodash para React
labcodes
2
76
Aprendendo com os erros
labcodes
3
150
Usando recursos avançados da ORM do Django para consultas mais eficientes
labcodes
2
230
Making smarter queries with advanced ORM resources
labcodes
2
170
Explorando QuerySets do Django
labcodes
2
180
Other Decks in Technology
See All in Technology
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
190
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
330
State of Open Source Web Mapping Libraries
dayjournal
0
200
全社横断データ活用推進のコツと その負債とのつき合い方
masatoshi0205
0
170
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
230
組み込みLinuxの時系列
puhitaku
4
1k
データ活用促進のためのデータ分析基盤の進化
takumakouno
2
520
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
1
420
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
4
340
LINEヤフー株式会社における音声言語情報処理AI研究開発@SP/SLP研究会 2024.10.22
lycorptech_jp
PRO
2
280
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
130
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The World Runs on Bad Software
bkeepers
PRO
65
11k
It's Worth the Effort
3n
183
27k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
Making Projects Easy
brettharned
115
5.9k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Optimizing for Happiness
mojombo
376
69k
Designing for Performance
lara
604
68k
What's new in Ruby 2.0
geeforr
343
31k
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