Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Three simple rules for building APIs
Ben Balter
March 31, 2015
Technology
1
380
Three simple rules for building APIs
APIs should be simple, semantic, and supported.
Ben Balter
March 31, 2015
Tweet
Share
More Decks by Ben Balter
See All by Ben Balter
A community of communities: Empowering maintainers to grow communities around their code
benbalter
0
880
Fostering a culture of collaboration
benbalter
0
140
Growing open source communities on GitHub around your WordPress plugin or theme
benbalter
1
190
It takes a digital village
benbalter
1
260
Open source workflows in highly regulated environments
benbalter
0
66
Optimize for Developer Happiness
benbalter
0
240
The technology is the easy part
benbalter
2
230
How to foster an open source culture inside Government
benbalter
3
2k
Open source inspired workflows for open (and closed) geospatial data
benbalter
0
110
Other Decks in Technology
See All in Technology
マネーフォワードクラウドを支える事業者基盤
machisuke
0
160
聴覚障害のある大学生チームによる臆さない発言環境の形成
hayato_ukuk
0
1.7k
2022年に起きたフロントエンドの変化
sakito
27
16k
FlexScan HD2452Wの 後継を探して
tring
0
160
データサイエンティストとしてどう学んでいくべきか/東京大学講義: データマイニング概論: #10
yp_genzitsu
10
5.9k
【Λ(らむだ)】いつのまにリスキリング / RPALT20230117
lambda
0
370
「私考える人、あなた作業する人」を越えて、プロダクトマネジメントがあたりまえになるチームを明日から実現していく方法/product management rsgt2023
moriyuya
60
38k
re:Invent re:Cap / AWS Lambda Updates
bulbulpaul
1
140
propsのバケツリレー対策でGlobal_Stateを使うその前に
taro28
8
1.7k
ROS_Japan_UG_#49_LT
maeharakeisuke
0
190
Janus
bkuhlmann
0
120
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
11
3.2k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1020
430k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Writing Fast Ruby
sferik
613
58k
Git: the NoSQL Database
bkeepers
PRO
418
60k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
Facilitating Awesome Meetings
lara
33
4.6k
Typedesign – Prime Four
hannesfritz
34
1.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
120
29k
What's new in Ruby 2.0
geeforr
336
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
Transcript
! Three simple rules for building an API Ben Balter
@benbalter
[email protected]
government.github.com
! All APIs should be three things
! APIs should be simple
! APIs should be semantic
! APIs should be supported
! All APIs should be simple
! Let’s say you want a list of open source
licenses…
! Option 0: scrape opensource.org Option 1: scrape spdx.org Option
2: parce an excel file
! Pro-tip: prototype your API
! choosealicense.com/licenses.json
! Meh.
! api.github.com/licenses
None
! api.github.com/licenses/mit
None
! api.github.com/repos/benbalter/gman
None
! All APIs should be semantic
! FDsys is not
! The FAR
! (Thunder and dramatic music)
None
! Web developers love 2+ MB XML files
! Data should be immediately valuable
! github.com/benbalter/so_far_so_good
! Data should make sense to computers
None
! Data should make sense to humans
None
! Data shouldn’t mimic their paper counterparts
! Data should be reimagined for the web
! Optimize for developer happiness
! All APIs should be supported
!
[email protected]
doesn’t scale
!
[email protected]
is a great way to answer the same
question over and over again
! Users have (the same) questions
! The only appropriate way to answer a question about
your API is with a URL
! Today, the first step to solving any problem is
to Google it
! Microsoft has been rocking the knowledge base for decades
! Bonus #1: Your community will answer its own questions
None
! Bonus #2: Collaborative documentation
None
None
! If you liked it then you should have put
a URL on it
! To review…
! APIs should be simple
! APIs should be semantic
! APIs should be supported
! Three simple rules for building an API Ben Balter
@benbalter
[email protected]
government.github.com