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
300
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
170
API Lifecycle Manager by Steve Fonseca
apistrat
2
240
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
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
450
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
180
Language Update: Java
skrb
2
300
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
560
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
Agile PBL at New Grads Trainings
kawaguti
PRO
1
430
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
9
73k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
180
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
410
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Designing Experiences People Love
moore
142
24k
Building an army of robots
kneath
306
46k
BBQ
matthewcrist
89
9.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Site-Speed That Sticks
csswizardry
10
820
Balancing Empowerment & Direction
lara
3
620
Automating Front-end Workflow
addyosmani
1370
200k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Agile that works and the tools we love
rasmusluckow
330
21k
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