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
460
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
390
Open source workflows in highly regulated environments
benbalter
0
79
Optimize for Developer Happiness
benbalter
0
270
The technology is the easy part
benbalter
2
260
How to foster an open source culture inside Government
benbalter
3
2.3k
Open source inspired workflows for open (and closed) geospatial data
benbalter
0
130
Other Decks in Technology
See All in Technology
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
330
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
210
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
650
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
250
OPENLOGI Company Profile for engineer
hr01
1
20k
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
910
事業を差別化する技術を生み出す技術
pyama86
2
220
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
760
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
180
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Gamification - CAS2011
davidbonilla
80
5.2k
Designing Experiences People Love
moore
140
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
We Have a Design System, Now What?
morganepeng
51
7.4k
How GitHub (no longer) Works
holman
314
140k
Git: the NoSQL Database
bkeepers
PRO
427
65k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
A Philosophy of Restraint
colly
203
16k
The Language of Interfaces
destraynor
156
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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