Graphic: Fisher's model of software updates

Fisher’s geometric model of software updates

Images: Fisher’s model visualization, own work; update progress bar by Jeff Attaway, somewhat dubiously CC BY 2.0.

Last month, the Toronto Star newspaper launched a “new and improved” website, which is nothing short of awful. The other day, the only game app I keep on my phone pushed an update, and now it’s noticeably harder to use than it was before. I’m nursing my laptop along because Windows 8 and Windows 10 are both worse than Windows 7. Why do “updates”, “upgrades”, and “new and improved” products so often seem worse than what they replace?

R.A. Fisher knew*. Yes, that R.A. Fisher – the architect of ANOVA, the pioneer of the P-value, the genius who wrote The Genetical Theory of Natural Selection and thus codified the Modern Synthesis. You knew about his contributions to statistics, experimental design, population and quantitative genetics, and evolution, but you may not have appreciated his understanding of software updates.

Actually, I have to admit that there are three reasons that newly updated products so often seem to take steps back, and only one is Fisherian. Since the Fisherian reason is the interesting one, I’ll keep it for last. So – the three reasons we hate updates, and other kinds of change too:

(1) Humans don’t like change. If there’s one thing we like more than declaring that things are broken, it’s declaring that the world is going to hell in a handbasket. Kids today – their music is weird, they dress funny, and what’s with all those piercings? (Oh, and get off my lawn). I have to plead guilty to resenting updates in part just because I like the way things were last week.

(2) Much change is genuinely but temporarily bad simply because we’d acclimated to the old system. This is one important sense in which climate change is going to be very, very bad for human civilization: not because making any climate 3 degrees warmer is intrinsically awful for us, but because we’ve built our civilization in the right places for our current climate and any change (warmer or cooler, wetter or drier) disrupts the arrangements we’ve built. Similarly, whatever the old software version was, we’d learned how to use it, and any change messes that up until we learn the new features.

fishersmodel1(3) Much change is genuinely and permanently bad, and here’s where Fisher comes in. Large changes in any system are, over time, increasingly less likely to improve it, but just as likely to be made. Fisher’s geometric model of software updates natural selection explains this very nicely. To oversimplify a bit, Fisher’s model depicts an organism’s traits as a 2-dimensional Cartesian plane, on which there’s an optimum point (at right, the star). A mutation moves trait values by a vector of random length and direction. If the current trait values are far from the optimum, either small-effect or large-effect mutations can move them away from or towards the optimum. But if the current trait values are near the optimum, only small-effect mutations (the blue vectors) can improve them; large-effect mutations (the red vectors) are sure to be bad. Large-effect mutations will occur at constant rates, but large-effect mutations of selective value will become rarer through time**.

What does this have to do with software updates? Well, you’re probably way ahead of me. If a piece of software, or a website design, or pretty much any other product has been on the market for a while and has been updated or upgraded a few times, its trait values (features) are likely to be close to an optimum. Now, commercial products don’t mutate – but they do get updated and upgraded, with new and “improved” features, rearranged menus, and other changes. And like large-effect mutations, these changes keep coming, whether they’re needed or not – because updating and upgrading products is what product-engineering departments do and what managers are rewarded for. And in Fisher’s geometric model of natural selection software updates, the longer the product has been in existence, the more likely further change is to degrade rather than improve its performance.

If software was refined by natural selection, these late-stage large-effect updates would just disappear as users rejected them in favour of retaining older, more stable versions. But this never works for long, because manufacturers and vendors retain control and remove or disable older versions (I still pine for PapyrusTM, the best reference-management software there ever was.) In essence, Fisher’s geometric model of natural selection shows how late-in-adaptation large-effect mutations are selected out because they would degrade fitness. Fisher’s geometric model of software updates shows how late-stage large-effect updates degrade performance because they can’t be selected out***.

Sir Ronald Fisher: brilliant polymath, which you knew; and prescient software-engineering theoretician, which perhaps you didn’t. Do you think there’s any chance we can explain Fisher’s model to Apple before iTunes gets even worse?

© Stephen Heard ( July 14, 2016

After writing this, I discovered an old Dynamic Ecology post along related lines – only instead of software updates, it’s beer! Darn it, Jeremy, will you stop pre-empting my posts?

*^Which is the only reason I’m bringing it up on Scientist Sees Squirrel, which is not and will never be a tech blog. My relationship with technology is a bit too strained for that.

**^Assuming the optimum trait values remain the same. The Red Queen, arms races, runaway selection, and other interesting things happen when coevolution makes optima dynamic. This sketch of Fisher’s model is oversimplified in several other ways, of course.

***^In fact, commercial products are probably worse for this than genomes. For a commercial product, the very fact that no major change has occurred in a while becomes a reason that it’s time for a major “update”. This is as if a large-effect mutation became more and more likely to occur the longer a genome had escaped one! That’s a crazy way to make an adaptive system work, right? Well, if you think academics are immune to this bit of foolishness, you haven’t been involved in very many curriculum revisions. (Full disclosure: as Chair of my Department I led a curriculum revision. But mine, of course, was different and needed. Right.) When, do you suppose, has an administrator ever been praised by higher-ups for proclaiming that the current system just fine?

5 thoughts on “Fisher’s geometric model of software updates

  1. Peter Apps

    Some important insights here.

    In a previous life at a large semi-governmental research institute that was trying to look businesslike, a major re-structuring could be reliably predicted by a state in which everything was running smoothly and people were productive.

    There must surely be a biological model that fits software manufacturers being predators or parasites of the software users.


  2. Margaret Kosmala

    I’d guess that software companies would say that with major releases they’re not just trying to make things “better,” but to add new functionality that wasn’t possible before. That’s basically a a way of saying the optimum (little blue star) is a moving target. So over time, it’s likely to randomly wander away from the current position of the existing traits. And therefore it’s necessary to keep taking large steps towards that optimum. I think the real problem isn’t that things keep being upgraded, but that the makers of the software don’t really know where the optimum is.

    FWIW, I hate upgrades too. If you want to upgrade your computer, but keep Windows 7, you can buy refurbished. That’s what I did.

    Liked by 1 person

    1. ScientistSeesSquirrel Post author

      Yes, good point about adding functionality – although I’d argue that often new functions are added in order to justify an upgrade, rather than the other way around! Or equivalently, the new functions aren’t necessarily things people are demanding; it’s just that releasing new “better” versions is what software companies DO. (Yeah, I’m a bit of a cynic.)


  3. pdodonov

    Makes sense.
    And also points to the superiority, on large timescales, of open source software. When changes are made by a community of programmers who are also likely to be users, small changes and improvements are much more likely, and large ones are likely to be those demanded by the users. I don’t think siftware like R or GRASS ever got worse with an update.



Comment on this post:

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.