Surface Duo Blog

.NET MAUI for Android and cross-platform apps

Hello .NET developers, .NET Conf is happening this week and one of the big announcements is the release of .NET 7 which includes an updated release of .NET MAUI for .NET 7. The latest .NET MAUI release includes dual-screen Android support based on Jetpack Window Manager, so you can build cross-platform apps for mobile and desktop that ...

Persisting and sharing ink

Hello Android developers! We have some updates to the InkSDK that we would like to share with you, as well as some general guidance on persisting ink and open ink standards. Overview While Android provides different canvases for rendering ink, there is little guidance on how to store that ink or what format it ...

Foldable Navigation Rail

Hello Android developers! This week we’re excited to share with you a new library to make it easy to support Navigation Rail on foldable devices like Surface Duo. Navigation Rail package One of the tricks when building mobile apps for Surface Duo devices is to avoid your UI being obscured by the hinge. Controls that aren’t...

Show off your apps with Phone Link

Hello Android developers! This week we’re going to share some tips and tricks to help you show off your development work in meetings, livestreams, recordings, blog posts, or anywhere else you want a video or still of your app! Demo-ing with Phone Link Your phone’s screen can be mirrored on Surface Duo and other ...

Jetpack Compose Accompanist TwoPane

Hello Compose developers! This week, we’d like to talk about the TwoPane layout from Google’s Accompanist Adaptive library! Not to be confused with our own Microsoft Compose SDK TwoPaneLayout component, TwoPane from Accompanist is a fold-aware UI component that works great for cases when you always want to show two pieces...

Dual-screen example adds Jetpack Compose to the experience

Hello Compose developers! This week, we’re excited to announce two big updates to our dual-screen experience example: a Compose refactor of the catalog page and a brand new order history page. The dual-screen experience example provides an end-to-end experience centered around a travelling guitar salesperson, with options ...

Experimenting with postures in Flutter

The things I'm doing in this article are highly experimental. By the end of it hopefully you will agree with these two statements: To achieve the desired behavior, I end up using several hacky techniques which I would think twice before shipping to production. This article is not a tutorial. It is a story of the fun I had with ...