
Tom Scott
2 HN recommenders · recommended in 8 months, 2020–2026
10:39 · 77M views · Apr 6, 2020
Tom Scott's video whose title shows its own live view count, and the story of how he made that work. It explains why open APIs were once common and why they largely disappeared.
The go-to citation for why free, open APIs get shut down and for the fate of services like Yahoo Pipes.
10 comments from Hacker News
Tom Scott made a wonderful video a while back about open APIs, and about how they (mostly) died out[0]. It's currently called "This Video Has 51,973,714 Views", and I personally believe it's a great watch. [0] this video
Tom Scott made a wonderful video a while back about open APIs, and about how they (mostly) died out[0]. It's currently called "This Video Has 51,973,714 Views", and I personally believe it's a great watch. [0] this video
Where to start... First, nowadays altering the DOM is way more responsive than loading a new page, so no one really wants HATEOAS -- not even users, but especially not the sites we like to visit because they don't want to put out public APIs anymore. For non-browser app APIs (public or private), well, they can be the same, just driven by JS when in-browser. This... is sad. But this is a fact of life now. Just watch Tom Scott explain why the APIs went away, and when the APIs went away, so did HATEOAS ( this video ). Second, there's a lot of APIs that needn't have anything more than one end-point -- no links to traverse, no HATEOAS. For example, a certification authority can take a CSR and authentication and return you a certificate -- one end-point is all you need, and other than that, the API can be RESTful in every sense. And then there's APIs where links aren't necessarily abundant or interesting. Third, HTTP kinda sucks anyways if you're dealing with databases. There's no nice RESTful way to construct transactions unless you put the RDBMS smarts into the client (JS again), which you can't do if it means trusting the client (it does). So right there, REST is broken anyways. Sure, if you're distributing your database, you need to deconstruct your transactions anyways, but you're not going to trust a user-agent to get that right, and anyways, you can't really do that with a HATEOAS interface. Put another way: show us how to build a secure application with REST (including HATEOAS
Where I work, anything that is outside of the standard library and some certain security-approved dependencies requires a miserable approval process where an authorization package has to be submitted to security who will require upgrades anytime a CVE with a high enough assessed criticality is posted for the dependency (or other concerns regarding the source arise.) This approval is revisited on a regular period (or added to the standard list of approved dependencies.) The net effect is that there isn't dependency creep where any team can just continuously add dependencies to a project without their ongoing justification and visibility. For personal projects, I'm very liberal with using dependencies that can get something in my mind functioning quickly before my motivation dries up. I think I shared the OP's anxiety regarding at least the longevity of what I write until I came to peace with the fact that my software will not function forever, and likely not for the rest of the decade. Relevant Tom Scott vid: this video
How is it any different than a centralized social media service then? Merely the fact that you can get a firehose from the website in a standard format? This was already the case with HTTP. The problem is that websites can leverage their power to make a locked-in ecosystem. see this video twitter, etc once had a much more open API. so did reddit. This was just the first stage of their penetration strategy. The decentralization is totally irrelevant due to the way it's implemented. The problem is that Apps are sticky, so app developers have undue power to control their users. The "content hosts" "moderators" etc need to be completely cut out of the picture to be at the same level of censorship resistance as an RSS-shared blog. I can host a blog on my own computer, and you can subscribe to it without that many intermediaries.