Google Play is beyond annoying

ExtraMedicated@lemmy.world to Mildly Infuriating@lemmy.world – 176 points –

I have an app that I released a couple years ago (plus another legacy app that I maintain for one of my company's clients). My game has a long-ish title, but it was fine until some asshat at Google decides that 33 characters is too long. On top of that, every time I'm forced to update the target SDK, I need to spend several hours figuring out a bunch of new build errors. This is not how I wanted to spend my vacation time.

23

Developers when they have to update their programs: this is annoying bullshit

If you have to update it, just to meet some arbitrary metric: Yeah.

It's not an arbitrary metric though... They want apps to stop using old APIs so they can deprecate them at some point. Platforms that aren't Windows (and Linux, to a lesser extent) don't have the resources to support old stuff forever. Be glad they don't make breaking changes more frequently, like Apple does :)

Google's definition of "Old API" though is like, 3 months. I don't know Apple but as mentioned in my other comment when I did stuff on GCP I remember breaking changes coming every month or 2. It's honestly terrible. Pub/Sub was the worse, a message broker that had breaking changes so frequently that I just spun up a kafka instance.

I get what you're saying, you should stay up to date, but Google just gives devs the middle finger. It really does feel like "Lol this isn't even a feature you use, and it's not like it's a security fix or anything, our developers are just bored and rewrote something again so drop everything now and go fix it."

Google's definition of "Old API" though is like, 3 months.

Oh, okay. Admittedly I haven't done a lot of Android development and didn't realise how quickly Google deprecate APIs.

As the other guy said, we're not talking hugely outdated. And I don't see why they should have fewer resources for supporting old stuff. Android has more users than Windows. Less corporate users, sure, but still, I imagine Google could easily finance that and I do not see it as rational that they don't.
Like, if Google hadn't made the Play Store a monopoly, devs would gladly be distributing elsewhere. Many of those who aren't looking for commercial success, do.

Wdym arbitrary metric? If nothing would have changed then there would be no build errors and the whole process would take a few mins.

Now since something does break, that means that there's some (soon to be) deprecated code which needs updating.

With arbitrary metric, I mean that Google doesn't detect whether you're actually using deprecated APIs, they just detect that you've declared to be targeting Android API version 27 and that 27 is smaller than 31. Especially with smaller apps, you may have to go through the whole release process just to increment that number, with no actual code changes.

Another rather arbitrary metric is how often and quickly they want to deprecate APIs. In other ecosystems, you update your app to fix security issues or because you're developing new features. On Android, you often end up updating, because your Googly overlord demands an update.

The second word in your title is unnecessary.

Over the years I've had to work with Google maps, geocoding, Play, GCE, and more. Every time I have to work with any of it I swear it takes a time off my life. And then it's virtually guaranteed that, just about the time I forget what a horror show the last event was, they'll arbitrarily make some other massive breaking change to the SDK or APIs... or kill the product entirely. I've sworn off as much of google as I can both personally and professionally.

Now I'm doing the same with Microsoft since they don't seem to give two shits about security anymore.

Google APIs are terrible to work with, but Microsoft is way worse in my experience. An API for one product may have been worked on by multiple teams that each had a different idea of how it should work.

1 more...

It's a mad rule really.. it means work that was done for clients sometimes years ago and paid for has to be dug up and recompiled, when they were perfectly happy with the way they worked now.

Requiring 33 for new apps is fine, you're working on them already, upgrading is just part of it (which is more or less how apple work, you must use the latest xcode otherwise they reject). Requiring it for older ones probably means a heck of a lot of stuff is about to vanish from the play store on somewhat short notice.

There are some apps we've already decided to let die because the maintenance work isn't worth it.

Each and every line of code you write is a liability. Even more so when you wrote it for someone else. You must always be able to rebuild it from source, at least as long as your client expect the software to work. If you feel it's not worth it, you probably low-balled the contract. If you don't want to maintain code, have the client pay a yearly maintenance fee, give the code and the responsibility to maintain it to your client at the end of development, or add a time limit to it's support.

There's no "maintenance mode" software: either it's in use and must be kept updated with regard to it's execution environment, or it's not used anymore and can be erased and forgotten. Doing differently opens too much security issues, which shouldn't be acceptable for us all as a trade.

Customers won't pay maintenence. And code can't be maintained forever that isn't bringing in money. This is just the harsh reality.

Plus the code I wrote myself isn't usually what I have a problem whith changing. It's the various included packages and dependencies that in some cases may no longer be supported, and may not even have a similar replacement. I usually deal with this when updating an old web app that uses the Laravel framework. Some Composer packages are locked in to older versions. And when the client has a 20 hr/month budget, these types of updates can be tough to fit in the schedule.

Yeah we have some tooling that isn't up to API 33 yet.. one app has been abandoned because of that - it'll be ios only for a while until there's resources for a rewrite.

Okay I'm siding with OP here. Google is dogshit when it comes to compatibility. When I was coding for GCP I counted how many breaking changes they rolled out and it totaled about 2 a month, I spent on average 4 days a month (almost a full working week) just upgrading Google's bullshit API changes.

Now, I'm all for upgrading stuff and keeping things ready to go, but there's a cadence to that. Most companies will treat downstream developers well, things like security updates are mandatory but rarely include breaking changes, new features may have breaking changes but they're optional (for a year or maybe even 2, to give you time to upgrade your app).

Google just throws that all out the window and quite literally sends out messaging like "You need to drop everything you're working on and upgrade to this <> because <> for <>.

I have successfully prevented 2 companies from going over to GCP based on this. They're too fickle, they see a shiny new feature and want to cram it in but don't care about anything that was made over 3 months ago. Avoid developing on Google products.

I can't speak for GCP as I've never used it, and as much as I love to jump on the Google hate train (they really do suck in so many ways), I am an Android app developer who also has to deal with the target API upgrades and they're usually not terrible. Most of the time, just a single line change, build, and push.

But most of my apps don't do any sort of tracking or access the file system, so outside of the whole permissions change a few years back, these have been easy to do.

The name truncation thing here is silly, though. Very annoying.

I say all this to say that I do think Google is doing a good thing here. In this one regard. I can't stress enough how specific I'm being with my praise here.

That's fair, I'm not an app developer so I don't know that side of the house. Cloud and live services I hated, so much churn.

It's super annoying on my phone.

Every single time I open the app it shows one notification. That notifcation say "Turn on important notifications!". How about no?