Stability and Change


One of the biggest frustrations with software is that things are constantly changing. From operating systems to apps to web interfaces, things rarely remain the same for very long, especially for users of Windows or MacOS.

There are many reasons for this of course. For decades, hardware has continued to improve at a steady rate, and so software is constantly being rewritten to take advantage of the latest capabilities. Moreover, the incredibly sloppy standard for software quality and reliability (compared to traditional engineering disciplines) means that even the most professional software is shipped with massive numbers of bugs and vulnerabilities, which constantly need to be patched. This is a particularly large problem in institutional settings which are not set up for this pace of updates; some of the worst effects of the WannaCry ransomware attack, for example, were on hospitals that were still using hopelessly out of date Windows machines.

Other changes are purely aesthetic. Most companies seem unable to resist constantly tinkering with and updating the logos, icons, and other aesthetics of their products. Presumably this is in some sense necessary to stay current. The frequency of updates seems like overkill, but if no updates were made, things would probably seem out of date relatively quickly. To some extent, all of this even seems to have spilled over to much more basic material products. Colgate started selling toothpaste in 1873 and made the same basic product for decades; today, there are what seem to me to be a rather unnecessary number of variations on the same basic paste.

The result is a kind of tax on users. We might invest in learning to use a certain software product efficiently, or develop a customized workflow, but this can be shattered at any time by an update which removes a critical feature or breaks our process. In some cases, an existing product may simply disappear, forcing us to find an alternative with little to no warning. The benefits of updates, such as they are, will be greatest for new users, who will have access to an expanded suite of capabilities as they are learning the system. They too, however, will eventually be just as vulnerable to having their favorite features retired or altered or moved.

In some cases this can backfire. Evernote started as a fairly innovative product and achieved widespread adoption. In their efforts to keep up with competitors, however, they gradually added more and more features, eventually leading to a bloated piece of software that I now find to be practically unusable, compared to alternatives. Even longtime users are being driven away.

Perhaps the most interesting example of (in)stability in tech is Google search. Although there have certainly been aesthetic changes—most notably changes in font and button styles, the addition (and then removal) of additional links near the search bar, and the addition of links to other Google services in the header—the core user interface has remained essentially unchanged for more than two decades: an text entry field to enter a search query, a “Google Search” button, and the “I’m Feeling Lucky” button.

Here is the earliest capture in the Wayback machine from when the search engine first appeared on the google.com domain (December 2, 1998):

Here is one from January 1, 2010:

And here is what it looks like today:

Behind the scenes, of course, it’s a different story. The details of changes are naturally proprietary, but we do know that there have been massive changes to their algorithm over time, including the incorporation of BERT into the system for processing search queries in 2019. The affordances gives the impression that nothing has changed, but of course this is an illusion. Indeed, different users are not even really using quite the same service, given that search results may be customized based on location and other factors.

There seems to be a widespread sentiment today that Google search is not as good as it used to be. Whether this is due to changes in the algorithm or changes in the underlying space of webpages is hard to say (and not really even fully separable). Indeed, concerns with stability arguably become even more complicated and difficult when they involve systems that use machine learning, as others have helpfully written about.

Nevertheless, I was still able to use Google to find this page (via Twitter), which I had seen but forgotten to save, noting the recent resolution of an 11 year old bet about whether or not the page documenting the bet would still be available at the end of that time. Such things bring me a small amount of comfort in this ever changing world.