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
Harmony in API Design
Search
API Strategy & Practice Conference
October 24, 2013
Technology
1
210
Harmony in API Design
By Jakub Nesetril @ API Strategy & Practice Conference
San Francisco, October 23-24-25, 2013
API Strategy & Practice Conference
October 24, 2013
Tweet
Share
More Decks by API Strategy & Practice Conference
See All by API Strategy & Practice Conference
APIStrat 2016 | The end of polling: why and how to transform a REST API into a Data Streaming API (Audrey Neveu)
apistrat
12
290
APIStrat 2016 | OpenAPI Trek: Beyond API Documentation (Arnaud Lauret)
apistrat
5
230
APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)
apistrat
1
130
APIStrat 2016 | On-prem support? That was so 1982 (Charlie Ozinga)
apistrat
0
110
APIStrat 2016 | Effortless microservices in production with Kubernetes (Ken Wronkiewicz)
apistrat
0
150
Song by Tony Blank
apistrat
0
160
API Lifecycle Manager by Steve Fonseca
apistrat
2
230
APIs In The Enterprise: How Walgreens Formed It's Digital Business by Drew Schweinfurth
apistrat
1
370
Developers Are Difficult by Andrew Noonan
apistrat
0
130
Other Decks in Technology
See All in Technology
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
310
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
OPENLOGI Company Profile for engineer
hr01
1
33k
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
1
450
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
330
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
5
4.5k
怖くない!はじめてのClaude Code
shinya337
0
300
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
240
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Embracing the Ebb and Flow
colly
86
4.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Six Lessons from altMBA
skipperchong
28
3.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Code Review Best Practice
trishagee
69
18k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Done Done
chrislema
184
16k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Transcript
Harmony in API Design
[email protected]
What is an API?
None
None
API is UI to Data
API is UI to Data
API is UI to Data User Experience
API is UI to Data User Experience Design
API is UI to Data User Experience Design Emotions
API is UI to Data User Experience Design Subjective Emotions
API is UI to Data User Experience Design Subjective Emotions
Culturally Dependent
API is UI to Data User Experience Design Subjective Simplicity
Emotions Culturally Dependent
API is UI to Data User Experience Design Subjective Simplicity
Emotions Productivity Culturally Dependent
API is UI to Data User Experience Design Subjective Simplicity
Conversion Rates Emotions Productivity Culturally Dependent
API is UI to Data User Experience Design Subjective Simplicity
Conversion Rates Emotions Productivity Usability Studies Culturally Dependent
API is UI to Data User Experience Design Subjective Simplicity
Conversion Rates Emotions Productivity Culturally Dependent Hackathons
Nobody thinks THEIR design sucks
None
None
Provider Consumer
Provider Consumer Java Rails Scala Erlang
Provider Consumer Java Rails Scala Erlang jQuery ObjC PHP
Provider Consumer Uptime Caching Security Maintenance Versioning Validation Java Rails
Scala Erlang jQuery ObjC PHP
Provider Consumer Uptime Caching Security Maintenance Versioning Validation Can It
Be Done? Debugging Support TTFHW Example Latency Java Rails Scala Erlang jQuery ObjC PHP
So?
1. Start With a Wireframe •a design intent •usually an
API description language •at Apiary we use API Blueprint
2. Involve Your Customers •find your early-adopters before you code
•create an API mock that they can use •fork/pull-request
3. Have Great Documentation •generated automatically •must be exhaustive and
up-to-date •your code is automatically tested; so must your documentation
4. Separate Contract from Implementation
Summary •API is UI for Data & Interface between cultures
•Involve your customers early •Automate
@apiaryio http://apiary.io/ ! @jakubnesetril Thank You