Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
APIs are Interfaces Too
Search
API Strategy & Practice Conference
September 25, 2014
Technology
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
APIs are Interfaces Too
by Alex Koppel @ APIStrat 2014 in Chicago
API Strategy & Practice Conference
September 25, 2014
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
350
APIStrat 2016 | OpenAPI Trek: Beyond API Documentation (Arnaud Lauret)
apistrat
5
250
APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)
apistrat
1
190
APIStrat 2016 | On-prem support? That was so 1982 (Charlie Ozinga)
apistrat
0
160
APIStrat 2016 | Effortless microservices in production with Kubernetes (Ken Wronkiewicz)
apistrat
0
190
Song by Tony Blank
apistrat
0
220
API Lifecycle Manager by Steve Fonseca
apistrat
2
290
APIs In The Enterprise: How Walgreens Formed It's Digital Business by Drew Schweinfurth
apistrat
1
430
Developers Are Difficult by Andrew Noonan
apistrat
0
160
Other Decks in Technology
See All in Technology
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
520
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.6k
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
280
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
31k
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
7
5k
Von-Neumann Machines, Dreams & The Futures of IT
ufried
0
130
What the customer really needed
kawaguti
PRO
3
220
Harness Engineering on Rails
joelq
0
430
Why Agent Cost Needs Observability
nttcom
0
150
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
130
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
260
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
830
Code Review Best Practice
trishagee
74
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
430
First, design no harm
axbom
PRO
2
1.3k
Embracing the Ebb and Flow
colly
88
5.2k
Become a Pro
speakerdeck
PRO
31
6.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Odyssey Design
rkendrick25
PRO
2
810
Accessibility Awareness
sabderemane
1
220
Facilitating Awesome Meetings
lara
57
7.1k
Transcript
APIS
the holy steer of Memphis Apis Memphis X Not
Application Programming Interfaces
Me • Ruby/iOS/JS since 2008 • Senior Developer at eSpark
• Previously: Wunderlist, Facebook marketing, healthcare IT
None
None
APIs are important
API design makes a difference ?
Case Study
None
None
Yippie
None
None
None
???
None
None
Yippie
None
None
None
None
None
??? ??? ??? ??? ??? ??? ??? ???
None
None
WAT
Why?
Thing is... • The FB API is actually quite well
designed • Strong fundamental pattern • Not amateurs
What went wrong?
APIs are Interfaces
Principle of Least Surprise http://en.wikipedia.org/wiki/Principle_of_least_astonishment "People are part of the
system. The design should match the user's experience, expectations, and mental models." What is least surprising may however depend on the expected audience, e.g. end users, programmers or system administrators.
Developers are our users
None
None
None
None
Avoid Inconsistency
Consistency is key • Consistent format • Consistent naming •
Consistent function
Perspective • Put yourself in another developer's shoes • Even
for an internal API • Extra effort, but it pays off over time
Consideration • Make decisions about your API early on •
Or right now! • Define how it should behave
Building an SDK • Consuming your own API is the
best test • Can you build simple, consistent methods?
def set_app_restrictions(new_settings) graph_call(app_id, { restrictions: new_settings.to_json }) end
def set_app_restrictions(new_settings) if new_settings[“age_distribution”] new_settings[“age_distribution”] = new_settings[“age_restrictions”].to_json end graph_call(app_id, {
restrictions: new_settings.to_json }) end
Thanks! Questions? @arsduo