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
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.1k
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
150
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
410
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
240
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
180
インフラ寄りSREの生存戦略
sansantech
PRO
9
3.6k
AI エージェントと考え直すデータ基盤
na0
20
7.7k
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
110
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
1.8k
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
160
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
640
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
750
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Writing Fast Ruby
sferik
628
62k
Bash Introduction
62gerente
613
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Scaling GitHub
holman
460
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Practical Orchestrator
shlominoach
189
11k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
! Three simple rules for building an API Ben Balter
@benbalter government@github.com 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
! data@agency.gov doesn’t scale
! data@agency.gov 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 government@github.com government.github.com