As promised, I'm back with more analogies to chemistry and physics. If you enjoyed yesterday's post, you're in for a treat. If not, this post is completely different.
Technology is cooperative
It's no big revelation that change is difficult but important. We've talked about it before, and we've talked about how trying to keep up with the bleeding technology front at all times is probably not worth it.
But there's another aspect of the upgrade path that is easier to overlook if you're not careful. To set the analogic* stage, I briefly want to talk about the concept of cooperativity. Basically, cooperativity is the idea that an initial event can lower the activation barrier for following events (see yesterday's post if that doesn't make any sense).
The classic example of this in biology is oxygen binding to hemoglobin. Hemoglobin is the main oxygen transporter in your blood carrying oxygen from your lungs to the rest of your body. Each hemoglobin molecule can bind up to 4 oxygens, and there is some energy barrier to bind each of them. The cool thing is that once the first oxygen binds, it changes the shape of hemoglobin such that it's easier to bind the second, which makes it easier to bind the third, which makes it easier to bind the fourth.
The result is that hemoglobin almost always has either zero or four oxygen molecules bound. This is an important property for hemoglobin because it lets it pick up oxygen easily in the lungs, and then dump it all in the tissues of the body.
Technology has a tendency to be cooperative in similar ways, both by it's nature and by design.
Apple originally released the iPod to try and get people to buy their computers; the iPod experience was much better on a mac, encouraging users of one to get one (many people would either have both or neither). Now this plan didn't work out exactly like they planned (plenty of windows users with iPods, obviously), but that was the original idea.
Microsoft has done similar things with Office and Windows. Until recently, Outlook didn't even exist on the Mac, and Office in general was slow and close to useless. As such, if you wanted to use Outlook or the rest of Office, it was much easier to use Windows.
To finish the software giant triumvirate, anyone who has ever used Google's services knows they exhibit extreme cooperativity. Gmail, Google Calendar, Google Docs, and Android are all pretty great services on their own, but using all of them together is much more useful than any individual product by itself.
So cooperativity is everywhere in technology, and there's nothing necessarily wrong with that.
As I've said, the Google suite of software is much more useful all together than it possibly could be in separate chunks. The extreme success of Office (which I still think is a good product, despite what Tyler would likely say) is largely due to similar properties.
The problem with cooperativity, however, is that it can make upgrading even harder. If all of your software is codependent, you basically have to simultaneously overcome the activation barriers for all of them at once. I think that a large amount of the backlash against Vista had to do with the fact that most people who upgraded also got a new version of Office and weren't able to change so many things at once.
As for how to combat the problems of cooperativity in technology, I think open (adhered to) standards is the answer, and are worth sticking to whenever possible.
The increased trending of web software is a huge plus. For most online software, any browser provides a valid platform for the software. If you decide to switch to a mac, or upgrade to windows 7, or just use your smart phone full time, you can still get basically the same Gmail (Yahoo Mail, Hotmail, etc) experience. That's possible because HTML is a well-defined standard (even if Microsoft doesn't care).
Similarly, the fact that I can export my Gmail contacts as a csv, or my calendar events as iCal, or my docs as rtf, means I can decouple the services if I want to. If a better document editor comes along, it's not hard to switch just that (without upending everything else I use through Google).
Cooperativity is great when used right, but don't let it be used to lock you in to a specific combination of software without a clear upgrade path.
*not a real word