My thoughts — Surface Duo developer for over 880 days
Since November 19, 2019 at 7 pm German local time I was busy with the development for the Microsoft Surface Duo and thus for smartphones which have more than just a screen. In these now well over 880 days I went through many valleys of tears but also through many moments of pride regarding my spare time occupation of software development. One thing has always remained: The curiosity about the uniqueness of this new class of devices for developers as well as users. Only for the daily use it has not been enough yet.
In this article, I specifically discuss my journey with the Surface Duo, Microsoft’s developer community, and my personal experience with Microsoft’s first Android device. I cannot promise whether and if so, how the following can be transferred to other “new territory” devices like the foldables from Samsung or Huawei or to the side-flipping but already buried LG Wing.
My entry into the Duo world
It all started on the same day when Panos Panay introduced the Duo. Until then, I could not imagine Microsoft jumping on the Google bandwagon and launching its own Android phone with the Play Store from Mountain View preinstalled.
Like many other interested people at the time, I was particularly attracted by the hardware, the hinge and the “newness” of the device. Things that I did not know from my bread and butter development for iOS and iPadOS, and at the time I was desperately missing them.
Microsoft had already made the first developer tools available on GitHub quickly after the announcement. What is now considered “as usual” was still a novelty in 2019. What surprised me at the time was that the support for Android Studio was initially much more pronounced than for the in-house Visual Studio and ran far more stable than for Visual Studio for Mac.
It was also quickly clear that I wanted to share my enthusiasm for the new device. Thus began my very first long series of posts on Dr. Windows. My diary about the development of the #rTsd app — My “Road To Surface Duo”.
A big point that kept me going was the free choice of technologies that I could use to develop for the Android from Redmond. Xamarin, Flutter, Android and now Jetpack Compose. So it is and was the perfect playground to be able to try out new things from software development in my spare time and still be able to exist through a concrete scenario.
It should be mentioned here that not every ecosystem is supported equally well. Native Android development via XML seems to be the most advanced at the moment. Whereas .NET MAUI, or its de facto predecessor Xamarin, plays a more stepmotherly role, at least to the outside world. This does not have to be a disadvantage by far, if Microsoft’s internal evaluations show that demand is generated primarily from these development ecosystems.
Just the “niche” makes it endearing for me
What kept me on the ball all these years was that the entire Surface Duo developer community is “family-like”. Of course, this is due to the fact that the Duo has not yet taken off in terms of sales and market penetration. So what is one man’s sorrow is another man’s joy. With the announced price, it is not to be expected otherwise, and in my naive perception, it is exactly what Microsoft wants.
Thus, the duo has the same role as the first-generation Surface (Pro). A great, high-quality concept to convince possible OEMs of the feasibility and the sense of the whole thing. However, the Duo is still unique in its form until April 2022.
As an interested developer, you have direct contact with helpful and inspiring people from the DX (Developer eXperience) team directly from Microsoft through various channels. Since all my apps, which I write in my hobby, are open source on GitHub, exciting conversations arise, if you — which is admittedly rare — run into like-minded people.
If you compare this with, for example, experiences from the Apple Developer Portal and its DevRel, you will quickly notice that you still really feel perceived as a human being, respected and, above all, “listened to”.
In addition, it feels like a great success to me if you can convince even one more person of the concept of dual-screen devices and they themselves start, for example, to deal with the UI guidelines and, above all, finally understand them. I’m very happy about that. Things that are unthinkable for iOS or conventional Android development.
(Still) no developer community outside of Microsoft
Unfortunately, the above point now leads to this. Outside of Microsoft’s official community, I haven’t noticed any other community worth mentioning that cares about development for “foldables” and multiscreen devices. If anyone has any tips, please share them in the comments.
This also affects other SDK and surface component creators, who have so far been very stepmotherly with the new device classes.
What is not, can still become! Therefore, please do not be deterred by this. This is a circle, which fuels each other. Just like with the Windows Phone. Only this time, we can hope that Microsoft will stay on the ball longer and more seriously.
Note: Apple non-Intel Macs are left behind
As with other developer topics from Microsoft, Apple devices and especially the not-so-new M1 Macs are also left behind here. Even after several months, there is still no emulator for the Surface Duo for these devices, for example. The emulator maintained by Google has been running on these machines for a long time. An update is promised, but without a time frame.
Thus, developing for the Duo on soon all devices from Cupertino requires a real device at a steep price. However, it should be mentioned that it can also be connected to Macs without problems and supplied with developer builds via Android Studio or Visual Studio for Mac.
What I wish for the next 880 days
As mentioned, the most important thing is that Microsoft stays on the ball. With updated hardware in the form of a Surface Duo 3, with a rapid update cycle of the Android operating system and, above all, with people who help you find your way in the rather complex world of dual screen devices.
In my opinion, this is the only way to establish an independent community that will continue to inspire, motivate and inspire itself over time. A start here could be, for example, a small Discord server where interested and perhaps also Microsoft employees can cavort and exchange ideas.
Even though we are on Microsoft territory here, my wish remains that Microsoft will also bring the emulator of the Surface Duo to the M1 Mac after all these years. Otherwise, a complete target group will be excluded — especially in view of Apple’s model policy, which will no longer include x86 processors in the near future.
Yes, I remain faithful to the Surface Duo, respectively to the hobby of development for multiscreen devices. In the same breath, it’s important to mention that I’m sticking to it for reasons that also keep me away from the role of a professional developer. Few users, a manageable ecosystem where people still know each other by name, and the fact that it’s not mainstream.
So I can only recommend every interested person to give it a try — no matter if it is concept development, interface design for the new requirements of the Duo or finally the development. If you want to experience what it’s like to work 1:1 with Microsoft’s Developer Relation Teams or to move on paths outside the mainstream — which is really hard in IT nowadays — you are welcome to follow me. I am always open for questions around these topics.