We are getting close to the final version of Windows 8 and now we know a lot more, but not everything, about it. Now is a good time to consider this soon-to-be-historic move from the Windows we have been using to the technology shift heralded by Windows 8, and reflect on how we should respond to it.

Microsoft took the stage this month (June 18, 2012) with a fierce demonstration of prestidigitation in presenting its Surface tablets and Windows Phone 8. On reflection it isn't so much what was said but what was left unsaid (and that way that we were misdirected) that proves so interesting.

One of the problems of trying to analyze anything close to a presentation is the brainwashing effect. It takes time to see the flaws in the argument and where the argument is in fact better than presented. So it is with the latest Window 8 circus.

We have had the Surface and Windows Phone 8 in quick succession. It is not that Microsoft has been lying - it doesn't have to. It can achieve all it needs to by simply omitting detail and using the stage magician's best friend - misdirection.

Unity of the common core

What is the single biggest advantage claimed for Windows Phone 8 and the Surface tablets for that matter?

The simple answer is that the use of a common core for the OS brings with it the advantages of unification. You can develop software for a single target, more or less, that runs on the main platforms - desktop, tablet and phone. What more could you possibly want. It is clearly a good idea and one that might make Microsoft's approach a winner.

This is all true but when you look a little more carefully things aren't so clear cut. The unification that a common core brings aren't quite as - unified.

The common core runs on four distinct platforms - as Windows 8 on desktops and x86 Tablets, as Windows RT on ARM Tablets and as Windows Phone 8 on phones.

These may have a common core but they don't all support the same environments.

So if you have an existing Win32 desktop app then you are out of luck as far as the benefits of unification go.

Only the new Metro apps can run on all systems.

This means that if you want the benefits of the future you need to write Metro apps and rewrite your desktop apps to run as Metro apps.

Metro - what is it good for...?

Well I suppose its a trade off, unification is worth something but we need to be clear that this isn't unification of Windows - its something new that unifies the distinct platforms WinRT/Metro. It would have been more honest if Microsoft has just issued a new operating system rather than trying to maintain the myth that this is "Windows reimagined".

So we have to move to a new environment to get the benefits but there are distinct problems with WinRT/Metro.

It is designed to run on a limited machine and as such it gives up multitasking and overlapping windows. It is limited. So much so that On Windows RT Microsoft has had to implement a cut down and private version of Win32 so that Office and other apps can run. It even has to permit a sort of cross between WinRT and desktop working to get IE 10 to behave properly.

So not even Microsoft believes that a Metro app can do everything - if it did we would have a Metro version of Office.

If it did a simple Metro version of IE10 would do but it has even had to twist the rules to allow Metro IE10 to access some fo the desktop APIs.

Clearly there is something lacking in WinRT/Metro.

We are also told that there is great continuity in all of this - its is the old Windows you know and love. Up to a point but it is also the new WinRT that currently seems to be full of bugs and new "features" that developers are still having to cope with.

In particular the newer "ghetto" of WinRT development - JavaScript HTML - is best described as being in a state of constant development. Currently you can't write an app that you can rely on being able to run at the next upgrade. If it is lucky enough to run at the next upgrade then the chances are it isn't using the provided framework correctly.

The same is true of the other development environments but less so.

And yet we are asked to believe that Windows 8 will go to manufacturing some time in July ready for an release a little later in the year.