Hello blogosphere, Bracken here, checking in for the first time on the Less Annoying Blog. While I have been working behind the scenes on Less Annoying Software, I've been absent from the blog to date. Tyler finally prodded me with enough force that I'll be posting with some regularity for the foreseeable future.
As Tyler mentioned in our inaugural post, I'm currently finishing up a degree in computational biology and I also manage the computing resources for my lab. As such, you can look forward to a wealth of needlessly technical and obscure scientific analogies in the coming months.
In that vein, I've got a series of such posts that'll come on over the next couple days. I wanted to start off my blogging with a few thoughts on my interpretation of a popular theme of this blog: the value and costs associated with change.
Activation barriers in the upgrade path
A certain amount of my research to date has focused on optimizing a production pathway in bacteria.
Essentially, we are trying to coax bacteria into making something that it wouldn't normally make, and we want it to make it in large quantities (similar systems are used to make a variety of pharmaceuticals and a certain amount of clean energy research is focused on trying to convince bacteria to produce fuel). In our case, we've picked out a specific enzyme whose throughput needs improvement. A commonly used framework for thinking about how to optimize the performance of this enzyme is called transition state theory.
Basically, it states that the speed of the reaction is entirely determined by the difficulty of reaching the least favorable state during the reaction. The energy input needed to cross that state is called the activation barrier, and the basic idea is that if you can lower the difficulty of the hardest part, you'll speed up the entire reaction, but optimizing other parts of the path is basically useless.
Activation barriers certainly aren't an idea unique to chemical reactions. It's easy to recognize them in things as trivial as, say, writing a blog post. Once you get the first sentence down in electrons, the rest of the post tends to just go on it's own.
Anything you can do to make the hardest step easier is probably gonna speed up your process. Improving the process of posting online (an already easy process), isn't likely to help anything. While this all sounds pretty straightforward, when you're in the middle of improving a system, it can be easy to miss.
Now there are plenty of things that can be difficult about upgrading technology, particularly ones that we rely on regularly. The actual upgrade process, however, is getting easier and easier these days due largely to the ubiquity of broadband. Many software programs upgrade themselves automatically.
Actively developed web programs may do so on a daily basis. Data is often stored remotely enabling trivial transfer to new devices and programs. All of these advances make it easier to stay up to date on software, the problem is that they're no longer the limiting step. While all of these things used to be important barriers, I think they're pretty well optimized by now.
All that's left in many cases is a natural aversion to change on the part of the user. The whole idea of an activation barrier is that some energy is required to get you started. Generally, that would be some new feature, smoother operation, or the like. Problems arise when that energy input never happens, however, because activation barriers in technology tend to grow with time.
The longer you wait between upgrades, the harder they are. As such, I think there's an argument to be made at times to upgrade for upgrading's sake: the motivation for crossing the activation barrier can be lowering the next barrier, even if there aren't any awesome feature upgrades that you need.
We've recently run into this problem in lab.
We'd been using the same firewall since 2000 or so. We'd never had any problems with it so we'd never really bothered to change it.
We recently noticed that the firewall was limiting some of our work because it didn't have enough bandwidth, so we bought a new one. Installing it has been a huge headache almost entirely because we waited so long between; none of the configuration from the old firewall is valid on the new one so we basically had to redo everything from scratch.
We never really needed to upgrade in the intervening 10 years, but if we had, I'm confident our total cost of both upgrades would've been smaller than our one upgrade right now. Incidentally, while I'm not a big fan of the practice, Apple does a pretty decent job of basically forcing this upon people. They drop support for their older hardware pretty quickly which causes people to upgrade even if they wouldn't otherwise.
As a result, each upgrade is fairly painless (though potentially expensive in dollars). Windows did the opposite with Vista. The XP to Vista release cycle was much slower than typical, making the transition much more painful.
Coming tomorrow, cooperativity in technology.