If it ain’t broke, fix it

aintbrokeWaiting until you have a catastrophic failure or a major security event to upgrade your system is never a best practice.

(From the ZDNet articles: Stop your bitching and stalling; just take the software upgrade already by Jason Perlow for Tech Broiler | May 31, 2016 and If it ain’t broke, break it: Why putting off software upgrades can make things worse by David Gerwirtz for DIY-IT | April 28, 2016)

Editors Note: These articles address upgrading operating systems and studio software but apply equally well to any outdated software.

There is rage on the internet, my friends. It’s all about the dreaded replacement cycle that we are facing now.

No, I’m not talking about the upcoming presidential election. I’m talking about your PC operating system upgrades.

My Facebook and Twitter feed is littered with hemming and hawing over prompting to upgrade. Refusal to capitulate to the prompt that it needs to be done, anger over invasion of one’s personal space. Desperate pleading to be left alone, despondence over presumed unnecessary workday and life disruption.

There’s a final stage to Kübler-Ross after bargaining and depression, you know.

I get it. You don’t want your software updated or upgraded. You believe your system is static, that if it works now, it will continue to work the same as it does always. You don’t want to change, because that would mean acquiring new skills, or doing something differently.

Or worse — the possibility of having to spend money. You’ll be damned if that awful, evil vendor makes you spend more of your hard-earned cash.

If it isn’t broke don’t fix it. Because if this approach “works” for the federal government, it’s got to work perfectly well for you, right?

Well, until it doesn’t.

Traditionally, when we think in terms of computer systems and software, at least prior to the last decade or so, computer software was very much a static thing. Software upgrades for operating systems and application packages happened at four year intervals, frequently even longer.

When did you update or upgrade an operating system? Usually if a catastrophic failure occurred and you had to replace the hardware, and you didn’t have the original install media.

Dead hard disk? Upgrade time. Blown mainboard? New PC. New PCs came with new OSes. And that often necessitated updated versions of the apps.

End-users, small businesses and enterprises all dealt with it in different ways, because of the types of tools and expertise and processes available to them. Some were more naturally resistant to making the changes, some more progressive.

Certain environments were better equipped to resist or deploy upgrades than others. A lot of this was defined by application workload and the speeds in which 3rd-party vendors that could certify their products to run on an upgraded environment. There was also the issue that you might have hardware and peripherals that just plain would not work with the new software.

Those of us who have been in information technology or using PCs as end-users since those days know that mindset well. So we’ve been indoctrinated to it, and it’s often hard to think out of that box.

The problem with having that historical perspective is that the mindset of “I’ll wait until it breaks to deal with it” no longer works in an internet-connected world.

Routine operating system and software upgrades must be considered as part of the natural life cycle of systems management, whether you are an end-user, a small business, or an enterprise.

And while the pace at which we deploy these things is going to be different based on overall impact — with end-users being the best equipped to handle frequent updates and upgrades versus an enterprise — we now need to think of operating systems and the accompanying applications as more of a software appliance that is actively updated by the vendor, as part of the overall internet of things.

You accept that this happens all the time on your smartphone, your tablet, your video game console and perhaps even your smart thermostat, which does this without you even knowing about it. (Although, to be fair, there’s grumbling even over those upgrades.) Your modern PC is no different, and it needs to do this for the same reasons.

The previous generation of PC operating systems — especially Windows XP, which came out in 2001 — is ill-equipped to deal with the constant threats emerging from the internet. The browser technology is outdated, and the underlying security platform even more so.

Ultimately, this is the reason why all sorts of upgrades are being pushed on you now, because the industry wants to take proactive measures against these threats, and to move you to a more modernized code base which is better equipped to handle them. It also reduces the overall support burden to by not keeping these legacy operating systems and applications alive.

So yes, take the free upgrade, particularly while it is still free. You will be much safer, and much happier for it.

Not convincing enough? OK, let us explore this further.

The more end-user installs running on the same codebase, the easier it is to support that population. Over time it also allows the industry to provide solutions that are more cost-competitive as well.

So yes, it greatly benefits the vendor, but at the end of the day, you’re also getting better and more secure software, and a better support experience overall.

Now, there’s always the concern that if you take an OS upgrade the process might fail due to the age and condition of the existing installed system itself. That’s valid, and even completely clean re-imaged systems will sometimes fail an upgrade and produce undesirable and unpredictable results.

The design of the previous generation of operating systems was far more monolithic, so upgrading it in-place requires the replacement of the entire thing.

