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
410
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.1k
Fostering a culture of collaboration
benbalter
0
170
Growing open source communities on GitHub around your WordPress plugin or theme
benbalter
1
200
It takes a digital village
benbalter
1
320
Open source workflows in highly regulated environments
benbalter
0
72
Optimize for Developer Happiness
benbalter
0
250
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
120
Other Decks in Technology
See All in Technology
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
380
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.9k
OPENLOGI Company Profile
hr01
0
45k
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
3k
.NET GraphQL Client のリアル
sansantech
PRO
1
230
拓展QA日常工作的邊界
line_developers_tw
PRO
0
550
生成AIがもたらす変革 / GitHubGalaxy_CyberAgent
cyberagentdevelopers
PRO
2
110
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
880
データ基盤を支える技術
chanyou0311
5
2.9k
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
190
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
8.2k
AI JIMY - 登壇(インストール編)
hanacchi
0
150
Featured
See All Featured
Building Applications with DynamoDB
mza
88
5.7k
Producing Creativity
orderedlist
PRO
338
39k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Done Done
chrislema
178
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
A Philosophy of Restraint
colly
197
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
The Cost Of JavaScript in 2023
addyosmani
21
4k
Happy Clients
brianwarren
92
6.4k
Music & Morning Musume
bryan
41
5.6k
Agile that works and the tools we love
rasmusluckow
325
20k
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