Streaming of a concious mind

Blog >
Share This Article

30 Nov,17

"There are more methodologies, but as you can see it’s about building and getting it out the door as quickly as possible."

App Update Fatigue – What’s The Fix?

November 29, 2017 Technology Admin for site

Have you noticed how so many, if not all, of your devices – smartphone, tablet, desktop, TV, camera, thermostat, GPS anything running software or connected to the web needs to be updated more often than not? How can one maintain so many connected devices without it seeming like an endless chore?

Are we as consumers at the edge of revolt and feeling app update fatigue? To understand the problem we first need to understand why we have to update apps and other software so often. I believe it has to do with the prevailing software development methodologies. They may also be contributing to the increasing number of bugs and security flaws found in a growing list of connected and software-powered devices (smart devices).

Between July 15-29, 2015, I had 27 app updates on my iPhone. Let’s assume for the purposes of this conversation that there were an additional 27 updates in the first half of the month as well. That makes 54 times I had to click the update button. And this is just for my iPhone. Throw in my iPad, and that’s 108 updates that could be downloaded and installed on just two mobile devices.

In July, I also had a firmware update on my TV, an OS update for my desktop, two iTunes updates, multiple Adobe Creative Cloud updates, and at least one Microsoft Office update. There’s plenty I could add to the list. Is this becoming too much to manage?

As consumers of technology, entertainment, and news over the web, how are we expected to keep up with all of this constant updating? To be fair, I could set most of my apps to auto-update and simply forget about it. But when you do this and accept new terms, features, or services, you don’t know what you’re agreeing to, what settings have gone back to default (mostly around gathering your data for advertising), or features that have been updated, which you may you not want. An AppleCare tech once told me that they (the individual techs) recommend not upgrading to a new operating system until the second or third iteration to avoid some hiccups.

So why the constant updating? It’s complicated; some of it has to do with the rising tide of cyberattacks, required security updates, and bugs. Some of it has to do with how software is developed. For more on this please read the sidebar.

_______________________________________________________

Sidebar: A brief background on the prominent software development methodologies, how they might contribute to the problem, and why knowing this is important. Due to market competition, consumers demand more from software development, and developers give in to the need to be first to market.  Thus, they’ve moved from a slow heavily planned and reviewed process to a model of building, releasing, and fixing on the fly, kind of. 

 Here are a few software development methodologies:

  • An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model.
  • In an incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each module passes through the requirements, design, implementation and testing phases. A working version of the software is produced during the first module, so you have working software early on during the software life cycle. Each subsequent release of the module adds function to the previous release.
  • An agile development model is also a type of incremental model. Software is developed in incremental, rapid cycles. This results in small, frequent releases with each one building on previous functionality.
  • RAD (Rapid Application Development): a type of incremental model. In the RAD model the components or functions are developed in parallel as if they were mini projects. The developments are time boxed, delivered and then assembled into a working prototype. This can quickly give the customer something to see and use, and to provide feedback regarding the delivery and their requirements.

There are more methodologies, but as you can see, it’s about building and getting it out the door as quickly as possible.

_______________________________________________________

As we become ever more dependent on software-powered services and connected devices, can the current system continue to function without major change? And as hacking continues to increase and the devices we use are imbedded deeper into our lives, bombproof software will become even more important to protect our personal lives in the future.

As consumers, what can we do to take back some of the time we lose maintaining the devices in our connected lives? One way is to take the time to read the app update notes, which usually include an email or other way to provide feedback and comments to the developers. Tell your favorite app builders to spend more time getting it right the first time and less time pushing out bug fixes, updates, and features.

Technology and software companies are working on more seamless, automated services to keep you constantly updated, but at what cost to your personal privacy?

I am not blaming or pointing fingers.  This discussion is simply raising awareness for those that do not fully understand the system. We must always remind ourselves that we are still in the infancy of the Web and our connected lives. It’s up to us to direct those that are building and developing the products and services we let into the most intimate corners of our lives. Lets hope the future of our connected world evolves in a very positive direction, where security, respect for privacy, and mindfulness of the user’s time are all factored into the equation.