Forum Widgets
Latest Discussions
Default behavior for Dual Screen Seem (Hinge GAP)
When an app is spanned across two screens, there is going to be aseam— the space between the two screens. This is a byproduct of making a dual-screen device. This section talks about some of the ideas and techniques you might consider to make your app work with the seam. By default Display driver must skip (should not render behind seem) the content behind the hinge GAP. It should be continuous across screens. In fact the app developer should not be even aware of the seem. It should see as one continuous screen. It enables all web sites and apps usable by default. If any app or site wants to do differently to take advantage of dual screens then they use your API to handle it. This is a very simple approach and I think somebody at Microsoft screwed it up up by opting to ask every developer in the world to optimize their content. This will never happen. Duo will fail if not fixed. If I don't get this behavior in the next DUO update I will return my DUO and start a campaign to return all duo owners. I'm Software Architect love this duo and don't want it to fail. This is the only feature missing in this duo. I use only 3 apps on this. Edge, Chrome and Remote Desktop. All three are hiding content behind seem. This default behavior would have made made all these three apps usable.Suresh_NagappaJan 26, 2024Copper Contributor5.7KViews7likes13Commentsis TwoPaneBackStackEntry composable list of routes incompatible with arguments / URI Routes?
Hello, I am doing some tests on the SDK and have encountered a roadblock. Currently, my application uses route arguments to find item details. However, upon navigating to them, the following exception is returned: java.lang.IllegalArgumentException: Invalid route item/4, not present in list of routes [home?, items?, item/{itemId}, ...] I am unsure if this is a problem stemming from the fact that listOf[Routes] cannot take into account those values or if it is an error on my end. Could you please clarify? Thank you for all your hard work!Papes96May 09, 2023Copper Contributor1.6KViews1like6CommentsCompose Jetpack TwoPaneLayoutNav can find route for pane1 but not for pane2
Hi team, long time no see but here I'm with another problem which is properly caused by not understanding the API. I use the version: implementation("com.microsoft.device.dualscreen:twopanelayout:1.0.1-alpha06") My code Based on the tutorial, I tried to get my TwoPaneLayoutNav working. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val navController = rememberNavController() TwoPaneLayoutNav( navController = navController, singlePaneStartDestination = "regions", pane1StartDestination = "regions", pane2StartDestination = "regions" ) { composable("regions") { RegionsScreen( navigateToRegion = { id -> navController.navigate("regions/${id}")} ) } composable("regions/{id}") { backStackEntry -> val id = backStackEntry.arguments?.getString("id") RegionScreen(regionId = id ?: "A") } } } } } The problem But as soon as I span the app across both screens, the app crashes with the following error: java.lang.IllegalArgumentException: Invalid route regions, not present in list of routes [] I tried not just "regions" but "regions/a", too. Both does not work. If I introduce another path like "test" is also does not work.In single screen mode, everything works as expected. Thanks for your help!SolvedtscholzeApr 09, 2023Iron Contributor936Views0likes3CommentsHow to start the SurfaceDuo 2 emulator on an Apple M1 device?
Hi team, I know I had the same questions a few month ago, but I want to bring it up again. Currently I'm using an Apple M1 Mac as my development machine. Everything works expect of the Surface Duo 2 emulator. In short: I cannot find where I can change it from trying to use qemu-system-x86_64 instead of the installed qemu-system-aarch64 one. Facts: M1 Mac MacOS Monterey Android Studio installed AS emulators starts as expected `run.sh` fails because of x86 linked emulator Thanks for any helpful tip!SolvedtscholzeOct 27, 2022Iron Contributor3.1KViews2likes12CommentsLooking for MVP 22/23 recommendations (who to follow)
Hi team, the new MVP year started and I just wanted to ask if someone of you has recommendation who to follow on Twitch, GitHub, Twitter, etc. I know there is no MVP program related to the Surface Duo community, but maybe there are some Xamarin or other MVPs that are also covering this topic 🙂 Thanks a lot in advance and let's grow this community!tscholzeOct 05, 2022Iron Contributor678Views0likes1CommentLooking for a list with foldable & large-screen device related sessions
Hi team, sometimes the DX team posts that new session recordings are available. But to be honest, I think I miss a lot of them. Do you have any list with "all" session recordings? It would be awesome! You speak at a lot of of different events which is hard to follow them all. 🙂SolvedtscholzeAug 10, 2022Iron Contributor586Views0likes2CommentsStream idea: Adapting maps (but not GMaps) for foldables and large screen devices using Compose
Hi team, thanks to your fast answer to my last post, I know that the emulator does not support Google Play Services. That means Google Maps is not available using your emulator image. Due to this circumstance you want to cover the topic of how to embed, use and modify maps (but not GMaps) to get the best user experience on foldable or large screen devices incl. navigation and showing detail information for a tapped pin. To be honest, the official Microsoft Bing Maps SDK is a little bit off and not helpful (only java, no birds-eyed tutorial, no compose, etc.). If you think this is no topic you wanna cover - it's fine I just think it would a very helpful until the emulator supports GPS - or WSA supports it which will never happen because of the Amazon Store 🙂SolvedtscholzeMay 25, 2022Iron Contributor958Views0likes2CommentsDoes the current emulator not include Google Play Services?
Hi team, I fired up my old but still working Windows machine today and updated the Surface Duo Android 11 emulator (SurfaceDuoEmulator_Android11_2022.510.8_windows.exe). Do you confirm that the emulator does not include the Google Play Services e.g. for Google Maps? If the emulator has the services included, you could help me to understand the error message below 🙂 W/GooglePlayServicesUtil: com.github.tscholze.duobahn requires the Google Play Store, but it is missing. D/OpenGLRenderer: endAllActiveAnimators on 0x70f287917dc0 (UnprojectedRipple) with handle 0x70f1a79248c0 Thanks for any help!SolvedtscholzeMay 24, 2022Iron Contributor1.1KViews0likes1Comment[Developer story] 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. # Why? 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. 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". One big thing that kept me going was the free choice of technologies 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's the "niche" that makes it endearing to 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. 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 one - which admittedly rarely happens - runs into like-minded people. If you compare this with experiences from the Apple Developer Portal and its DevRel, for example, you'll quickly notice that Duo really makes you feel like a human being, respected and, above all, "listened to". In addition, it feels like an enormous success to me if you can convince even one more person of the concept of two-screen devices and they start to deal with the UI guidelines and finally understand them. I am incredibly happy about that. Things that are unthinkable for iOS or conventional Android development. # What I wish for the next 880 days As mentioned, the most important thing is that Microsoft continues. With updated hardware in the form of a Surface Duo 3, with a rapid update cycle of the Android operating system and with people who help you find your way in the complex world of dual screen devices. This is the only way to establish an independent community that will continue to inspire and motivate itself over time. A start could be a small Discord server where interested and Microsoft employees can meet and exchange ideas. Even though we are here on a Microsoft Community my wish remains that Microsoft also brings 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 soon. # Conclusion All this shows that it is often the intangible things that motivate us to engage with technology. The new, the unexpected, but also the human interaction between manufacturer and developer. Thank you for this exciting journey! This story is a short form of my longer - and more personal Medium article.SolvedtscholzeMay 05, 2022Iron Contributor743Views2likes1CommentWhat Surface Duo stand do you use while developing?
Hi team, this questions seems odd but to be honest, none of my phone stands, grips, what-ever-thingies are suitable with the Duo's size or USB-C connector position. I tried the book posture - it works great as a "build in" solution but the angle isn't the best. What's your favorite stand? Thanks and happy hacking!SolvedtscholzeMay 05, 2022Iron Contributor2.1KViews0likes5Comments
Resources
Tags
- question8 Topics
- ask-the-pm2 Topics
- Lessons learned2 Topics
- Flutter2 Topics
- Tutorial2 Topics
- Layout2 Topics
- design2 Topics
- show-and-tell1 Topic
- SDK update1 Topic
- Surface Duo Emulator1 Topic