Craig Dunn

Principal SW Engineer, Surface Duo Developer Experience

Craig works on the Surface Duo Developer Experience team, where he enjoys writing cross-platform code for Android using a variety of tools including the web, React Native, Flutter, Unity, and Xamarin.

Post by this author

Happy Two Year

Hello developers! Welcome to 2022 – a great year to be developing for two screens! To kick off the new year we’re going to do a quick recap of all the two screen enhanced components – across developer platforms – that can help you get started quickly with dual-screen and foldable support, while also providing great single-...

Android foldable support on Uno Platform

Hello XAML developers! The Uno Platform has supported Microsoft Surface Duo since early 2020 – the Uno Platform team even shared get started tips on this blog. This support was based on the DuoSDK NuGet, which exposes the Microsoft DisplayMask API in C#. The Uno Platform implements the TwoPaneView control on all supported ...

Foldable CSS and JavaScript update for web developers

Hello web developers! The dual-screen CSS and JavaScript enhancements for Microsoft Edge were initially shared in June 2020 when they were first available behind a feature flag for testing. Since then there has been a lot of work and feedback on the proposals, and the implementation currently available in the latest version of ...

Adapting to Android multi-window and foldable devices

Hello Android developers! Although multi-window support was first introduced in Android 7 (API 24), many developers are only recently starting to adapt their code to this feature as dual-screen, foldable, and large-screen devices are becoming more common. If you’re considering adapting your apps for the latest larger-screen ...

Unity and Jetpack Window Manager

Hello game developers! We’ve covered Jetpack Window Manager in the docs, and previously blogged about how to integrate the DisplayMask API into a Unity sample. In this post I’ll describe how to extend a Unity project to integrate native Android code and configuration to include the Jetpack Window Manager package and provide dual...

Jetpack Window Manager alpha10 update

Hello Android developers! Google recently released the latest version of the Jetpack Window Manager package, and as with previous releases, we’ve updated our docs and samples to match. This post walks through using the new API to get layout updates when your apps are running on dual-screen and foldable devices, like Microsoft ...

Dual-screen developer tools recap

Hello dual-screen developers, Each week we cover a different aspect of dual-screen development, but with so much happening it’s difficult to cover ALL of the platforms that support the Microsoft Surface Duo. This post is a quick run-down of all the different tools and platforms that developers can use to create dual-screen ...

Window Manager preview for Xamarin

Hello Xamarin developers! We’ve discussed Window Manager in previous blog posts – it’s an AndroidX library that brings dual-screen and foldable support to Android, across a variety of devices including Microsoft Surface Duo. Window Manager is now available to test with Xamarin.Android apps via a prerelease NuGet Xamarin....

Creating beautiful dual-screen Xamarin.Forms apps

Hello .NET developers! The blog has previously featured tips for bringing Xamarin apps to Surface Duo and Microsoft Learn training to help enhance Xamarin apps. In this post we’ll discuss changes to animated layouts in a Xamarin.Forms app to adapt them for Microsoft Surface Duo. Adapt a design for Xamarin The sample project ...

Join us live on Twitch (and YouTube)

Hello dual-screen and foldable device developers, Those of you following us on Twitter will have noticed in recent weeks that we’ve been inviting you to join a livestream each Friday (11am Pacific; 2pm Eastern; 8pm in Europe). We just recently celebrated 12 episodes over the past three months! If you haven’t joined us yet...