I’ve been writing a retrospective on Microsoft and noticed an intriguing pattern.
When Microsoft was fighting the browser wars, it first of all developed its own web browser, and then added COM (ActiveX).
When Microsoft was countering Sun’s Java, it came up with its own implementation, Visual J++. Key differentiator: COM integration.
When Microsoft was responding to Adobe Flash, it came up with its own implementation, Silverlight, and then – you guessed.
The reason is that COM is the gateway to everything Windows; but it is a frustrating habit for those who want to live in a cross-platform world.