Microsoft Surface Duo and Neo: The Software Developer Perspective

Microsoft’s hotly-awaited Surface event landed today, and it didn’t disappoint. Surface head honcho, Panos Panay, announced two wholly new dual-screen devices: the tablet-sized Surface Neo, which will run Windows 10X, a new version of the OS optimized for the form factor; and the Surface Duo, a phone-sized device which will make calls, send texts, and “run every single app in the Android ecosystem.” 

Panay highlighted that these devices were being announced far in advance of their ‘holiday 2020’ release date because Microsoft “want to bring developers on the journey with us.” In other words, they want apps on the devices to be taking full advantage of the dual-screen functionality shown off in the demo from Day 1. To do that, they need to bring devs along for the ride.

But what’s the ‘dev story’ for the Neo and Duo?  

Here the plot thickens – the two devices are running completely different operating systems. 

The tablet-sized Neo will be running Windows 10X, a new version of Windows 10 optimized for the dual-screen experience. 

The phone-sized Duo will run Android. From Wired: 

The Surface Duo that Panay has been carrying around for six months is black, not white, and it’s running a version of Android 9 Pie that’s been tweaked to support the dual screens. 

In that same story, CEO of Microsoft, Satya Nadella downplays the significance of having two different OS’, saying “How people are going to write apps for Duo and Neo will have a lot more to do with each other than just writing a Windows app or an Android app, because it’s going to be about the Microsoft graph.” But it seems obvious that taking advantage of dual screens will pose numerous OS-agnostic UI and UX challenges. How many app devs will relish writing their app twice, once for the Neo and once for the Duo?

Neo + Duo = Uno

 That’s where Uno Platform enters the picture.  

SPECULATION ALERT: There was almost nothing said about the dev experience during the Surface event, which was almost entirely consumer-oriented. Hopefully we’ll receive more details in the weeks and months to come, but until then, let’s try to fill in the gaps.We will follow closely so stay subscribed to our blog RSS feed for further updates.

It’s a good bet that the native app model for the Win10X Duo will be the WinUI framework (aka UWP), Microsoft’s existing framework for Windows 10 apps on both desktop and Surface (as well as HoloLens and Xbox). WinUI 3 is coming in early 2020, and will start shipping ‘out of band’ instead of being bundled with the OS, giving app developers more control. A post accompanying today’s event on the Windows Experience blog seems to support this:

“For those of you not familiar, there are a common set of shared technologies in Windows 10 that unlock a whole host of devices across the spectrum from consumers to businesses and industries. Internally, we call these shared technologies ‘one core’ but what matters most to customers is what they enable. Today, we build desktop PCs, Xbox consoles and HoloLens using this technology. Windows 10X joins the family, built on the latest investments in these shared technologies including newly implemented support for running Win32 applications in a container.”

The good news: it’s possible to run WinUI apps on any Android device today -using Uno Platform. This includes the Duo. With the help of Xamarin, Uno does the hard work of taking a WinUI app written in XAML markup and C# code, and compiling it down to native UI. 

Will WinUI add new APIs to support dual screens? We’ll have to wait and see. If it does, will Uno make sure they work on Android? You bet we will. You should jump into Neo and Duo development with Uno today.

 Featured image: The Verge

 

 

Share this post: