{"id":737,"date":"2020-09-10T11:35:00","date_gmt":"2020-09-10T18:35:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/surface-duo\/?p=737"},"modified":"2020-09-24T10:16:38","modified_gmt":"2020-09-24T17:16:38","slug":"microsoft-surface-duo-is-released","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/surface-duo\/microsoft-surface-duo-is-released\/","title":{"rendered":"Microsoft Surface Duo is released"},"content":{"rendered":"<p>Android Developers, it\u2019s Microsoft Surface Duo release day!<\/p>\n<p>Today marks a very special day for us, it\u2019s Surface Duo release day, and the device will be in customers hands starting today.<\/p>\n<p>We\u2019re very excited to see all the apps you will build that utilize dual-screens and this new form factor, and our Surface Duo Developer Experience team (DevX team) is here to help you, so please reach out!<\/p>\n<p><img decoding=\"async\" width=\"1427\" height=\"1072\" class=\"wp-image-738\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image.jpeg\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image.jpeg 1427w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-300x225.jpeg 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-1024x769.jpeg 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-768x577.jpeg 768w\" sizes=\"(max-width: 1427px) 100vw, 1427px\" \/><\/p>\n<p>Image 1: The Microsoft Surface Duo<\/p>\n<h2>All developers welcome!<\/h2>\n<p>Reminder: Your existing Android apps will work just as you would expect when running on Surface Duo and on a single screen (left or right), but, with some minimal effort, you can utilize both screens to enhance your app and do much more!<\/p>\n<p>Surface Duo-enhanced apps can be built with any of the tools that target Android development. If you\u2019re familiar with any of the following languages and IDEs, you can update your existing apps or build new dual-screen experiences:<\/p>\n<ul>\n<li>Kotlin &amp; Java using Android Studio on Windows, macOS, or Linux<\/li>\n<li>Xamarin using C# with Visual Studio on Windows or macOS<\/li>\n<li>React Native using JavaScript or TypeScript with Visual Studio Code<\/li>\n<li>Unity for game development<\/li>\n<li>Flutter<\/li>\n<li>Web sites and PWAs<\/li>\n<\/ul>\n<p>If your favorite tool isn\u2019t listed here, but supports deployment to Android and allows for native library interop, chances are you can still build experiences for Surface Duo. The helpers, controls, layouts, and samples we\u2019ve built for each platform are open source, and we welcome your feedback and contributions. Surface Duo supports the <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/window\">Jetpack Window Manager<\/a>\u2019s dual-screen functionality, so you can confidently build apps that will work across the Android device ecosystem and will target other dual-screen devices or foldables.<\/p>\n<h2>Surface Duo SDK<\/h2>\n<p>To help developers build great dual-screen experiences, we\u2019ve provided an SDK consisting of helper functions and layout controls for multiple developer ecosystems, and also includes documentation and training materials.<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/dual-screen\/android\/api-reference\/dualscreen-library\/?WT.mc_id=docs-surfaceduoblog-gmerin\">Dual-screen libraries<\/a> for Kotlin &amp; Java, including SurfaceDuoLayout<\/li>\n<li>Cross-platform <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/xamarin\/?WT.mc_id=docs-surfaceduoblog-gmerin\">TwoPaneView and DualScreenInfo for Xamarin.Forms<\/a><\/li>\n<li>Cross-platform <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/react-native\/?WT.mc_id=docs-surfaceduoblog-gmerin\">TwoPaneView and DualScreenInfo for React Native<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/dual-screen\/unity\/?WT.mc_id=docs-surfaceduoblog-gmerin\">Helper functions<\/a> for Unity<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-flutter\">Flutter samples<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/dual-screen\/web\/?WT.mc_id=docs-surfaceduoblog-gmerin\">Dual-screen CSS and JavaScript standards<\/a><\/li>\n<li>In alignment with the recent <a href=\"https:\/\/android-developers.googleblog.com\/2020\/08\/announcing-jetpack-compose-alpha.html\">Jetpack Compose Alpha release<\/a>, we\u2019ve added a <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/jetpack-compose-dual-screen-sample\/?WT.mc_id=blog-surfaceduoblog-gmerin\">Jetpack Compose Surface Duo Sample<\/a><\/li>\n<\/ul>\n<p>Get started with any of these at <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/?WT.mc_id=docs-surfaceduoblog-gmerin\">docs.microsoft.com\/dual-screen<\/a>. There\u2019s also a variety of samples available, starting with <a href=\"https:\/\/github.com\/microsoft\/surface-duo-app-samples\">our app samples repo<\/a>, which provides examples of the different UI patterns that are common for <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/introduction?WT.mc_id=docs-surfaceduoblog-gmerin#dual-screen-app-patterns\">dual-screen interactions<\/a>:<\/p>\n<ul>\n<li>Extended canvas<\/li>\n<li>List-detail<\/li>\n<li>Two page view<\/li>\n<li>Dual view<\/li>\n<li>Companion pane<\/li>\n<\/ul>\n<p>The <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/bring-your-app-to-surface-duo\/?WT.mc_id=blog-surfaceduoblog-gmerin\">developer blog<\/a> also covers the three steps we recommend to bring your apps to the Surface Duo:<\/p>\n<ol>\n<li>Test your existing app on the emulator or Surface Duo.<\/li>\n<li>Make incremental changes, like handling all orientations, multi-window support, drag and drop, and other Android functionality.<\/li>\n<li>Embrace new dual-screen features by creating layouts for when the app spans both screens.<\/li>\n<\/ol>\n<h2>App inspiration<\/h2>\n<p>If you\u2019re new to dual-screen development, start with our <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/introduction\/?WT.mc_id=docs-surfaceduoblog-gmerin\">introduction to dual-screen devices<\/a>, which outlines new user interface patterns and experience considerations. Then visit the <a href=\"https:\/\/www.microsoft.com\/surface\/devices\/surface-duo?activetab=overview&#038;WT.mc_id=docs-surfaceduoblog-gmerin\">enhanced app showcase<\/a> to see some of the amazing applications that will be available for the Surface Duo at launch.<\/p>\n<h2>Check out the Surface Duo included built in apps<\/h2>\n<p>Surface Duo comes pre-installed with built in Microsoft enhanced apps.<\/p>\n<p>Checkout these apps and see for yourself how they utilize dual-screens.<\/p>\n<p>In the coming weeks we\u2019ll also include a blog post from key development teams including Microsoft Outlook, Microsoft News, Microsoft To Do, Microsoft Office, Microsoft Edge, Microsoft OneNote and other close development partners such as Spotify, Amazon Kindle, Adobe Acrobat Reader, and Jira<\/p>\n<p>Let\u2019s highlight a few examples that are included by Microsoft in Surface Duo and which design pattern they use:<\/p>\n<h3>Drag and Drop<\/h3>\n<p>Surface Duo can keep you productive while running two apps side by side.<\/p>\n<p>Drag and Drop between the two screens and between apps is a seamless experience with a swipe of a finger or using a Pen. <img decoding=\"async\" width=\"1350\" height=\"900\" class=\"wp-image-739\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image.gif\" \/> Image 2: Drag and Drop from Microsoft Outlook email into a Microsoft To Do list<\/p>\n<p>Microsoft Outlook, Microsoft To Do, Microsoft Edge, Microsoft OneNote and Microsoft Office all support a <strong><em>drag source<\/em><\/strong> or a <strong><em>drop target<\/em><\/strong>.<\/p>\n<p>Follow our <a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-kotlin\/tree\/master\/DragAndDrop\">Drag and Drop sample<\/a> and add it to your app.<\/p>\n<h3>Extended Canvas pattern<\/h3>\n<p><img decoding=\"async\" width=\"1350\" height=\"900\" class=\"wp-image-740\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-1.gif\" \/><\/p>\n<p>Image 3: Microsoft Office spreadsheet spanned across both screens<\/p>\n<p>An Excel spreadsheet is a great case for an extended canvas where users can see much more data on two screens. Two screens in double landscape or double portrait are also great for fast scrolling on large amounts of data.<\/p>\n<h3>List\/Details pattern<\/h3>\n<p><img decoding=\"async\" width=\"960\" height=\"1080\" class=\"wp-image-741\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-2.gif\" \/> Image 4: Microsoft Outlook List\/Detail view<\/p>\n<p>Microsoft Outlook and Microsoft OneNote adapts when spanned on two screens and shows a List\/Detailed view making it easy to read through many emails or notes quickly.<\/p>\n<p>Another cool example for a List\/Detailed pattern is Microsoft OneDrive Gallery viewer. You can scroll through images on one screen, and see a preview and edit the photo on the other screen. Image 5: Microsoft OneDrive Photo Gallery allows users to scroll to find more images and preview images on the other screen<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-747 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/Feature_007_Onedrive7.png\" alt=\"Image Feature 007 Onedrive7\" width=\"834\" height=\"643\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/Feature_007_Onedrive7.png 834w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/Feature_007_Onedrive7-300x231.png 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/Feature_007_Onedrive7-768x592.png 768w\" sizes=\"(max-width: 834px) 100vw, 834px\" \/><\/p>\n<p>Image 5: Microsoft OneDrive Photo Gallery allows users to scroll to find more images and preview images on the other screen<\/p>\n<p>Follow our <a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-kotlin\/tree\/master\/ListDetail\">List\/Detail sample<\/a> to get you started.<\/p>\n<h3>Launching an activity in the other pane<\/h3>\n<p>Android apps often use activities to launch new user tasks.<\/p>\n<p><img decoding=\"async\" width=\"1429\" height=\"1071\" class=\"wp-image-742\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/a-picture-containing-cellphone-phone-holding-pe.jpeg\" alt=\"A picture containing cellphone, phone, holding, person Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/a-picture-containing-cellphone-phone-holding-pe.jpeg 1429w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/a-picture-containing-cellphone-phone-holding-pe-300x225.jpeg 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/a-picture-containing-cellphone-phone-holding-pe-1024x767.jpeg 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/a-picture-containing-cellphone-phone-holding-pe-768x576.jpeg 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<p>Image 6: Microsoft Office app launching an Excel spreadsheet on the other screen<\/p>\n<p>For example, in Microsoft Office, when you launch the app on a single screen, it will list out the recent documents you worked on or viewed.<\/p>\n<p>When clicking one of the documents, Surface Duo will launch it on the other pane (only if the other screen is free), and will keep the user in their flow browsing through their recent documents list.<\/p>\n<p>This pattern is very easy to follow with just a few lines of code (in fact, only three lines of code!). See our <a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-kotlin\/tree\/master\/IntentToSecondScreen\">Intent To Second Screen sample<\/a> to add this to your app.<\/p>\n<h3>Using Pen<\/h3>\n<p>Surface Duo is a productivity device and using a pen feels natural.<\/p>\n<p><img decoding=\"async\" width=\"1280\" height=\"1278\" class=\"wp-image-743\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5.png\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5.png 1280w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5-300x300.png 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5-1024x1022.png 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5-150x150.png 150w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/09\/word-image-5-768x767.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/p>\n<p>Image 7: Taking notes in Microsoft OneNote using a Surface Pen<\/p>\n<p>Microsoft OneNote is a great example of such usage, you can take notes using inking, or sketch your thoughts using a pen.<\/p>\n<p>Follow our <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/noteworthy-new-app-sample-twonote\/?WT.mc_id=blog-surfaceduoblog-gmerin\">Pen Hero App sample<\/a> and how to <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/pen-events-on-the-surface-duo\/?WT.mc_id=blog-surfaceduoblog-gmerin\">register for Pen events sample<\/a> and add Pen support to your app.<\/p>\n<h2>Feedback<\/h2>\n<p>We can\u2019t wait for you to get your hands on a Surface Duo and to see the new and unique apps that you create. This is so exciting!<\/p>\n<p>You can get a device in one of our launch markets, or <a href=\"https:\/\/docs.microsoft.com\/dual-screen\/android\/get-duo-sdk?WT.mc_id=docs-surfaceduoblog-gmerin\">download the full featured Surface Duo emulator<\/a> that will get you started on the emulator to mimic the same functionality of a Surface Duo device.<\/p>\n<p>We would also love to hear your thoughts on the SDK, which tools are your favorite, and what helpers or controls you\u2019d like us to work on next.<\/p>\n<p>Please reach to out to our team using our\u00a0<a href=\"http:\/\/aka.ms\/SurfaceDuoSDK-Feedback\" target=\"_blank\" rel=\"noopener noreferrer\">feedback forum<\/a>\u00a0or message me\u00a0on\u00a0<a href=\"https:\/\/twitter.com\/gmerin\" target=\"_blank\" rel=\"noopener noreferrer\">Twitter\u00a0<\/a>or\u00a0<a href=\"https:\/\/github.com\/guymerin\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n<p>You can register to our Dev Blog <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/feed\/\">RSS Feed<\/a> and see all our Surface Duo DevX team <a href=\"https:\/\/twitter.com\/surfaceduodev\">Tweets<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android Developers, it\u2019s Microsoft Surface Duo release day! Today marks a very special day for us, it\u2019s Surface Duo release day, and the device will be in customers hands starting today. We\u2019re very excited to see all the apps you will build that utilize dual-screens and this new form factor, and our Surface Duo Developer [&hellip;]<\/p>\n","protected":false},"author":17398,"featured_media":746,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[365,31,46,30],"class_list":["post-737","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-surface-duo-sdk","tag-android-developer","tag-dual-screen-development","tag-surface-duo","tag-surfaceduo-sdk"],"acf":[],"blog_post_summary":"<p>Android Developers, it\u2019s Microsoft Surface Duo release day! Today marks a very special day for us, it\u2019s Surface Duo release day, and the device will be in customers hands starting today. We\u2019re very excited to see all the apps you will build that utilize dual-screens and this new form factor, and our Surface Duo Developer [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/posts\/737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/users\/17398"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/comments?post=737"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/posts\/737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/media\/746"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/media?parent=737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/categories?post=737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/tags?post=737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}