So Microsoft - oops, Nokia - has released a new phone. And new Android phone, at that. It looks solid, as most Nokia hardware is, and having an almost-zero-effort porting story for existing Android apps might make it more of a hit than would otherwise be expected.
To me, with a little hind-sight, this doesn't come as a huge surprise. Windows Phone, despite a few fans claims, isn't a big success, and with Satya Nadella at the helm, I can easily see the focus of the company shift a lot from Windows / Office to cloud, services and tools.
Simon Bisson has a good take on one possible aspect, in a Star Trek-laced article called The Xamarin Maneuver:
Using The Xamarin Maneuver means that Microsoft doesn't need to play the game that's expected of it, a game it can only lose. Instead, it's able to play another game, one with different rules. It might not win, but it's certainly got a fighting chance.
He makes some good points, especially this
Much of the analysis of Windows Phone has been focusing on it as a platform. But that's the old Microsoft. The new Microsoft is a devices and services business, where the devices are all devices, and the services are all services.
While Windows Phone is important to Microsoft, it's just one device, and one endpoint for a wide array of services. Those services can also target iOS and Android, whether Google's branch or the various AOSP forks. What developers need is one way of building the apps that work with those services, no matter what platform they're targeting.
With the development of the Nokia X app, we wanted to push our common layer forward, onto a non-Windows platform. We had previously investigated and shown a basic Windows Phone app running on other platforms using Xamarin. Xamarin provides a fantastic runtime and tooling support to deploy .NET code on platforms beyond Microsoft’s own. This means that our development teams can build for an entirely new platform with the tools that we know best and again reuse the shared code that we have been developing. Also with Xamarin’s recently announced partnership with Microsoft the platform now officially supports PCLs which makes it an even better fit with our target architecture and the existing common feature library.
If you think about this "new" Microsoft, look at Google for reference. Microsoft's growth areas are things like Azure and Office365, the old guard of a locally installed Office and Windows is still bringing in a huge amount of cash, but it's stagnant, especially compared to the sharp growth of tablet and mobile.
These new services benefit hugely by being on every and all platforms, equally, in the same way that Google benefits having their services on all platforms. Thats why the Xamarin Maneuver makes sense: Microsoft can write apps which enable their services in a language they mostly control (C#), using tools they create (Visual Studio), but target every platform which is important - iOS, Android, Web, Windows and Mac.
I think the Nokia X thing is interesting, and unlike others, I think it's a valid strategy for Microsoft to pursue. They make little money on Windows Phone, and possibly more money on Android, so why not embrace both platforms and ensure that their users can use every platform.
There is only one thing that still surprises me: That Microsoft haven't bought Xamarin. I hope they don't, but I can only assume that they have tried.
As a total aside, back when I was an MS MVP in about 2003 - when Vista was Longhorn - there was a "sources close to" rumour that Microsoft had the front end of Longhorn - what is now WPF, WinFS and WCF (web services) - running on Linux. I don't know if it's true, but the source was solid (internal Microsoft).