The waiting is over.
Army is assembled and in the field already.
Facing enemies that are stronger then ever, already entrenched & most likely packed with surprises.
The forthcoming battle may answer a very important question - is there still a place for Microsoft in post-PC era? A significant one?
The counter attack
It's very clearly visible that Microsoft has learned a lot & change a lot since Satya Nadella took over the CEO chair. It seems they've realized that their platforms' declining market share is due to:
- failing in attracting the developers
- ignoring the voice of community (perceived as arrogance)
- relying on Enterprise as a trend-setting / standard-setting force
- not paying attention to evolving business models (for instance: licencing models)
- limited understanding of the competition's success factors
Outcome was more than visible - .NET is not perceived as innovative platform anymore, it has lost its 'cool factor' - all the meaningful innovations & the trendiest products in past few years (like Hadoop, Akka, Mesos, distributed NoSQLs) have been shaped using different tools / platforms.
Microsoft has done a lot to recover the field:
- opening their platforms (open sourcing, Mono support)
- reasonable partnerships (Xamarin, Raspberry Pi, Cordova)
- huge shift in their commercial model (Windows 10 upgrade for free, Visual Studio Community Ed.)
- getting out of Windows (.NET out of Windows)
- Visual Studio as universal IDE (Android / iOS development using C#)
Recent releases of Windows 10 & Visual Studio 2015 are the closing brackets of new Microsoft opening.
But there may be far from enough ...
Twilight of Windows era?
The truth is that even if Windows 10 looks great & it focuses mainly on true usability improvements (exactly what users would have expected), barely anyone will care. People want cool apps, apps are written by developers & developers ... well ...
The ones who are still on Windows doing .NET stuff are a bit more likely to remain there, I admit. But the rest of the world has barely any reason to even consider moving to Windows - all Microsoft did was to put great effort in chasing the competition, but it has failed in having any unique platform-selling features.
Without developers picking Windows/.NET as their platform of choice, nothing will improve for Microsoft. And people won't really need Windows (or PCs) anymore, as many of them have already realized.
Are they betting on a good horse?
When their mobile platforms & stores have failed, Microsoft has decided to grab a piece of other players' cakes: the eager investment in cross-platform tools & frameworks (Cordova, Xamarin) is the greatest proof.
The main problem is that it's a very risky path: native platform owners (like Apple or Google) can easily (& silently) block / hinder development (& maintenance) of cross platform tooling. Obviously, Microsoft will have some allies alongside (like Xamarin), who won't be reluctant to raise their voice if needed, but it may not be enough. It's not without reason that none of those solutions has achieved a significant success yet - developers still prefer to go native. And opinions like that make me believe that we're still far from reversing this trend.
Not all is lost though
The goal for Microsoft is to save some time by stopping developers from leaving .NET world for good. Once this is done, further steps will proceed. The key point is to revitalize / hijack the community. Convince, bribe, charm, seduce: do whatever it takes to make devs believe that .NET is still a viable option with a bright future ahead.
When this happens, products will follow & cogs will propel themselves.