Page 1 of 2
To a programmer logic is everything. We explore Microsoft's current approach to its technology, its tools and its developers and conclude that it is not led by logic.
Microsoft increasingly gives the impression that it is a company that has lost it. Lost its direction and forgotten its history.
They say that those who cannot remember the past are condemned to repeat it and so it is with Microsoft.
But what is the exact nature of the repeat....
At this year's MIX Microsoft people started to talk about IE10 in terms of "native HTML5". This is puzzling as anyone who knows about HTML5 will immediately realise that HTML5 is "native" and can't really be anything else. All browsers support HTML5 natively and it hard to think how they could manage to do anything else!
Yes, this is another Microsoft marketing ploy. An attempt to make a difference between its browser and everyone else's browser while trying to maintain that it is supporting standards.
It is one of the big problems with deciding to implement a product to a standard in that it gives you very little scope to make your product stand out. Standards make everything the same grey blandness and all that is left to compete on is how well you manage to achieve the grey uniformity.
This is clearly not something that marketing departments like and it could well account for why Microsoft so often breaks ranks on a standards implementation. It has done it before with IE6, IE7 and IE8 to greater or lesser degrees and while Microsoft may have take a logical decision to support standards - it will still find it hard to go through with.
However there is more to this "Native" moniker than meets the eye. Dig a little deeper and you discover that what Microsoft seems to be going on about is integration with the operating system. This too is a well trodden and rejected path for Microsoft and it's an example of the current Microsofties' lack of understanding of how the company got to be where it is today.
To quote from the MIX press release:
The only native experience of the Web and HTML5 today is on Windows 7 with IE9. IE9’s approach to taking advantage of what the operating system offers
For IE9 this simply means integration with the operating system. So we are looking at facilities like jump lists and direct use of DLLs and subsystems that other web browsers might have to ignore if they are to run on a range of platforms.
This attempt bring native HTML5 to Windows therefore seems to have two components - integration with the Windows Shell and integration with Windows subsystems. Let's look at each in turn.
The biggest and most obvious sub-system that other browsers have to mostly ignore to achieve platform independence is DirectX - the Windows graphics environment. Other browsers make use of open source graphics systems like OpenGL to get the job done and Windows has only poor support for OpenGL unless you go to a lot of work to improve it.
So DirectX is a defining characteristic for a "native" browser running on Windows. It is something that can be added to the spec sheet to differentiate IE from other browsers without breaking standards compliance.
Or can it?
It all depends on whether you count WebGL as part of the HTML5 standard. It isn't really but it is a complete and finalized standard and most of the current "modern" browsers support it - Chrome, FireFox, Opera etc... except, of course, IE 9 and presumably IE10. When asked for comment about WebGL Microsoft usually declines or talks about something tangential. Currently the standard response seems to be that WebGL is about gaining access to the GPU which you don't need to do in IE9 because it does it automatically.
Of course WebGL isn't about using the GPU but it is about 3D graphics. Ask Microsoft how to write 3D graphics in IE9 and there is no answer and currently there is no answer in the case of IE10 but given the previous comments it is more likely that any new 3D graphics will be based on DirectX as this would provide a more "native" experience. This could be done by implementing the same WebGL bindings but to DirectX instead of OpenGL but without a lot of work to convert OpenGL shaders into DirectX shaders this still wouldn't be standards compliant. More to the point it would be a clear implementation of WebGL/OpenGL on Windows and nothing for the marketing department to crow about.
Without 3D IE isn't a modern browser and with non-standard 3D IE isn't a modern browser.
Microsoft has been down this road before back in the early days of 2D graphics in web pages when it "preferred" its own 2D graphics solution to the SVG standard. It is arguable that this refusal to support SVG set the progress of the web app back by 10 years and HTML5 is not the revolution we deserve but the catching up. Now we have the introduction of 3D graphics into web pages and guess what - Microsoft is once again the spoiler for more or less the same reasons.
History is repeating itself.