Why Isn’t An Application Better Than A Spec?
By Adrian Sutton
Ah Scoble, you’re just digging yourself deeper and deeper. The cynical part of me wants to point out how unsurprising it is that a Microsoft employee doesn’t understand why an application isn’t a spec and why precise specifications are so important for avoiding vendor lock-in.
But what Dave did was give me an application. It works. And, as a user, I wonder “if the format is so crappy, how did Dave get it to work in his own application?”
And, as a user, I wonder “why can’t the developers just get their OPML to work with Dave’s application?”
Why can’t developers just work with Microsoft Office and reverse engineer the format? Well they can but never perfectly. It’s a heck of a lot of work to reverse engineer products and decipher file formats so that they work consistently 100% of the time. Besides which at any point in time the developer might go and change the implementation and you’re back to square one.
There’s a reason that people value standards from recognized standards organizations much more than even freely available specifications from a vendor – it means that the format is controlled by an unbiased body. It means that the company publishing the specification can’t just suddenly publish a new version and expect people to keep up and it means that the specification gets reviewed to ensure it’s actually quality. Expecting people to go back to the dark days of reverse engineering applications to discern file formats is not only bad for developers, but bad for users – it kills interoperability. It destroys one of the key features that Scoble was asking for.
Having open source reference implementations is a great way to nail down those final bits of the specification that you might have missed, but that doesn’t excuse you from nailing down as much as you can with clearly documented specifications and it only works if the source code is freely available so that people can easily check the exact behavior of the application.
Microsoft may consider vendor lock-in a feature but the rest of the world is moving towards being friendly to users and going out of their way to avoid lock-in (see the update to my last entry on FeedBurner being excellent at this and Sun’s move to give a blanket promise that they have no IP over the open document format). Users care about it more and more too – that’s why Massachusetts is demanding open file formats and why the NSW Office of State Revenue is thinking of ditching Windows because of licensing lock-in.
Welcome to the new world Scoble, you mightn’t be thinking long-term interoperability yet but a huge range of other users and developers are. It’s time to demand better, more open specifications so that everyone can play.
Update: The Fishbowl provides some more detailed information on what’s wrong with the OPML spec and hopefully clarifies why this is such an annoying discussion for developers and maybe if you read it with an open mind you might see why this is going to come back and bite users on the backside.