Microsoft has been tight-lipped when speaking about the future of its mobile strategy. We knew Windows Phone 8 was coming, but that was about it. Yesterday Microsoft took the wraps of the new software experience for Windows Phone 8, and it’s a massive upgrade over Windows Phone 7.5. So massive, in fact, that existing users are going to find themselves left in the dust.

Microsoft doesn’t exist in a vacuum, though. You can’t understand what a mobile operating system is worth unless you consider the competition. Let’s sort out how the features in Windows Phone 8 stack up against Android 4.0 and iOS 6.

Home screen

One of the most visible improvements in the new Microsoft phone OS is the updated home screen. The tiles are still there, but now they are more dynamic, and dare I say, usable. One of the issues with the Metro-style home screen on Windows Phone was that the promise of live tiles never really came to pass.

First-party apps did some neat stuff by showing off your pictures or social content, but third-party apps failed to take advantage. It was hard to justify adding huge tiles to your home screen that didn’t really do anything useful. The new home screen allows you to resize tiles, like the Windows 8 Start Screen, and the tiles will go all the way to the edge of the display — no more of that odd gap on the right side.

The other big change is that when the size of the tiles is changed, the data it displays will be different. For example, if your SMS tile is small, it will only show an unread count. Make it bigger, and you get the text of the message right on the home screen.

This is all very cool, but Android is still the king of ambient information with its robust widget framework. Android added resizable widgets in Android 3.0, and many of them have additional capabilities like direct playback control and flick scrolling. Android is far more customizable, but it still differentiates between icons and widgets. Windows Phone has found a way to combine the two concepts in a way that makes sense.

On the other end of the spectrum, we have iOS. Apple has resisted calls to make the home screen more customizable. In fact, the iPhone home screen experience is almost unchanged from its 2007 debut. App icons do have badges to show notifications, but that is the extent of ambient information without opening Notification Center where you have a few pseudo-widgets.

It strikes me as bizarre that the weather icon still doesn’t display the current weather conditions on iOS. Maybe what Apple is saying is that it’s always 73 degrees and sunny when you use an iPhone, right?

Now that Windows Phone has managed to clobber iOS when it comes to customization without losing its aesthetic charm, it’s time for Apple to step it up. Android is sometimes ungainly, but still has the most customizable home screen experience.

The core software

Much of what makes Windows Phone 8 new and different is made possible by the switch to from the Windows CE kernel to NT. That’s the same code that runs at the heart of desktop Windows, including the upcoming Windows 8. Microsoft has confirmed that all the Windows Phone 7.5 apps will continue to work on Windows Phone 8, but that’s where the similarities end.

Windows Phone 7 used a controlled development environment relying on Silverlight and XNA. It was easy and user-friendly, but it lacked the power that many developers wanted. There was also little to no opportunity to reuse code from other platforms. With the new OS, say goodbye to all that.

By moving to a new framework, developers will be able to make use of native code in C and C++ along with SQLite and DirectX to make better, faster apps. Microsoft’s big advantage here is that developers will be able to reuse large swaths of code from desktop Windows on Windows Phone, especially on touch screen devices like Surface. Many Windows 8 programs will simply work on Windows Phone 8 without any modifications at all.

All of the best games on iOS and Android are written in a similar way. Apple gives developers simple tools to access the hardware in Xcode, which is why games run so well on that platform. The limited hardware ecosystem makes it easy to target devices.

Android development is a little more unusual. Android runs a modified Linux kernel at its core, but there isn’t any cross-compatibility. Most apps are coded in Java, which is non-native. However, the platform does support native code for more intensive apps. Hardware differences make this a little trickier, but the support is there.

Next page: Hardware support, apps, and updates