Surface Duo Blog
Build great Android experiences, from AI to foldable and large-screens.
Latest posts
Adapting your Angular web app for dual-screen devices
Hello web developers! Foldable and dual-screen devices are becoming increasingly more common over time, but you may wonder if investing development time to support these devices might be worth it, especially when creating fully responsive web apps is already a challenge. Using the new CSS and JavaScript primitives is a fun way to discover and learn about the new possibilities offered by devices like the Microsoft Surface Duo, yet you might be looking for a more efficient way to adapt existing apps without having to make drastic changes and dive too much into custom CSS. That's what we're going to explo...
Jetpack Compose foldable and dual-screen development
Hi Android developers, We talked about using Jetpack Compose, the new Android UI toolkit for Microsoft Surface Duo development in a previous blog post. Now, Jetpack Compose is in beta. Combined with the use of Jetpack Window Manager, Jetpack Compose is more flexible for developing apps for dual-screen devices and even easier to extend to other foldable devices. You can check out the new dual-screen Codelab for using Jetpack Window Manager to learn more. Today, we would like to showcase some examples of dual-screen development using Jetpack Compose in different use cases. When building or migrat...
New Android pen and ink control preview
Hello Android developers, In a previous post, we shared code to handle pen events including pressure, orientation, and button presses on the pen. Today’s post introduces a preview of a new pen and inking control that you can easily add to your Android apps to get pen (and touch) support without a lot of custom code. Figure 1: pen and ink sample app The screenshot above shows the InkView control on a Microsoft Surface Duo. It will work on any Android with API version 29 or newer. The control uses the BlendMode API, which was introduced in API 29. Android does not offer a built-...
Introducing Jetpack Window Manager for foldable and dual-screen devices Codelab
Hello Android developers, As we have mentioned in previous blog posts, enhancing apps to take advantage of the capabilities that new form factor devices such as Microsoft Surface Duo and other foldable devices provide, can easily be done by following a step-by-step approach. With that in mind, during the last months we have been working together with Google on developing a new Codelab to help you understand what foldable and dual-screen devices are, how to use Jetpack Window Manager to enhance your apps for use on foldables and dual-screen devices by making just a few small changes. Accessi...
Announcing Flutter support for foldable devices
Flutter is one of the fastest growing frameworks today and certainly a powerful toolkit for building amazing apps, which is why we’re adding foldable support. Earlier today Microsoft announced a preview of foldable support for Flutter, at Google’s Flutter Engage. We love Flutter and foldable devices and want developers to have the best possible experience when working with both. We’re contributing to Flutter to give it foldable capabilities and this article goes into details of what is new. Please note that Foldable support has not yet merged into the Flutter repo. We first want to listen to yo...
Xamarin.Forms 5.0 on Microsoft Surface Duo
Hello Xamarin developers, Today Craig and I joined The Launch Space, a live stream from Microsoft Learn, to talk about developing dual-screen apps for Surface Duo using Xamarin. This topic has been covered in the blog before, but there are some new features to talk about with the release of Xamarin.Forms 5.0. You can watch the stream here, and see the highlights listed below. More information about the The Launch Space show is available on GitHub. Dual-screen app design We talked about a few different aspects of enhancing your app design for dual-screens. The five user experience p...
Microsoft Surface Duo emulator February refresh
Hello Android developers, Today we are releasing the latest update to the Surface Duo emulator. Since last December, we started to introduce some app samples into the emulator so you can play with them directly and get a better idea about how to build an application or enhance your application on the Surface Duo device. Here are the samples you can find in the application list once you install the latest version of the Surface Duo emulator, as below. Surface Duo Samples It is a collection of code samples built in Kotlin, showcasing the development on Surface Duo in different scena...
Making Microsoft Outlook shine on Microsoft Surface Duo
Hello Android developers, In this post, you’ll learn how the Outlook team adapted our Android app to create a user-friendly experience on the dual-screen Surface Duo. Outlook for Surface Duo has the same familiar experience that you find on both phone and tablet and this is no coincidence as Outlook has been designed with flexibility in mind. But while Outlook was easily able to handle the configuration change when switching from displaying on a single screen or spanning across two screens thanks to support from the Android framework from API 1, Surface Duo presented a unique challenge in how to addre...
Developer tip: launch on adjacent screen
Hello Android developers, Last year we blogged about bringing your existing apps to the Microsoft Surface Duo, which included a variety of suggestions from simple tweaks to a set of user-experience design patterns that you could use to enhance your applications’ UI. Today I’m going to re-visit one of those dual-screen enhancement tips that’s easy to incorporate into your existing apps; launching new intents on the second screen. This behavior builds on an intent launch flag that works on any device that supports Android multi-windowing. It’s mentioned in the Android multi-window developer docume...