Software Is Getting More Stable

Ten years ago it seemed that computer software would always be unreliable. We had just gone through 20 years of dizzying improvements in capabilities, but computers were as buggy as ever. Now that is changing, with software developers focusing more on safety and reliability and slowing down the drive to add new features.

I noticed this today when I was researching a subject and the Firefox browser I was using froze up. I had seen this many times before. For a moment I thought the browser would crash — but if it did, it would be the first time in nearly a year, I realized. In fact, the browser did recover after a few minutes, and everything was normal again after I closed the malformed web page that was causing the problem. But this reminded of the way web browsers used to crash every day. I would see Firefox freeze up and crash about twice a day, and the leading browser of that time, Internet Explorer, was even more crash-prone.

The world avoided a billion crashes a day just by switching from Internet Explorer to more stable software, but Firefox is a better example of the trend toward software stability. Firefox went through a four-year period of rapid feature development pointed toward an effort to create a stripped-down mobile operating system based on the browser. That effort ultimately failed. Though the changes in Firefox were welcome and needed, during that period Firefox became so unreliable it lost its reputation as the go-to browser. After the operating system project was cancelled and with new management in place, Firefox developers focused most of their efforts on creating a better browser. Firefox users saw incremental improvements in stability. There were fewer glitches and crashes — not a lot fewer at first, but enough to make users grateful for the change in focus. The software errors became gradually less frequent, but so slowly that when the crashes stopped altogether, it took me until now to notice.

It is a similar story in a wide range of software. The changes were almost too gradual to notice but add up over time to much more stable software than we had a decade ago. On the Internet it is not just the browsers that have better coding, but also the web pages and the web servers that deliver them. I wrote a few months ago about how the Internet did not see many major crashes or outages on Cyber Monday 2016, and this was partly the effect of more stable server software that, if I can put it this way, kept its composure when faced with unexpected loads. Mobile apps, games, and e-commerce have all seen big gains in reliability, especially in the last five years. This leaves database, office automation, and medical software as the three main categories that are still truly glitchy, but I expect those too will come around in the next five years — perhaps ten in the case of medical software.

There are changes I could point to in software development tools, testing procedures, and developer culture, but I believe the real story is simply that good writing, including the work of creating software, takes time and attention. In the rush to add capabilities, it is inevitable that mistakes are made, but most of the major software categories we depend upon are now getting the degree of attention they deserve, so that the mistakes are fixed faster than before.

Take a day to notice the way most software you use has become reasonably reliable in the last few years. It’s progress worth celebrating.

Fish Nation Information Station | Rick Aster’s World | Rick Aster