The truth about Unifying Solutions

Posted by – 30/12/2004

Everytime I read about a new supposed unifying solution for any given problem I have that feeling that something will go wrong. And I end up being unmistakenly right. But re-reading Joel On Software about How Microsoft Lost the API War has given me the right quote to put that feeling in words:

“But the idea of unifying the mess of Visual Basic and Windows API programming by creating a completely new, ground-up programming environment with not one, not two, but three languages (or are there four?) is sort of like the idea of getting two quarreling kids to stop arguing by shouting “shut up!” louder than either of them. It only works on TV. In real life when you shout “shut up!” to two people arguing loudly you just create a louder three-way argument.”

“(By the way, for those of you who follow the arcane but politically-charged world of blog syndication feed formats, you can see the same thing happening over there. RSS became fragmented with several different versions, inaccurate specs and lots of political fighting, and the attempt to clean everything up by creating yet another format called Atom has resulted in several different versions of RSS plus one version of Atom, inaccurate specs and lots of political fighting. When you try to unify two opposing forces by creating a third alternative, you just end up with three opposing forces. You haven’t unified anything and you haven’t really fixed anything.)”

Just think a little bit and I bet you’ll realize how many things happens this way. We have A and B competing. Any attempt to kill A or B by creating C will end up having A, B and C competing…. Yes, I am talking about distro wars, emacs and vi clones, browser wars…

Fork me on GitHub

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>