Softwaring Thin: Why Updating to a New Version is No Fun

This morning, I awoke to news guaranteed to strike fear in my heart every single time it comes up on my computer. I was informed that a new version of iTunes version 12.2.2 was now available and that I could download and install it now.

You know what? I’m fine, really. I’m sure I’ll install version 12.2.2 at some point in time, once I’ve done the appropriate amount of research into what kind of bad thing will happen to me when I do download and install it. If the sky won’t fall, then I’ll consider it but for now I’m in now real hurry.

Did it always used to be this bad? Did a new software update always inspire fear and panic over what would be screwed up next? Certainly iTunes isn’t the only offender, in fact, I dread updating my Audible mobile app even more.

There is a good reason for this. Whenever I update the audible app, something breaks. Like the time a new version of the app made it impossible for me to delete books off of my iPad after I had finished reading them. Or the version that crashed every time I did a search. Yet I felt I still had to install the update because each update that debuted a new bug more often than not fixed a bug from a previous update.

I remember upgrading to iOS 8.0 the day it came out. Big mistake. Voice over kept crashing for days and it did all kinds of nasty things to my wireless keyboard. It almost made both my iPad and iPhone completely unuseable.

Last week I updated my Trivia crack app and it immediately became unplayable for me. I mean it is hard to answer questions when the app closes as soon as you open it. A release followed a couple days later with the update describing “bug fixes” and after installing that I learned that some bugs still run around loose. I haven’t been able to play all week and as a result am on the longest losing streak of my trivia crack career. Yeah, first world problems, I know.

I often wonder how these releases ever make it to the public. How does someone at Audible not check to see if deleting books still works in this new version of the app? Is beta testing of these apps so bad that not one person turns on voice over to see how the app might behave? How did everyone working on the Echofon for twitter app miss the fact that a recent update had a bug that prevented voice over from reading the tweets? A lot of people use voice over, you’d think whether or not it still functioned properly would be something that they would want to learn. Especially since if it doesn’t work, they’re going to get a bunch of complaints and have to fix it anyway. Why not fix the problem before the public is ever made aware that it is a problem?

While I’m at it, if there is one thing I would like to say to software developers it would be this. The fact that you can make something in an app look better does not make it more utilitarian. How many times have you updated a piece of software and saw a favorite feature of yours either missing entirely or redesigned to become more difficult to use? It reminds me a lot of my earliest days on Facebook where they would constantly make changes to the website that would please absolutely nobody. Of course after a time people would get used to the changes and figure out how everything was worked only to have them change it all once more.

I understand that people using voice over on an iOS device are in the minority and that it is often going to be ignored during testing. I accept that as part of the world we live in whether I like it or not. But a lot of what I am talking about is not limited to use of voice over. How many bugs were in the original public release of iOS 8.0? I have never used an Android phone but suspect that it has these same type of issues and in fact might be even worse in that department.

I was pondering this question a few months ago and then I read Future Crimes: Everything is Connected, Everyone is Vulnerable and What We Can Do About It. As I said in my review, if I read a better Science and Technology related book in 2015 it will be a heck of a book. Towards the end, the book’s author Marc Goodman gets to the heart of the issue when it comes to software. Goodman was talking specifically about security vulnerabilities in software but I believe his point is valid for all types of bugs.

In short, the mentality behind how software is released is all wrong. Paraphrasing Goodman, new versions of software are put out with a release it now, fix it later mentality. This is why so many bugs make it into the software that we use every day. This mentality is why whenever a new version of iTunes pops up I start to panic and fear that it might scatter my music to the 4 corners of the earth like version 12.2 did a couple months ago.
Goodman argues that this mentality will need to change as more and more of our household items become part of “The Internet of Things”. I believe this is especially true for something like a driverless car. When a bug could mean mowing down a jogger or a little girl on a bike and a security exploit could leave all of them open to an act of terror we can’t afford to fix it later.

I realize that it is not easy to beta test against everything, in fact it is impossible. I also understand that some problems aren’t going to be discovered until the masses get their crack at software. That’s when you find out how one app interacts with another and so on. But I do think that putting a greater emphasis on performance over getting a release out will do wonders. You may only come out with 1 or 2 major software releases a year plus smaller releases to address critical security vulnerabilities but if those 1 or 2 major releases come out and work well and come with features that are easy to use and all the changes are well documented and those documentations are easily located by the user than a great thing will happen. End users of the software will be come more confident in your product. They will stop heading to google to see what issues people who were dumb enough to update to iTunes 12.2.2 might be experiencing after just a few hours with the software.

Again, I use a lot of examples involving iTunes, iOS and other Apple mobile products because that is what I use. If you don’t think this type of problem exists with the software that you use, enjoy your bottle of Evian spelled in reverse.

I have to say that one group of people that seems to do all of this right on a regular basis are the people associated with WordPress. I stood on the very edge of the wordpress development community a few years ago. I don’t code but I did submit some tickets and I monitored the development chats that would take place weekly. Whenever I was self hosting websites I never got worried about upgrading to the newest version of wordpress because I figured it was going to be safe. I had no reason to believe otherwise. The developers and testers deserve a lot of credit for that and it is something that I fear goes under appreciated by most people. When a product, any product is reliable we tend to stop noticing how reliable it is and forget about it until it stops being as reliable.

That is basically my rant for the day. As far as I am concerned from now on I will not be the type to immediately upgrade any software unless it is for a security related reason. I will do my research to see what the new version of a given software fixes and what new bugs it may introduce. I’ve spent too much time over the summer months rebuilding my iTunes library after an update to give them the benefit of the doubt. If a positive has come out of that experience, at least I am getting faster at restoring the whole thing. Thank God for iTunes Match and an External Hard Drive to reduce the pain.