It’s an all or nothing proposition, and as much as companies like Microsoft can spend hundreds of millions of dollars and hundreds of thousands of man hours regression testing upgrades of major releases like Windows 10 on legacy hardware, not every scenario for testing an in-place upgrade is going to be validated.

Systems will vary greatly based on overall health, as well as configuration and installed 3rd-party applications.

A certain (very small) percentage of PCs are going to die on the table or produce less than stellar results due to an OS upgrade. It’s unfortunate, but when we are talking hundreds of millions of systems with tremendous diversity of configuration in the extant, this happens and it’s unavoidable.

Even companies like Apple, which have only a few dozen configurations of their hardware in the wild, which run on a much more appliance-like OS and issue at least one major upgrade and several minor updates over the course of a year, will encounter similar issues.

The flip side of this is Android fragmentation hell, the so-called “Toxic Hellstew” where many OEMs flat out refuse to support their devices and may take years to upgrade/update the software on them, if they do so at all. This would be totally unacceptable in the PC world.

The good news is, going forward, future PC software upgrades are going to be more frequent and more incremental in nature, because of the much more modular way Windows 10 as well as Office 365 and other modern 3rd-party applications are designed.

But I will save you some time in the upgrade decision process. If your computer is four years old or more, it’s probably time to say goodbye. If your PC only has 1GB or 2GB of RAM, don’t even attempt the OS upgrade. Go buy a new one, or spend a little bit of money on a memory upgrade if your system can accommodate it. You’ll be way, way happier with your system’s overall performance.

As an end-user, going out and spending your hard earned money on a new PC may put a sour taste on your mouth. That’s understandable, but maintaining PCs and replacing them every four years is just as important as maintaining anything else in your overall personal infrastructure.

You do that already to keep your house or your automobile in working order, it’s no different with your PCs. You certainly don’t expect those things to continue to work without occasional intervention of time and money. Likewise, maintaining and replacing your equipment is an expense as well as an outage that you need to plan for.

PCs are cheaper than ever. I recently had to look at replacing a desktop tower for a family friend who had a outdated system that could not be upgraded — it looks like the damage is going to be a whole $400 or $500 or so. That’s not so horrible if you consider the system is going to last probably another four years.

And if you’re an SMB, for goodness’ sake — this is your business we’re talking about. You certainly don’t want to wait until a major component fails or you suffer some kind of malware or other security-related event to have to deal with this.

Just as you should be routinely backing up your data, you should be planning for PC, OS and application upgrades. If you’re short-staffed and need help, look into working with a systems integrator or a managed services partner who can do this for you.

Here’s another helpful tip: If you’re an end-user that is worried about the outcome of an upgrade, or if your PC fails an upgrade where it should have otherwise succeeded, you can bring your computer to the Answer Desk at a Microsoft retail store location, where they will provide the assistance to get you upgraded in-place, or running back up again on a clean Windows 10 slate.

Yes, you heard that. For free. It’s a service that is offered to anyone who has a valid Windows license or current upgrade eligibility, as part of the overall profile of Windows 10 support options. I’ve referred my friends and family to this service in a number of cases when I couldn’t help them in person or remotely, and the folks at the retail organization always do a wonderful job.

By the way, this also includes free malware and virus remediation as well, if required — which at other retailers, can cost anywhere between $100-$150 for a one-time service.

So please, folks, take the upgrade. You’ll be safer, happier, and back to being productive in no time. Because the alternative of taking the kick the can down the road approach until a catastrophic failure or a security/malware event takes place is far worse than the pain of having to adjust to a new OS or even spending some money to accommodate it.

“If it ain’t broke, don’t fix it” is an obsolete practice for technology. Here’s why we need to make “upgrade, no matter what” our new mantra.

“If it ain’t broke, don’t fix it,” has been an aphorism that’s been with us for a very long time. In many ways, it’s been a guiding principle for me and many other tech folks. However, I’m starting to think that, at least when it comes to computers, we’re going to need to retire the practice entirely.

I’ll illustrate this with an example. Many of you have followed along with my Broadband Studio project. Because I do so many webcasts, on-air interviews, and broadcasts, I built a studio into a 10×9 foot room.

At the core of that studio is a Mac mini that runs some very precisely configured software. This software handles the audio routing, the green screen chroma key, the lower thirds, and more. It’s managed by very carefully constructed scripts. I augment the system with two iPads, one driving a teleprompter, and one that acts as a custom keypad to the broadcast software.

It’s tight. It works perfectly. But it’s running on OS X Mountain Lion.

Mountain Lion was the ninth major version of OS X. It was released to manufacturing by Apple just about four years ago.

