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
480
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.3k
Fostering a culture of collaboration
benbalter
0
220
Growing open source communities on GitHub around your WordPress plugin or theme
benbalter
1
230
It takes a digital village
benbalter
1
440
Open source workflows in highly regulated environments
benbalter
0
91
Optimize for Developer Happiness
benbalter
0
280
The technology is the easy part
benbalter
2
280
How to foster an open source culture inside Government
benbalter
3
2.4k
Open source inspired workflows for open (and closed) geospatial data
benbalter
0
150
Other Decks in Technology
See All in Technology
怖くない!はじめてのClaude Code
shinya337
0
380
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
190
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
15k
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
230
Geminiとv0による高速プロトタイピング
shinya337
0
260
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
330
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
4
12k
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
15k
AWS認定を取る中で感じたこと
siromi
1
180
本が全く読めなかった過去の自分へ
genshun9
0
940
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
210
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Site-Speed That Sticks
csswizardry
10
690
Side Projects
sachag
455
42k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Statistics for Hackers
jakevdp
799
220k
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