lessons learned
2 TopicsLesson learned: Do not get fooled by the Surface Duo emulator in terms of performance and display
Hi team, I just wanna help other developers to not get fooled as I got by using the emulator while developing apps for the Surface Duo. My learnings in short 1. The performance of the actual device is astonishing, stouter-free scrolling and very smooth animations 2. Far less app crashes; apps on the emulator crashed a lot, on a real Duo this happens far less often mostly when changing from spanned to single screen or vice versa. 3. No more "blacked-out" screens; I have often the problem that one screen of the emulator gets black and maybe comes back to life after a couple of seconds, I cannot reproduce it on the actual device. 4. The display has very deep blacks but it is even in single screen posture not possible to reach all screen estate by one hand / finger. 5. Due to 4.) gestures are very important while developing an app. Out luck: the build in back navigation gesture. 6. Some postures like the vertical but spanned posture is more useful than I thought by using the emulator. Especially for reading long texts, I prefer this posture My learnings in a bit more detail If you want to read a little bit more in detail, please see my Medium post: https://dualscreentobbo.medium.com/lessons-learned-moving-from-the-surface-duo-emulator-to-an-actual-device-62642409c4cb Any question? If you have any questions, just feel free to comment, I try top help you as much as I can.845Views0likes1CommentLessons learned: Updating an app from copied Duo lib files to Xamarin.Forms.DualScreen NuGet package
I just updated my https://github.com/tscholze/xamarin-road-to-surface-duo to use the freshly released https://www.nuget.org/packages/Xamarin.Forms.DualScreen/4.5.0.282-pre4. That's why I wanna share my lessons learned, maybe some will be for others obvious, maybe not. Do not forget Update Xamarin.Forms package, to the latest pre-release (don't forget to mark the checkbox) Install the Xamarin.Forms.DualScreen package, it's a pre-release (don't forget to mark the checkbox) Delete all old copy-and-pasted "Duo Lib" that you copy pasted from the very first sample project Embed new namespace in duo-specific (e.g. master/detail pages) files xmlns:dualScreen="clr-namespace:Xamarin.Forms.DualScreen;assembly=Xamarin.Forms.DualScreen" Update, usage of TwoPaneView to new syntax with child elements <dualScreen:TwoPaneView> <dualScreen:TwoPaneView.Pane1> <views:ItemsView x:Name="MasterPane" /> </dualScreen:TwoPaneView.Pane1> <dualScreen:TwoPaneView.Pane2> <views:ItemView x:Name="DetailPane" /> </dualScreen:TwoPaneView.Pane2> </dualScreen:TwoPaneView> Check if you set the config values correct in the MainActivity.cs to listen on Duo-specific changes ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize Conclusion It's great to see that you do not longer need copy & (w/p)asted files in your library. There are not really breaking changes. It took me max. an hour to update my app.647Views2likes0Comments