{"id":95,"date":"2020-02-13T15:24:51","date_gmt":"2020-02-13T23:24:51","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/surface-duo\/?p=95"},"modified":"2020-02-13T15:27:00","modified_gmt":"2020-02-13T23:27:00","slug":"dev-day-recap-sdk-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/surface-duo\/dev-day-recap-sdk-update\/","title":{"rendered":"Dual-Screen Developer Day Recap &#038; SDK Updated!"},"content":{"rendered":"<p>Hello Developers!<\/p>\n<p>This is the third of our weekly <a href=\"https:\/\/devblogs.microsoft.com\/surface-duo\/\">Surface Duo SDK devblogs<\/a>, focused on how developers can make use of dual screen devices to enhance their application\u2019s user experiences.<\/p>\n<p><strong>Developer Day<\/strong><\/p>\n<p>This week we spent our time interacting with the community both through a live, <a href=\"https:\/\/developer.microsoft.com\/en-us\/microsoft-365\/virtual-events\">online Dual-Screen Developer Day event<\/a> and in a closed industry event called the Microsoft Dual-Screen Software Design Review event here in Redmond. Check out the Dual-Screen Developer Day Keynote video and our Surface Duo Developer Experience session on the Microsoft 365 Virtual Events website: <a href=\"https:\/\/developer.microsoft.com\/en-us\/microsoft-365\/virtual-events\">https:\/\/developer.microsoft.com\/en-us\/microsoft-365\/virtual-events<\/a><\/p>\n<p>We learned a lot from you all during these events and I wanted to share some of the feedback we received and at the same time, encourage you to share your comments and questions in our tech forums: <a href=\"https:\/\/aka.ms\/SurfaceDuoSDK-Feedback\">https:\/\/aka.ms\/SurfaceDuoSDK-Feedback<\/a><\/p>\n<p>Here are some of the things we heard from you this week:<\/p>\n<ol>\n<li>\u201cHow about one sample that does it all (all current samples combined into a user experience sample)?\u201d<\/li>\n<li>\u201cWould love a sample showing how to deal with orientation changes\u201d<\/li>\n<li>\u201cPlease update documentation to explain the connection between mask and rotation better.\u201d<\/li>\n<li>\u201cIt would be great to interact programmatically (for test automation) with the device manipulation features of the Duo emulator image\u201d<\/li>\n<li>\u201cFor CI\/CD systems we would like to download new Surface Duo emulator builds automatically\u201d.<\/li>\n<\/ol>\n<p>Please keep the <a href=\"https:\/\/aka.ms\/SurfaceDuoSDK-Feedback\">feedback<\/a> coming. We use your suggestions to improve the developer experience.<\/p>\n<p><strong>Surface Duo SDK Update<\/strong><\/p>\n<p>This week we also updated the Surface Duo SDK sample content. Now all the SDK samples are available for the Kotlin programming language. There are also two new samples, available in both Java and Kotlin repos. These two samples are IntentToSecondScreen and Drag-n-Drop. The former shows how to launch an activity on the second screen and the latter shows how to implement a source and target drag-and-drop experience, complete with a drag preview (DropShadow) element.<\/p>\n<ul>\n<li>Kotlin samples:\u00a0<a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fsurface-duo-sdk-samples-kotlin&amp;data=02%7C01%7Chakons%40microsoft.com%7Ca4143744d73044a3cab908d7af755902%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637170790846814355&amp;sdata=LGhnR%2BuFX%2BY1XpboHOilCrNB7FR9qfzyMGZbitkNtr4%3D&amp;reserved=0\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-kotlin<\/a><\/li>\n<li>Java samples:\u00a0<a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/microsoft\/surface-duo-sdk-samples<\/a><\/li>\n<\/ul>\n<p><strong>IntentToSecondScreen sample:<\/strong><\/p>\n<p>This sample shows how to use just two lines of code to bring the dual screen device to life for your customers:<\/p>\n<p><img decoding=\"async\" class=\"wp-image-99\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1.png\" alt=\"A screenshot of a social media post Description automatically generated\" width=\"1430\" height=\"741\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1.png 1698w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-300x155.png 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-1024x531.png 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-768x398.png 768w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-1536x796.png 1536w\" sizes=\"(max-width: 1430px) 100vw, 1430px\" \/><\/p>\n<p><span style=\"font-size: 10pt;\">Image 1: Android Studio with the IntentToSecondScreen sample code.<\/span><\/p>\n<p><strong>Drag-and-Drop sample:<\/strong><\/p>\n<p>This sample shows how to create a source and target drag-and-drop solution.<\/p>\n<p><img decoding=\"async\" width=\"1431\" height=\"880\" class=\"wp-image-100\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-text-description-automatically-ge-1.jpeg\" alt=\"A screenshot of text Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-text-description-automatically-ge-1.jpeg 1431w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-text-description-automatically-ge-1-300x184.jpeg 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-text-description-automatically-ge-1-1024x630.jpeg 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-text-description-automatically-ge-1-768x472.jpeg 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<p><span style=\"font-size: 10pt;\">Image 2: View of portions of the Drag-and-Drop source sample code.<\/span><\/p>\n<p><img decoding=\"async\" width=\"1430\" height=\"860\" class=\"wp-image-101\" src=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1.jpeg\" alt=\"A screenshot of a social media post Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1.jpeg 1430w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-300x180.jpeg 300w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-1024x616.jpeg 1024w, https:\/\/devblogs.microsoft.com\/surface-duo\/wp-content\/uploads\/sites\/53\/2020\/02\/a-screenshot-of-a-social-media-post-description-a-1-768x462.jpeg 768w\" sizes=\"(max-width: 1430px) 100vw, 1430px\" \/><\/p>\n<p><span style=\"font-size: 10pt;\">Image 3: View of portions of the Drag-and-Drop destination sample code.<\/span><\/p>\n<p><strong>Helpful links:<\/strong><\/p>\n<p>The links to our updated samples:<\/p>\n<ul>\n<li>Kotlin samples:\u00a0<a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fsurface-duo-sdk-samples-kotlin&amp;data=02%7C01%7Chakons%40microsoft.com%7Ca4143744d73044a3cab908d7af755902%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637170790846814355&amp;sdata=LGhnR%2BuFX%2BY1XpboHOilCrNB7FR9qfzyMGZbitkNtr4%3D&amp;reserved=0\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/microsoft\/surface-duo-sdk-samples-kotlin<\/a><\/li>\n<li>Java samples:\u00a0<a href=\"https:\/\/github.com\/microsoft\/surface-duo-sdk-samples\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/microsoft\/surface-duo-sdk-samples<\/a><\/li>\n<\/ul>\n<p>Links to other relevant content:<\/p>\n<ul>\n<li>Dual Screen Overview Docs: <a href=\"https:\/\/aka.ms\/dual-screen\">https:\/\/aka.ms\/dual-screen<\/a><\/li>\n<li>Surface Duo SDK Docs: <a href=\"https:\/\/docs.microsoft.com\/en-us\/dual-screen\/android\/index\">https:\/\/docs.microsoft.com\/en-us\/dual-screen\/android\/index<\/a><\/li>\n<li>Surface Duo SDK Devblogs: <a href=\"https:\/\/aka.ms\/surfaceduosdk-blog\">https:\/\/aka.ms\/surfaceduosdk-blog<\/a><\/li>\n<li>Surface Duo SDK Feedback Forums: <a href=\"https:\/\/aka.ms\/surfaceduosdk-feedback\">https:\/\/aka.ms\/surfaceduosdk-feedback<\/a><\/li>\n<\/ul>\n<p>As always, we would love to hear from you. Please reach out using our\u00a0<a href=\"https:\/\/aka.ms\/SurfaceDuoDevelopers\" target=\"_blank\" rel=\"noopener noreferrer\">feedback forum<\/a> if you have ideas or comments. Let us know how we can help you be more productive when developing for large, foldable and dual screen devices, ask questions, make suggestions, or upvote other suggestions.<\/p>\n<p>H\u00e5kon Strande \u2013 Surface Duo Developer Experience Program Manager<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dual-Screen Developer Day recap and new samples for the Surface Duo SDK<\/p>\n","protected":false},"author":18491,"featured_media":67,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-95","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-surface-duo-sdk"],"acf":[],"blog_post_summary":"<p>Dual-Screen Developer Day recap and new samples for the Surface Duo SDK<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/posts\/95","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\/18491"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/comments?post=95"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/posts\/95\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/media\/67"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/media?parent=95"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/categories?post=95"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/surface-duo\/wp-json\/wp\/v2\/tags?post=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}