A couple weeks ago, I tried to report a problem to Amazon about Prime Photos. It took a couple dozen emails to get their customer service person to read for comprehension and as soon as they did they opened 6 internal bug reports for basic UX problems – 1 that I’d started with and 5 that I found while litigating that the first was a bug not covered in the online help.
Today, I noticed that Google is trying to push iOS users into using a “Smart Lock” app as a new wrinkle on their two-factor support, which seems reasonable until you install it and learn that the only thing it can do is pair with wireless tokens rather than the USB devices most people actually have. I would be shocked if a single person really tested that before they pushed it to production.
It's something the market wants. It would increase productivity. It might even increase happiness. The world, indeed, would be a much better place.
Hey. A guy can dream, can't he?
Some of the APIs are superbly documented with a lot of obvious effort put into them. Google sheets sounds like it isn't. I think one major problem is that there is a unified interface and docsets for both the good APIs and the bad APIs - while there are starkly different teams maintaining them with different interests and motivations. APIs that make a ton of money for Google are naturally going to get more love, the reverse will likely be abandoned, inaccurate, etc.
The bottom line we have to remember as developers is that we use Google's API at their own discretion. Many popular used APIs are "FREE".
If you want to create a stable, long-term, software product, you need to think long and hard about incorporating third party APIs, no matter if it's provided by a large well-respected organization like Google, or the teenager down the street.
[1]: "https://accounts.google.com/o/oauth2/v2/auth", "https://www.googleapis.com/oauth2/v4/token",
JWZ once described a "Cascade of Attention-Deficit Teenagers" model of software development, where you get bored with the old codebase and just throw it out, only to make just as many mistakes with the new one.
Lots of open-source projects do that, but it also happens with business. Version 1, written in your garage (or Starbucks, these days), is the best thing ever. Version 2 fixes bugs, improves performance, integrates with 23 popular services, has complete documentation, etc., and then the press roasts you for no longer being "innovative".
(As a budding indie developer, I feel the heat: people buy version 1.0 and expect it to be perfect. Sorry, I don't know how to deliver an Apple-like experience on day 1. I do my best to fix any issues you find, as soon as I reasonably can, though.)
Everything is perennially semi-broken, and everybody is constantly telling me that their idea is going to be the Next Big Thing, and I know that it's just going to be semi-broken forever, too. We complain about micropayments and subscriptions and advertising, but the truth is that no end-user would ever pay what software costs, if they knew how expensive it was to get right.
I spent a week and I couldn't get OAuth2 to work with Google Sheets, at all. There's some cargo-cult guesses on StackOverflow, but nobody even has a good idea for how to debug it. Google's own documentation doesn't even match what their webpage shows, and many of the options don't appear to do anything at all.
I'd be very happy, as a user and as a developer, if everybody stopped trying to "innovate" and just fixed their crap. I love Yegge's writing, but it's a little funny to hear the media complain about lack of innovation while we're still arguing about how best to patch up Meltdown/Spectre. We're so friggin' innovative I can't even trust a CPU built in the past 20 years.