That could be the answer to Microsoft's infamous "app gap" problem. To say that Microsoft has had a hard time convincing developers to develop for Windows phone and the Universal Windows Platform (UWP) would be an understatement.
The Windows Store has always lagged significantly behind the App Store and Google Play. Sadly, even after the introduction of Windows 10 and OneCore (and the anticipated boost they could have provided), the Windows Store still boasts less than half the apps Apple's and Google's platforms offer.
The app gap trap
Data proves most people spend most of their time with just six core apps, rarely search app stores, and many of the millions of apps in the top app stores are never downloaded. Despite these facts the warehouse of apps model still dominates. As such, developers are compelled to get their apps into the App Store and Google Play, due to the hundreds of millions of mobile users to whom those stores cater.
Sadly, Microsoft has very little smartphone audience to speak of. Thus, even with over 400 million Windows users, primarily on PCs, Microsoft has not been able to make a compelling argument to mobile-motivated developers to develop for the UWP. Moreover, Microsoft's Windows on phone strategy is currently in a state of transition.
An enduring lack of new first-party devices invokes further doubts in developers' minds about the future of Windows on mobile. The past failings and the current state of Windows phone seem to solidify the notion that there are only two distinct platforms in the mobile space worth targeting: iOS and Android.
Despite the challenges that Microsoft has faced in the smartphone space, I believe its leadership is convinced that it has a strategy for mobile. As a provider of a range of development tools, Microsoft is positioned to elevate Windows to the same priority level as iOS and Android in the minds of developers. With Xamarin, Microsoft can create a single mobile target and "universal" app development platform. (Xamarin is a company founded by CEO Miguel de Icaza and CTO Nat Friedman in 2012, and it gives developers the tools to use C# to share code across various mobile platforms such as Windows, iOS and Android.)
Before it does, however, it must reassure developers that Windows still has a position in mobile.
Still in the mobile game
Given the news of Microsoft's move out of producing phone hardware, the quarterly "Windows phone is dead" articles have made their ritualistic appearances. Despite what you may have read, Microsoft's Windows on phone strategy continues unhindered.
First, Microsoft is still developing the platform that runs on mobile hardware. Thus, OEM partners such as HP, Alcatel and any other OEM who wishes to, can continue to use Windows to power mobile hardware. Second, I have persistently argued that the next phase of Microsoft's Windows on mobile vision would not be a phone, but an ultramobile PC with telephony.
This category defining, Continuum-powered device will, in my estimation, be running full Windows on ARM with Cshell. Microsoft no longer making "phone" hardware makes perfect sense from this perspective. Third, I've argued that full-Windows, always-connected cellular PCs, which are expected later this year, would serve as a segue from Microsoft's current Windows 10 Mobile phone-focused paradigm to the full Windows 10 on ARM ultramobile PCs I envision.
Cellular PCs are part of Microsoft's mobile strategy to move always-connected and eventually telephony-enabled PCs into the mobile, not smartphone, space. Thus, Windows is still a viable mobile platform for developers to build for despite the erroneous claims that Microsoft is leaving mobile.
At the Build developer conference this year, Microsoft will likely stress the coming OEM-supported category of highly mobile cellular PCs (no mention of the subsequent ultramobile PCs or Surface "phone" is expected) to draw developer attention to the company's current phase of Windows in its mobile play.
Microsoft hooking developers into the company's narrative for the mobility of Windows is key to Microsoft winning developers to its Xamarin-enabled development vision.
What is Xamarin?
Xamarin had been an active partner with Microsoft up to its acquisition by the Redmond company in 2016. Freidman said the following of the acquisition:
We founded Xamarin more than [four] years ago with the mission to make native mobile development fast, easy, and fun and to help C# developers build beautiful mobile apps and reach billions of devices. We love the native iOS, Android, and Mac APIs and we love C#, and this acquisition is an ideal next step for us and for our customers.
The companies' shared visions are to enable developers to use a comprehensive singular development tool to develop apps for multiple platforms. "Write once, publish everywhere" is the central and ambitious vision. Microsoft's Scott Guthrie, executive vice president of the cloud and enterprise group shared Microsoft's perspective of the acquisition:
With today's acquisition announcement we will be taking this work much further to make our world-class developer tools and services even better with deeper integration and seamless mobile app dev experiences. The combination of Xamarin, Visual Studio, Visual Studio Team Services, and Azure provides a complete mobile app dev solution that provides everything you need to develop, test, deliver and instrument mobile apps for every device.
With Xamarin as an integral part of its app development platform, Microsoft is positioned to provide developers with the tools to target Windows, iOS and Android as a single composite mobile platform. Such a Herculean task will require more than explaining the merits of the tools to developers, however.
Microsoft has to embrace the challenging task of composing a message that changes the way mobile is perceived by mobile-focused developers who see the term as strictly Android and iOS.
Xamarin, one mobile platform to rule them all
Microsoft has positioned itself as a platform company and has a goal to provide users with the tools to "do more." I believe that Microsoft wants to position itself as a dev box to help mobile developers do more than target the disparate mobile platforms that are iOS and Android.
The personal computing landscape is increasingly one where a user's digital experience not only transition from device to device but also moves across ecosystems. For instance, many people have a Windows PC but also use a mix of Microsoft and other apps on iPhones and Android phones.
The personal computing space is not a hodgepodge of disparate segments, as it may seem. With Microsoft's cross-platform development efforts and efforts to integrate Android and iOS into the Windows ecosystem, it is clear that the cloud-supported personal computing space is becoming less about distinct platforms.
Composing the single development platform message
I believe that Microsoft should arrest this message on the development side of the equation.
Currently, when developers think about developing for mobile, Windows is rarely a consideration. If it is considered, it's often as a second tier priority, if an individual's or company's resources will allow.
The app bridges, though well-intentioned, reinforce this thought pattern as they beckon developers to take their first-tier iOS and Android code and convert it to the "second-tier" UWP. In essence, the bridge philosophy does nothing to raise Windows to a first-tier consideration in the minds of developers. It supports the continued thinking of three distinct mobile platforms, of which iOS and Android are the targets and Windows is an "if-you-want-to-but-don't-really-have-to" platform.
Microsoft must compose a Xamarin message that eradicates the platform distinctions.
As all mobile platforms are designed to offer the same fundamental mobile experience, I submit that an ideological eradication of platform distinctions is (or should be) Microsoft's goal. In other words, Microsoft needs to change how developers think of mobile.
To raise Windows to a first-tier target the company needs to encourage developers to see mobile as a single target that is a Windows-iOS-Android composite rather than three distinct platforms. With Xamarin, Microsoft has the tools to do just that:
In conjunction with Visual Studio, Xamarin provides a rich mobile development offering that enables developers to build mobile apps using C# and deliver fully native mobile app experiences to all major devices – including iOS, Android, and Windows.
Positioning the 'universal' app development platform
As an industry-wide provider of development tools, Microsoft could promote Xamarin to the millions of developers who are currently writing apps for iOS and Android, as well as Windows. Ideally, Microsoft will have put in the investments to make Xamarin a powerful, desirable, efficient and accessible development tool to encourage developers to use this single tool for cross-platform development.
If successfully positioned both technically and ideologically, Microsoft could encourage iOS and Android developers to use Xamarin to continue with their mobile development objectives while "seamlessly" incorporating Windows into that vision.
If this is Microsoft's strategy, the company likely hopes that developers who are inclined to use Windows as a development platform will be enticed to target Windows as an app platform. Though changing minds is an ambitious goal, this strategy has the potential to alter the perception that iOS and Android are synonymous with mobile.
If Microsoft is successful, "mobile" will be seen as a single Windows-iOS-Android platform, and Microsoft with Xamarin will be regarded as the industry's development platform for that newly defined mobile target.
Build 2017 is around the corner. Along with a push of project Centennial to bring Win32 apps to cellular PCs and eventually an ultramobile PC, I expect a strong push toward Xamarin this year.
What are your thoughts on a potential positioning of Xamarin as a universal app development platform?
We may earn a commission for purchases using our links. Learn more.