About 18 months later, Mavericks was released. I chose to stick with Mountain Lion because Mavericks had such a rough start. Given the need for all the elements in my studio to work together seamlessly, I decided to keep my Mac mini on Mountain Lion because everything actually did work together.

I figured, “If it ain’t broke, don’t fix it.”

That strategy stood me in good stead until yesterday. I make a good chunk of my living doing webcasts, so the webcast infrastructure is mission critical.

Yesterday, when I went into the studio to record a webcast, everything broke.


Last week, Google released Chrome 50, which dropped support for older OS versions. While the marquee OS to lose support was Windows XP, Mountain Lion was also dropped. Mountain Lion would no longer get updates for Chrome.

Now, I knew Chrome support was coming to an end. Google had announced its end-of-life plans for XP, Vista, and older OS X versions back in November. Even so, I didn’t rush to make any changes in my studio system.

I made two assumptions, one where I should have known better (but thankfully didn’t get hurt), and another where there was pretty much no warning at all.

My first assumption was that since I only go to three sites on the studio machine: Gmail, Google Calendar, and the conferencing server, that it wouldn’t matter if I didn’t update Chrome. I wasn’t going anywhere that might have malware. I’m running on a Mac so my risks were reduced.

That, especially coming from a so-called cybersecurity “expert,” was stupid. If somehow the conferencing site had gotten infected, that malware would have traversed the Internet into my system. I lecture over and over — using that very machine, mind you — that you’re at risk even if you don’t go to traditionally risky sites. You’re at risk everywhere, because every site can be a potential carrier.

I was lucky. Very, very lucky.

Here’s what I didn’t expect. I didn’t expect Gmail, Google Calendar, and the conferencing application to suddenly stop working. Gmail in Chrome reported it wanted a more modern version. So I launched Safari. Gmail in Safari complained too.

Apparently, when Google stopped supporting Chrome for Mountain Lion, the company also stopped supporting Mountain Lion in its other applications, and on other browsers.

Nothing would launch Google Calendar, so I couldn’t get to the invite that had the URL of the conference. I eventually did it the hard way, printed out the URL, and hand-typed it letter-by-letter into Safari.

I did eventually get into the conferencing software, but that software apparently used a plugin that had also suddenly become obsolete. I spent the entire webcast playing whack-a-mole, constantly batting away alerts telling me a plugin in the software was no longer supported.

At the same time, Skype wanted to do an upgrade. Past experience guided me here, so I clicked the update later button. Skype will happily invite you to do an upgrade, but once the upgrade is complete, it will tell you that your OS is no longer compatible. I’ve fallen for that before, so I knew it would be foolhardy to do that upgrade before the webcast.

Skype will also obsolete communications protocols to older versions, so I know that if I don’t upgrade Skype soon, it will be only a short time before I can’t connect to the Skype network.


Earlier, I stated that in the context of technology, we are going to have to stop following the “if it ain’t broke, don’t fix it” dictum. From my example, you can see why. Unfortunately, upgrading introduces new problems, because while some systems won’t run on older platforms, other software won’t run on newer platforms.

This leads to what I like to call the natural “If it ain’t broke” conflict, which is why so many people are often reticent to perform upgrades.

As much as it pains me to say it (because reconfiguring my studio may take weeks of work), we need to upgrade. We need to upgrade, even if we know it will inevitably break some of our other software.

Many cybersecurity exploits take advantage of older software. Older software can suffer breakage when support is suspended. It’s simply become necessary to just bite the bullet and do the upgrades.

As we move forward, here’s how best practices need to change. Instead of “if it ain’t broke, don’t fix it,” we need to move to an “if there’s an upgrade, do it no matter what” mentality.

No doubt this is a hassle. But we’re now in a “pay now or pay later” world when it comes to upgrades. It’s going to be a hassle, either way. But if we upgrade sooner, at least we can choose the time and place of our confrontation with breakage and incompatibility. If we wait, a critical system could blow up at the worst possible moment.

If you’re looking for a bit more nuance to this approach, I always recommend waiting a little while after an upgrade. This allows time for critical release errors and early troublesome bugs to be found and fixed. That strategy hasn’t changed. But after an appropriate waiting period, it’s time to bite the bullet and do the upgrade.

At the very least, if you do the upgrade on your own schedule, you’ll be able to build in a little time and space to locate and replace the soon-to-be-obsoleted components.

Be sure to plan for application and related software upgrades as well. I know that when I upgrade my studio machine from Mountain Lion to Yosemite, a number of key media production applications will no longer function and will need replacing.

[email protected]

Comments are closed.