Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now


Software Tech: Stability Wars

As we become ever-more dependent on computers, we increasingly run the risk of being blindsided by our tools.

As we become ever-more dependent on computers, we increasingly run the risk of being blindsided by our tools. For years, I’ve been saying that compatibility and system stability would become only more problematic. But it turned out I was wrong—they’ve become much more problematic.

Craig Anderton Any DAW forum has thread after thread complaining about “bugs” in the software. Although often user error, the issue goes far deeper. Today’s operating systems are so complex, with so many interdependencies, that it’s impossible to know how they’re going to work until they’re in millions of systems.

Problem #1: Except for Linux folks, our livelihoods depend on operating systems from Apple and Microsoft. When OS X El Capitan appeared, changes in the Audio Units spec meant that many plugins couldn’t validate. Native Instruments advised users not to update immediately to El Capitan, but they were not alone: as Adrian Kingsley-Hughes wrote on ZDNet two weeks after El Capitan appeared, “I suggest you put your upgrade plans on hold until the first update is out, unless you like dealing with bugs.” It took over two months and two major updates until El Capitan had worked out most of its issues.

How is this possible with a tech-savvy company that has virtually unlimited resources? The answer: Very possible. Although Microsoft fared somewhat better with Windows 10, it was not without problems either. Microsoft had a bit of an advantage with its “rolling updates” that did fixes early and often, but still, some people rolled back to the solid-as-a-rock Windows 7, while others waited for issues to be addressed.

Public betas? Maybe, but they can be more about marketing/building anticipation, and besides, few users will do the rigorous “corner case” testing, with reproducible steps, that real QC people do. Which brings us to…

Problem #2: Software companies may hook into parts of the operating system other companies don’t use—which is why an expensive plug-in from a big-name company may stop working, while a freebie plug-in some kid wrote works fine. Although companies have access to OS beta versions, testing with beta software simply means you’ve verified operation with software that will never be released. You can check out the big picture, but until the software is frozen, any testing may end up being a waste of time.

Problem #3: It’s not just software, but hardware. Drivers might stop working, require updating, or die a slow death if the company making the driver doesn’t see a financial reason to update it.

One solution is to dedicate a computer to the task at hand, and don’t update it until absolutely necessary (e.g., when 32-bit machines transitioned to 64 bits). However, there are also overlap issues. For example, when I moved to a 64-bit machine, everything worked great—except those programs that required a particular 64-bit library, and for which only 32-bit libraries existed. I could either stick with 32 bits, or simply write off several programs until an update appeared (which it did, about a year later). And some programs you use may require a new OS, while others won’t work with it.

I’m beginning to think that iOS and Windows 10 may have gotten it right: Put stuff out there, see what breaks, then fix it as fast as you can. Consider that flurry of app updates every time iOS increments by 0.1, or that mysterious weekly Windows ritual that’s updating…something, as a parade of multi-digit “configuration” numbers flash across your screen. However, I also think Windows understood the reality of updates by acknowledging that fixing old bugs can introduce new bugs, so they made it possible to roll back to a previous version if you had problems. Then again, what happens if the previous version had problematic bugs, or you buy a new computer with the new OS preinstalled and have no other option?

For desktop machines, removable hard drives and partitions are your friends—install the new OS, but keep the old one. Migrate things over and eventually you’ll be on a stable operating system. Still, remember that just as nuclear power was supposed to be too cheap to meter, computers were going to save us from burned-out motors, tape alignment, head lapping, cracked rubber pinch rollers and the like. And they did—but they haven’t relieved us of having to make choices about how to maintain the gear we have. And sometimes, the winning option isn’t the best choice, but the least bad one.