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
Designing APIs Like You'd Design Your House
Search
Alvaro Navarro
January 20, 2023
Technology
0
110
Designing APIs Like You'd Design Your House
Alvaro Navarro
January 20, 2023
Tweet
Share
More Decks by Alvaro Navarro
See All by Alvaro Navarro
Baking a great DX
alnacle
0
130
Build your first Spotify App
alnacle
0
19
How to use your API Gateway as Developer Relations Tool
alnacle
0
40
Building awesome SDKs for your APIs: Best Practices
alnacle
0
86
DevRel as Professional Career
alnacle
0
170
Effective API Governance: Lessons Learnt
alnacle
0
3.1k
Building a partnership that scales through APIs
alnacle
0
100
The Journey of an OpenAPI platform
alnacle
0
140
Delivering great Developer Experience with Apigee
alnacle
0
130
Other Decks in Technology
See All in Technology
Amazon Managed Grafana で AWS IoT TwinMaker によるデジタルツインアプリケーションを動かしてみた
wakatsuki
0
120
次は君だ。~Japan AWS Jr. Champions 受賞までの奇跡~
fukuchiiinu
0
120
XSS攻撃から考察するAWS設定不備の恐怖/20241012 Hironobu Otaki
shift_evolve
0
150
生成AI入門
shukob
0
160
LeSS Yoake 2024 スポンサーセッション
riki_hiraoka
0
160
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
4
240
寒冷地稲作の歴史にみるコミュニティ
miu_crescent
2
140
AIとともに歩んだライブラリアップデートの道のり/ vue-fes-japan-2024-link-and-motivation
lmi
2
2.1k
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
안드로이드 기술 이력서의 최소 조건
pluu
1
1.1k
The road to green code (with Sonar)
bluehats
0
170
プログラミング写経のすすめ
natsutan
0
170
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
692
190k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
A better future with KSS
kneath
237
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
How to train your dragon (web standard)
notwaldorf
88
5.6k
The Cost Of JavaScript in 2023
addyosmani
44
5.9k
Designing for humans not robots
tammielis
249
25k
Teambox: Starting and Learning
jrom
132
8.7k
What's in a price? How to price your products and services
michaelherold
243
11k
Transcript
Designing APIs Like You'd Design Your House Alvaro Navarro 19/01/2023
In 2022 I made a mistake
What if…
…we renovate the kitchen?
None
None
None
None
None
None
None
None
None
None
None
None
What happened? • Wrong design • Customers don't speak the
same language • Release v2 is going to cost money
Alvaro Navarro Developer Advocate @alnacle
Foundation of a sane and healthy API culture Photo by
Dose Juice on Unsplash
API Guidelines
Easy-to-consume references and instructions for all of the important information
that a team will need to create or work with APIs API Guidelines
None
API Governance
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes
What is an API Governance? Example: Track Schema
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions
What is an API Governance? Example: Versioning Using URLs http://api.spotify.com/v1/albums
http://api.spotify.com/2022/albums http://v1.api.spotify.com/albums HTTP Header Accept: application/vnd.spotify.v1 Accept-Version: 1 Query parameter GET /albums?version=1
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions • API design review
What is an API Governance? Submitted by: awesome_api_designer Reviewers: reviewer_1,
reviewer_2, reviewer_3 • Define the Use Case of the API • Flow (how to use the API) • Data Dictionary • URI • Examples • OpenAPI Spec
Why do we need an API Governance?
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning As API Consumer - API consistency - Better API integration
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning Low participation could create a bottleneck! As API Consumer - API consistency - Better API integration
API Lifecycle Photo by Brett Jordan on Unsplash
API Lifecycle Idea - Quick wins - Demands from customers
- Innovation trends - Competitors' offering - Business goals
API Lifecycle Idea API Design/ Validation Validated by management and
legal
Design-first approach Design
Design-first approach Design Mocks
Design-first approach Design Mocks Feedback
Design-first approach Design Mocks Feedback
API Lifecycle Idea Development Testing - Beta tester program API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback New
version? API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback Decommission
API Design/ Validation New version?
API Lifecycle Breaking vs. non-breaking changes Once released, your API
should be considered a contract and cannot be broken without a new version release
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 5 months? 5 months?
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: support, comms, tutorials, etc. 5 months 5 months
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: specific comms, implement redirects, add "warnings" to the payload 5 months 5 months
Recap Photo by Júnior Ferreira on Unsplash
Recap • Before delivering top-quality APIs, we need establish guidelines,
tools and processes • API specification is a contract • Always embrace API design-first approach
Resources
Resources
Resources https://apideveloperweekly.com/ https://nordicapis.com/newsletter/ Newsletters: https://apievangelist.com/ https://apihandyman.io/ Blogs:
developer.spotify.com @spotifyplatform Thank you!