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
Three simple rules for building APIs
Search
Ben Balter
March 31, 2015
Technology
1
450
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
1
1.2k
Fostering a culture of collaboration
benbalter
0
190
Growing open source communities on GitHub around your WordPress plugin or theme
benbalter
1
210
It takes a digital village
benbalter
1
370
Open source workflows in highly regulated environments
benbalter
0
76
Optimize for Developer Happiness
benbalter
0
260
The technology is the easy part
benbalter
2
250
How to foster an open source culture inside Government
benbalter
3
2.2k
Open source inspired workflows for open (and closed) geospatial data
benbalter
0
130
Other Decks in Technology
See All in Technology
AIとともに歩んだライブラリアップデートの道のり/ vue-fes-japan-2024-link-and-motivation
lmi
2
2.1k
LeSS Yoake 2024 スポンサーセッション
riki_hiraoka
0
160
いまいまMySQL2024 @ OSC Nagaoka
sakaik
3
300
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
160
地域DXにおけるGrafana活用事例
wacky
0
390
【㈱アイモバイル】エンジニア向け会社説明資料
imobile
0
480
最新のWasm事情
askua
5
2.5k
暴カワでビデオシンセサイザーを導入する技術
yuchi
2
130
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
9
8.2k
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
19
4.1k
プログラミング写経のすすめ
natsutan
0
170
今日から始める技術的負債の解消
leveragestech
3
460
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6k
Code Review Best Practice
trishagee
64
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Ruby is Unlike a Banana
tanoku
96
11k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Being A Developer After 40
akosma
85
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Making Projects Easy
brettharned
115
5.9k
Rails Girls Zürich Keynote
gr2m
93
13k
Happy Clients
brianwarren
97
6.7k
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