"Cloud first, mobile first" has been the new Microsoft's rallying cry for a while now. But at its Build developer conference this year -- and beyond -- Microsoft's message is likely to be more akin to cloud first, Windows second.
In part, the reason for the shift has to do with Microsoft's lackluster performance in the mobile space with Windows.
Windows Phone's market share is hovering around one percent. That position weakens the company's Universal Windows App (UWP) value proposition, since one of the main legs of the UWP stool, Windows 10 Mobile, just isn't all that attractive to many developers. Microsoft officials have maintained that UWP made the idea of turning a Windows 10 app into a Windows 10 Mobile app relatively trivial, but many developers have only half-heartedly embraced that proposition.
Microsoft has tried to compensate by developing mobile apps for iOS and Android. It also bought mobile-tool maven Xamarin earlier this year.
Following the Xamarin purchase, many of us Microsoft watchers predicted that Microsoft's next move might be to shift the company's focus from Universal Windows apps to Universal cross-platform apps. Given Xamarin's core business is all about getting .NET developers write native, mobile iOS, Android and Mac apps, couldn't Microsoft now claim to offer developers a way to write apps that were truly cross-platform, not just cross-Windows-platforms?
"The acquisition of Xamarin and its brilliant engineering resources is the next logical step to making UWP really universal," said Tim Huckaby, Founder of Interknowlogy, echoing the sentiments of many Microsoft watchers and developers. "UWP being truly universal is what the entire dev ecosystem is waiting for and what it is counting on. The dream: End-to-end, from design through develop through lifecycle with one set of tools in Visual Studio. And now the dream certainly looks like it is becoming a reality."
But an even bigger positioning shift may be happening, some argue. Microsoft seems to be moving from the "cloud and mobile" to the "cloud and beyond mobile" direction, observed another contact of mine.
While it's true that Xbox and HoloLens, not just Windows Phone, already are part of the current UWP ecosystem, the new reality is that it's the cloud, not Windows, that's the center of the new Microsoft's universe.
"Honestly I don't think UWP will become truly 'universal,' if for no other reason that in its current form its way too tied to Windows and Windows ideas," said Shmueli Englard, Software Developer at Lufthansa. "And I think Microsoft knows the folly of trying to make a write once, run everywhere platform."
The reason Microsoft CEO Satya Nadella originally coined the "cloud first/mobile first" Microsoft mantra was because mobile devices increasingly are connected to and dependent on the cloud. Attracting consumers and business users to Microsoft services has been an increasingly important goal for the company. But Microsoft still has a way to go to convince developers as to why Azure is a necessity.
The times -- and expectations -- are changing, though.
A big part of the reason Microsoft is pushing the "Microsoft loves Linux" message these days is because Linux is key to the growth of Azure. More than a quarter of the virtual machines on Azure are Linux ones, and many startups and other developers are doing a lot of work on Linux. To attract developers to Azure, Microsoft needs cross-platform .NET with cross-platform tooling.
At last year's Build conference, Microsoft took the wraps off a preview of Visual Studio Code for Mac OS, Linux and Windows, which is lightweight, cross-platform editor. At the time, Microsoft execs noted VS Code was just the first of what would be a family of cross-platform development tools.
"The right move for Microsoft would be to completely integrate Xamarin into Visual Studio (and later into VS Code) and make it a place to build apps for all client platforms," said another developer with whom I talked recently, who requested anonymity. "The 'better together' story would be less about Visual Studio plus Windows and more about Visual Studio plus Azure. Get as much code running on Azure as possible. Get as much data onto Azure as possible. And make Azure the center of gravity for corporate computing."
In the near term, integrating Xamarin even deeper into Visual Studio and Azure is as much -- if not more -- about creating a more affordable bundle as it is about actually further intertwining the two technology stacks, company watchers say.
"One big thing holding Xamarin back in terms of widespread adoption is its cost. At $2k/developer it is prohibitive for a lot of scenarios, and that has been driving people to less productive and robust tools such as Cordova. But if we all get cross-platform .NET as part of our existing MSDN that radically changes the equation -- in a way that favors the use of .NET," blogged Rockford Lhotka, Chief Technology Officer of Magenic and creator of the CSLA.NET development framework.
Another key element to watch will be how Xamarin Forms evolves, said Gary Pretty, Technical Strategist, Mando Group.
Xamarin Forms is a cross-platform toolkit for building UIs that can be shared across Windows, iOS and Android. Xamarin has the capability to build UWP apps as part of its Xamarin Forms offering, which is currently in preview but should be available soon.
"Once the UWP bits (of Forms) come out of preview, I think it completes a puzzle which has been coming together for some time," Pretty said. "Up until now Xamarin have had project types for us to build IOS and Android apps using C# (Xamarin.IOS and Xamarin.Android). Then, within the Microsoft eco-system we have had the ability to write UWP apps using Microsoft's tools, but again with C#. Finally we will have Xamarin Forms supporting all three. So, a developer can either target a specific platform or target multiple platforms at the same time."
While we will no doubt hear quite a bit more at Build 2016 about Microsoft's plans for getting more developers to write for Windows 10, top management's bigger priority seems to be appealing to developers regarding cross-platform and Azure. At the crux of that mission will be fleshing out Microsoft's cross-platform framework, development tool and data-access plays.