Tuesday 29 March 2011

Microsoft Closing up the operating system API

In the "growth" days of Microsoft, before it was the corporate giant it is today, Microsoft where very keen to get anyone and everyone using their software. One way in which they did this was by providing robust and well supported API's opening up the operating systems to developers and allowing easy extension of existing controls.

Over the last 5 years, Microsoft have been peice by peice clawing back the control of their operating system by slowly and subversively closing off UI accessiblity. This is not an idle claim, review the following examples:
  • Desktop Window Manager (Closed / Private API for all but TRIVIAL operations)
  • Windows Presentation Foundation (Closed / Private API unless you use / buy their .NET development products. See DirectUIHWND control which is replacing many controls in Windows 7).
  • Digital Rights Management (See IP6, Windows Media Player etc)
Now, of course, Microsoft want to still keep customers but at the same time ensure that the customer requires a continuing spend with their organisation. What has changed is they no longer want to keep customers by "giving them a bargin / open development platform". Not happy with the simple continuing spend of O/S upgrades and new technology they want to lock third parties out of certain areas of the operating system (leading to a monopoly control within their own solution with minority access given to the wider development community).

What they are seeking to do, is to tie customers to their product and force customers to use them, and them alone (though this is possibly the goal of most all big business sadly).

Abode I'm sure are partly to blame for this change in behavior. Adobe proved with Flash how a third party could "tie up" a market sector and "force" businesses to pay for their particular solution. The have done this repeatedly, PDF format being another "lock in" technology. Microsoft have tried to "reclaim" this sector with their "Silverlight" like for like solution but its just changing which company your locked into.

Whilst I appriciate all business needs to earn revenue to survive, business which feels it must "shackle" their customers to their solution is at best anti-competitive. Microsoft used to operate based on "incentive", that is, buy in to our solution we offer the best most flexible / simple (best?) solution. They used to do this well.

However, their direction right now is all about tying up the customer. A customer forced to stick to a provider due to artificialy concocted "reasons" (with an engineered technical reason) is not getting the best for their investment (since they no longer have the "power" of choice being locked to a single solution for reasons other than, superior service or reduced costs).

SHAME ON YOU MICROSOFT.

If you really do care about your customers, you will do the following:
  1. Provide FULL documented low level API access to WPF and DWM.
  2. Find OTHER alternative ways to protect your revenue streams. Ones which are based on serving the customer.
Finally don't just do this for the functions you have earmarked as "low profit" or "last generation". Expose and document the whole API (even if its only a one liner on a blog). Sure, you might mark some functions as not being supported yet or as volatile as sensible.

I susspect noone is listening.

I bought into Microsoft as was, I dislike the direction. Google sometimes seem to be inching in similar directions but so far they seem to have tempered this practice and kept it to an acceptable minimum.

No comments:

Post a Comment

What do YOU think?