HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

How To Design A Good API and Why it Matters

Google TechTalks12 HN recommenders · recommended in 12 months, 2011-2025
YouTube
453K views · 19 years ago · talk · evergreen

Joshua Bloch's Google Tech Talk on how to design good APIs and why it matters, with concrete principles and examples. It treats every programmer as an occasional API designer.

HN repeatedly names it the best resource on API design, a staple answer to any 'how do I design an API' question.

Software architecture & designPython, Ruby & scripting languages#apidesign#joshuabloch#softwareengineering#java#interfaces

14 comments from Hacker News

@minzak2025 · in “Everything I know about good API design”

Nice article. I'd also highly recommend "How To Design A Good API and Why it Matters" video from Joshua Bloch (co-author of Java). He digs much deeper, mostly at code level rather than JSON level but the same principles apply. Even though this video is almost 20 years old, the topics are as significant today as they were back then. ▶ this video

Strongly recommendsView on HN
@DanPristupov2018 · in “Ask HN: What are some of the best technical talks you've heard?”

Here are some of my favorites: How To Design A Good API and Why it Matters ▶ this video Agile Methods The Good, the Hype and the Ugly link

RecommendsView on HN
@watwut2018 · in “Good learning material – JAVA, Spring”

a.) On java - one hour talk but good: * How To Design A Good API and Why it Matters ▶ this video b.) General code structure - dont to read it cover to cover unless you like to, you will die of boredom, but definitely have a look in library. It will help you to think about code structure right way. * Refactoring: Improving the Design of Existing Code * Code Complete c.) Object Oriented Programming * Design Patterns: Elements of Reusable Object-Oriented The three books I recommended are older, but not much changed in basics of object oriented programming. They are well readable. I would also recommend to read something on functional programming, mostly so that you see another approach too and thus wont go too far with object design where it does not suits. d.) 8.) I read awesome book on estimations, I really really hope it is this one: * Software Estimation: Demystifying the Black Art tldr: There is difference between negotiation and estimation, make sure you know which you are doing. Split it into smaller tasks and then estimate minimum, maximum and most likely. Then calculate (min+4*likely+max)/6. Surprisingly, it works and is faster then do one estimate. It is also more precise then anything else I tried. I really hope I shown you right book. e.) On Spring and rest, I would recommend to read documentation and write own code. I don't recall a book that would blow my mind, so I guess any will do. f.) For general "latest tech" learning, I like link site. There are mostly techie te

RecommendsView on HN
@0xmohit2016 · in “Ask HN: What's your favorite tech talk?”

How To Design A Good API and Why it Matters [0] The Principles of Clean Architecture [1] The State of the Art in Microservices by Adrian Cockcroft [2] "The Mess We're In" by Joe Armstrong [3] [0] ▶ this video [1] link [2] link [3] link

RecommendsView on HN
@neves2016 · in “Ask HN: What are good reads for designing APIs?”

Don't miss Joshua Bloch (from "Effective Java" fame) great presentation: How to design a good API and why it matters ▶ this video and the accompanying slides: link

RecommendsView on HN
@esja2016 · in “Ask HN: What are good reads for designing APIs?”

The Little Manual of API Design (Trolltech/Nokia): link How to Design a Good API and Why it Matters (Josh Bloch): link ▶ this video

CitesView on HN
@paulkoer2014 · in “Ask HN: What makes an API good?”

I highly recommend the following talk by Joshua Bloch: "How to design a good API and why it mattes" [1]. Key points: - When in doubt, leave it out - you can never remove things from an API but always add to it. - Write several clients of the API to get a good feel how its used. Three is usually enough, one is not. [1] ▶ this video

RecommendsView on HN
@mockindignant2014 · in “Ask HN: What makes an API good?”

I highly recommend this ~hour long talk given by Josh Bloch a few years ago, it is quite good and gives plenty of concrete examples: ▶ this video

RecommendsView on HN
@stiff2013 · in “Ask HN: What's the best technical talk you've heard?”

Single best is difficult, here are some favourites of mine: "You and your research" by Richard Hamming: link "How to design a good API and why it matters" by Joschua Bloch: ▶ this video Google TechTalk on Git by Linus Torvalds: link All talks ever given by Alan Kay, for example: link

RecommendsView on HN
@philbo2012 · in “API Design is UI for Developers”

I'm building a public API in my current job and, a few weeks ago, I was scouting around for the good API design advice. Absolutely far and away the best resource that I found was this Google TechTalk by Joshua Bloch: ▶ this video If you're interested in the topic and haven't seen it yet, I urge you to do so ASAP.

Strongly recommendsView on HN
@d_r2011 · in “Ask HN: How to design and structure a framework/api”

How about this to start? "How To Design A Good API and Why it Matters" -- a great talk by Joshua Bloch (also the author of "Effective Java") ▶ this video

RecommendsView on HN
@socratic2011 · in “How to Rock a Systems Design Interview”

Obviously, this is marketing rather than a serious treatment of the topic. It seems to basically say: "in order to design a system, you should have a regular undergraduate Computer Science education" which seems maybe like a prerequisite (and maybe informative about their hiring process) but not very useful. However, for what it's worth, the two best resources I've seen for systems design are: Hints for Computer System Design: link How to Design a Good API: ▶ this video What else should be in this bibliography?

Strongly recommendsView on HN
@d_r2011 · in “Ask HN: API design practices”

Not specifically about web service APIs, but you might enjoy this talk by Joshua Bloch [1]: "How To Design A Good API and Why it Matters": ▶ this video [1] link

RecommendsView on HN
@rjhackin2011 · in “Ask HN: What makes a good API presentation?”

Joshua Bloch gave a good presentation on API design, you might have seen this before. Here is the link - ▶ this video Mostly along those lines will make a presentation useful and interesting. Not sure whats the time limit for your presentation but real life example would keep the audience more interactive or building something on the fly from ground up.

RecommendsView on HN
MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk28:06

MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk

Confreaks
27K views • 12 years ago
JavaScript: The Good Parts1:03:48

JavaScript: The Good Parts

Google TechTalks
589K views • 17 years ago
Larry Wall Speaks at Google57:53

Larry Wall Speaks at Google

Google TechTalks
81K views • 18 years ago
Google Developers Day US - Python Design Patterns44:03

Google Developers Day US - Python Design Patterns

GoogleDeveloperDay
90K views • 19 years ago
Google I/O 2011: Java Puzzlers - Scraping the Bottom of the Barrel54:15

Google I/O 2011: Java Puzzlers - Scraping the Bottom of the Barrel

Google for Developers
60K views • 15 years ago
Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple4:57

Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple

Fred Overflow
43K views • 6 years ago
Coroutines and Loom behind the scenes by Roman Elizarov45:22

Coroutines and Loom behind the scenes by Roman Elizarov

Kotlin by JetBrains
41K views • 3 years ago
Crockford on JavaScript - Section 8: Programming Style & Your Brain1:06:46

Crockford on JavaScript - Section 8: Programming Style & Your Brain

YUI Library
111K views • 14 years ago
The Clean Architecture in Python49:54

The Clean Architecture in Python

Next Day Video
114K views • 12 years ago
Nordic.js 2014 • Douglas Crockford - The Better Parts33:52

Nordic.js 2014 • Douglas Crockford - The Better Parts

Nordic.js
73K views • 12 years ago
Raymond Hettinger, Keynote on Concurrency, PyBay 20171:13:53

Raymond Hettinger, Keynote on Concurrency, PyBay 2017

SF Python
161K views • 9 years ago
Cheng Lou - On the Spectrum of Abstraction at react-europe 201635:32

Cheng Lou - On the Spectrum of Abstraction at react-europe 2016

ReactEurope
63K views • 10 years ago
Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington58:08

Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington

yapcasia
6K views • 11 years ago
Cory Benfield - Building Protocol Libraries The Right Way - PyCon 201631:38

Cory Benfield - Building Protocol Libraries The Right Way - PyCon 2016

PyCon 2016
15K views • 10 years ago
Design Microservice Architectures the Right Way48:30

Design Microservice Architectures the Right Way

InfoQ
741K views • 8 years ago
Data-Oriented Demo: SOA, composition1:32:47

Data-Oriented Demo: SOA, composition

Jonathan Blow
201K views • 11 years ago
7 minutes of Pharo Smalltalk for Rubyists7:15

7 minutes of Pharo Smalltalk for Rubyists

Avdi Grimm
37K views • 11 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
Sebastian Markbage: Minimal API Surface Area | JSConf EU 201424:28

Sebastian Markbage: Minimal API Surface Area | JSConf EU 2014

JSConf
71K views • 12 years ago
RailsConf 2014 - All the Little Things by Sandi Metz38:47

RailsConf 2014 - All the Little Things by Sandi Metz

Confreaks
190K views • 12 years ago