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
200
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
270
APIStrat 2016 | OpenAPI Trek: Beyond API Documentation (Arnaud Lauret)
apistrat
5
210
APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)
apistrat
1
120
APIStrat 2016 | On-prem support? That was so 1982 (Charlie Ozinga)
apistrat
0
86
APIStrat 2016 | Effortless microservices in production with Kubernetes (Ken Wronkiewicz)
apistrat
0
120
Song by Tony Blank
apistrat
0
140
API Lifecycle Manager by Steve Fonseca
apistrat
2
200
APIs In The Enterprise: How Walgreens Formed It's Digital Business by Drew Schweinfurth
apistrat
1
350
Developers Are Difficult by Andrew Noonan
apistrat
0
120
Other Decks in Technology
See All in Technology
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
12
2.3k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
400
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
130
Algyan イベント振り返り
linyixian
0
200
AWS認定資格を取得したので、初めてマネコンを触った時を振り返ってみた。
ainatsuptr
2
100
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.3k
Databricks における 『MLOps』
databricksjapan
2
160
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
350
ServiceNow Knowledge Learning Rise up
manarobot
0
190
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
150
アクセス制御にまつわる改善 / Improving access control
itkq
0
470
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
270
Featured
See All Featured
The Cult of Friendly URLs
andyhume
74
5.7k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
13
1.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
42k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
Building Adaptive Systems
keathley
30
1.9k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
Why Our Code Smells
bkeepers
PRO
331
56k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
GitHub's CSS Performance
jonrohan
1024
450k
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