| > We should be allowed to create and use whatever UI we want for the public endpoints that are exposed Having been at a company that tried this: The number of poorly-behaved or outright abusive clients is a huge problem. Having a client become popular with a small group of people and then receive some update that turned it into a DDoS machine because someone made a mistake in a loop or forgot to sleep after an error was a frequent occurrence. The secondary problem is that when it breaks, the customers blame the company providing the service, not the team providing the client. The volume of support requests due to third party clients became unbearable. These days there’s also a problem of scraping and botting. The more open the API, the more abuse you get. You can’t have security through obscurity be your only protection, but having a closed API makes a huge difference even though the bad actors can technically constantly reverse engineer it if they really want. In practice, they get tired and can’t keep up. I doubt this will be a popular anecdote on HN, but after walking the walk I understand why this idealistic concept is much harder in reality. |
> Having been at a company that tried this: The number of poorly-behaved or outright abusive clients is a huge problem. Having a client become popular with a small group of people and then receive some update that turned it into a DDoS machine because someone made a mistake in a loop or forgot to sleep after an error was a frequent occurrence.
Ok, but this could be easily solved by having rate limits on api?
> The secondary problem is that when it breaks, the customers blame the company providing the service, not the team providing the client. The volume of support requests due to third party clients became unbearable.
I would say this is subjective/arguable in general.