Microsoft has announced some of the details of the new Windows Phone 8 system - and if you have been following the plot there are few surprises. The main thing is that the upgrade to the new Windows Kernel, and essentially WinRT, means that this is a new start and WP7 is dead.

Windows Phone 7 provided a development environment designed around managed code and Silverlight in particular. Windows Phone 8 is supporting WinRT and aligning with the other Windows 8 systems - desktop and tablet. This really cannot be a surprise to anyone, as maintaining one environment for Windows Phone and another for the rest would have been the final sign that Microsoft had lost it grip on reality. In this case moving to WinRT is the only logical thing to do.

What all this means, however, is that for the consumer, and for supporters of Windows Phone, any loyalty or support has just been rewarded by a kick in the teeth. The new system needs hardware resources that just aren't present in current handsets. In other words, if you have a Windows Phone 7 it will remain a WP7 for the rest of time - no upgrade is available. This applies even to brand new models such Nokia's Lumia. This must be a particularly bitter pill for Nokia to swallow. After betting the farm on WP7, it now has to tell customers that everything they bought is legacy. On the plus side, Nokia seems to have a WP8 prototype ready.

This situation is made worse by the simple fact that, while a WP8 phone will run old WP7 Silverlight and XNA applications, any new WP8 apps won't run on a WP7 phone. So not only are WP7 phones not upgradable, they are essentially not even going to be able to get any new apps tailored for WP8.

The only concession is that when WP8 ships Microsoft will make available a final upgrade to WP7 - WP7.8 - which will bring the appearance of the new WP8 Metro- based interface and some of the new facilities. This might make some users feel better ... until the killer WP8 app becomes available and they discover they can't run it.

The new OS is based on Windows NT core rather than Windows Embedded Compact. This brings a unity with the desktop and tablet operating environment - NTFS, network stack, DirectX and device drivers are all the same across all of them.

WP8 does have some interesting hardware requirements including multicore processors, up to 64, and built-in NFC. However, you can't help but wonder how much of this extra processing power is needed to enable the dual support of managed code and Silverlight and the new WinRT. The promise that WP7 apps would run on WP8 might just be a very expensive promise. The new screen resolutions are 1280x768, 128x720 and the old 480x800.

From a developer's point of view the situation still isn't' clear. It seems that the tools are the same but the APIs are identical to the desktop version. While XNA and Silverlight are supported, Microsoft is giving clear advice that new apps should be written for the new APIs which are compatible across WP8 and Windows 8. Of course, such apps will not be backward compatible with WP7 which has now been essentially cut off from the future.

The advice is to use C#, VB, JavaScript, HTML and XAML if you want to create an app but C/C++ is you want to create a game. The reason is that C/C++ has easy access to DirectX. To quote the Windows Phone blog:

"Windows Phone 8 has full C and C++ support, making it easier to write apps for multiple platforms more quickly. It also means Windows Phone 8 supports popular gaming middleware such as Havok Vision Engine, Autodesk Scaleform, Audiokinetic Wwise, and Firelight FMOD, as well as native DirectX-based game development."

One interesting point is that Microsoft are claiming that they will use "cloud compilation" to re-compile existing WP7 apps so that they run faster. This will be done without the involvement of the developer. What is more the apps are compiled to machine code which is makes them load and run faster. This hints that more is going on in the support of Silverlight and XNA apps than just providing the environment they need to run. This is all still very unclear. It could be that Silverlight/XNA support isn't provided by hosting these subsystems on WP8 but by recompiling the managed code to run under the new API. If so this not only means that you have to focus on Metro apps - it means Metro apps are the only possibility for new projects.

The unification of WP8 and Windows 8 desktop and tablet is logical - but it was avoidable. The existing WP7 software environment could have been changed to provide all of the features of WP8 without the need for a restart and without the need to dump so many existing technologies.

The situation is a mess from the point of view of consumers and developers. What matters now is how quickly we all forget about the past and press on with the future.

If you would like to see the WP8 video presenation then this is available at the Channel 9 site. The section targeting developers starts at 1:29.

Don't take this too seriously, but if 90 programmers working on the Linux kernel were to be hit by a truck then the project, and hence Linux, would be toast. If a truck score of 90 seems good what abo [ ... ]