Catching up to Microsoft

Nicolas Petreley the Editor in Chief of the Linux Journal wrote an interesting editorial rant in the February 06 issue titled “Skim Cream not Scum”. I agree with his point for the most part, but I think some of his examples do not really support the case he is trying to make.

Petreley thinks that the Open Source community in the last few years tries to blindly ape all the Microsoft software products. This is not intrinsically bad – you do want to take example of market leaders. However, most MS apps are aped over lock, stock and barrel including all the design flaws, and Very Bad Ideas™ such as registry.

I do agree with this for the most part. The wholesale copying of MS designs is stupid, and it hurts innovation. One should strive to copy only the good ideas, and redesign bad ones from ground up.

However, Petrely might be wrong bashing and KOffice developers. MS Office is flawed, and sometimes downright annoying, but for the most part, it is the best damn office productivity package on the market. It is the de-facto standard for corporate office work. To compete with MS office, one has to first duplicate the functionality of the said product. Without providing users compatible features, there is no incentive to switch away from the market leader.

If you can’t provide 100% compatibility with the market leader due to monopolistic practices, the innovation must take the rear seat. No amount of innovation will help you, if your users can’t seamlessly open and manipulate their old Word and Excel documents in your application. OLE may be a stupid idea, but it is something that MS Office users want, and take for granted. How can any office product compete with MS if users can’t access their embedded spreadsheet? Or create one? and KOffice developers will probably play catchup with MS for years to come, until the new Open Document Format is established enough to even out the playing field. Their original goal was to to provide equivalent alternative to MS Office. To compete with the dominant, superior product, you need to play the catch up game. Even if that involves duplicating bad design concepts, for the sake of compatibility.

As a software engineering principle, replicating design flaws is unforgivable. But in the real world, sometimes you have to do it. In the end, we write software for our end users – and if end users want Very Stupid Feature™ in their app, who are we to say they should not have it? If we don’t deliver it they will find someone else who does.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: