You could say that just about every construct in our society has much to do with path dependence. It’s like the time equivalent of spatial autocorrelation. Virtually all software is the result of it, with really novel ideas being pretty rare and sometimes pretty nearly impossible to get to propagate. So much of what we see in software is there just because it’s the way we’ve done it before.
But it’s not all bad; there are benefits to path dependence. Maybe the biggest one is continuity; the user base is “trained up” on the existing model and there are massive investments in the infrastructure so we don’t necessarily want to have to figure out a new way of doing things, even if it might be better. Jumping wholesale into a new and better way all the time would be pretty jarring (and probably hysterically expensive). The buildup of betterness has got to override the pain of switching.
Sure it’s better, but is it better enough?
I don’t want to learn how to type on an alternate keyboard key layout, even though it’s assuredly more efficient. I'm only just now able to type without looking! Seriously, I can do that; it's pretty sweet. I’m resolved to stick with good (enough) old QWERTY (which dispersed commonly used keys on physical typewriters so their hammers wouldn't get jammed up in fast typing). And what about the Metric System?
But…I do wish that I had learned how to type on the better keyboard format to begin with, though (supposing keyboard manufacturers felt the same way).
Software that can break out of path dependence has to overcome the entrenched notions of stuff that already exists, and in order to do that it has to offer something not just better but way better –which is tough to do. Plus you have to have a tipping point of folks willing to switch over, so the infrastructure can support you/it. In the meantime much of what we use is layers of tweaks piled onto a pretty old framework. But we make the best of it.
What’s the point of all this?
I think about this a lot. And I thought that if you were the type of person who is reading this blog then you might think about it too. We all want to do neat and new stuff that is really different. But how much of it is actually different? And if it were, how successful would it be? Anyways, we keep trying and keep plugging away. It’s a good start to try to do something pretty new and cool here and there that makes use of those legacy systems or combines them in ways that haven’t been cooked up before.
I'd like to hear your thoughts about this.