eli5. Why do apps need to update on such a frequent basis with seemingly little change or no visible change?

659 views

Why is that almost every app I have needs to be updated weekly or multiple times per week?

I typically don’t allow auto updating to ensure it’s done over WiFi. I also game on my phone frequently an updates can hinder performance during gameplay. So the once a week or so I allow updates there is usually 50+ pending.

Why does Etsy, Youtube, twitch, podcast app, every Google app, etcetera, need to constantly require an update so often.

In: Technology

4 Answers

Anonymous 0 Comments

Often times it’s new versions of libraries being published with security updates.

There’s a lot of automation behind the scenes that some apps use to keep up to date on security issues, especially when it comes to dealing with libraries, which are the most common source of major security vulnerabilities (since your app can get caught in a storm of other apps all being exploited rather than just specifically targeted).

For some things I’ve worked on, here’s the process that can happen.

1. A tool like [Snyk](https://snyk.io/) watches your dependencies. When a new vulnerability is published and a fix is available, it automatically creates a request to upgrade the version with the necessary changes.
2. That request triggers a series of pipelines that put the app through a series of tests that have been created alongside the code. This lets us know if we expect to run into any errors with the changes.
3. Depending on confidence with the testing, we can either use manual or automatic approval here, but at some point the code gets merged into the master branch, which means it is the version of the code we want to publish.
4. More pipelines trigger that now build and publish the new version of the app to the app store.

All of this can happen with the developer disconnected from the world if they’ve set it up correctly.

Anonymous 0 Comments

I work for a Fortune 500 company, although not any of the ones you mentioned. But, modern software development involves many, many developers which becomes impossible to manage in a single team. Instead, an application is broken into small components, each with it’s own team.

Many of those components are not immediately visible. Obviously, the User Interface is the most noticeable, however there is a lot of code in the background (such as decoding compressed video streams). Often times, we release “backend” bugfixes that only a tiny fraction of users were even aware of. Also, applications often rely on code written by other companies — today, we might use a library from software vendor X but tomorrow we’ll decide they’re too expensive and switch to software vendor Z. This requires an update, even if the new version works exactly the same as it did before.

Android/iOS updates are not delivered in an efficient manner due to architectural design choices made years and years ago, and also for security reasons. It’s entirely possible to push out a small 1KB patch for a huge 1GB application, however that also opens up a way for hackers to infect your phone with a virus. So, Google, Apple, Microsoft, etc have chosen to only allow a complete replacement of
*all* of the application code: so even the tiniest change to your 1GB application requires a re-download of the whole darn 1GB.

Anonymous 0 Comments

Devs are always finding and fixing new bugs in their apps. There’s no such thing as perfect code. Regular updates that apply bugfixes ensure that an app is running as intended. Even a seemingly small bug can have an adverse impact on an app’s functionality if left untouched.

Anonymous 0 Comments

It’s often either an important fix to some sort of security flaw (so they push out a tiny update as soon as possible) or else things “behind the scenes” to make the app work better/faster/with less data/etc. that may not be obviously apparent.

In either case it’s usually a good idea to go ahead and do it.

Also, you can typically see notes about what the update includes (though it may be vague “bug fixes” etc.).