00:00:10 Matt Welcome back everyone to the Xamarin podcast, keeping you up to date with the latest and greatest mobile development for Xamarin developers covering the world xamarin.net Azure and more. 00:00:21 Matt And today we have a special episode talking about a cool piece of software for a cool device. I'm going to talk with Michael Schrader, who created an incredible app called Sketch. 00:00:30 Matt 360 with an amazing use case for the surface dual and I'm also joined by Craig Dunn from the surface duo. 00:00:36 Matt Team Michael, thank you for joining us. So would you tell our listeners a little bit about yourself and a brief overview of Sketch 360? 00:00:44 Michael Sure, thank you so much for having me again. I'm Michael Schroeder. I have been an engineer, a program manager at Microsoft, a couple different roles over the past 14 years, and in my role at Microsoft. 00:00:57 Michael I work with customers and partners, help them build experiences you know and over my time at Microsoft I worked around everything from from Windows to Azure to cloud services to office. All different aspects of working with our partners and. 00:01:14 Michael Throughout my whole career, I've actually started as an. I was educated as an architect and in that throughout my whole career I've been drawing and sketching ever since then. 00:01:25 Michael I I loved architecture but I found that if I combined my interest back then when I when I was finishing architecture school with computers. 00:01:34 Michael I sort of found a really interesting sweet spot, which was, I thought that back then back in. 00:01:40 Michael 1993 that it would be cool that these new devices, the new pen computers, were coming out windows for pen computing, and I thought it would be a really cool idea for an architect to be able to use their drawing capabilities, which I was learning in architecture school in in a digital device. So that's where I first started thinking about that. And ever since then. 00:02:00 Michael I've always been thinking about how drawing can be a really fun part of a digital experience and an interesting part for the creative process. 00:02:10 Michael After architecture school I went to I got a Masters of Architecture in building CAD software, building architectural design tools and that started my career in software. 00:02:21 Michael I have started off building architectural software and then that that 14 years ago I joined Microsoft in evangelism, whereas. 00:02:30 Michael Helping customers build stuff and see what the power of our platforms were and. 00:02:35 Michael Overtime I was encouraged to build apps. That's something that they encouraged us to build when we released the windows, the Windows 8 and Windows 10 platforms and I built apps on those one of the apps that I built was called Sketch 360. The Microsoft Garage helped me release this app as an experiment. 00:02:55 Michael And released it on Windows and that's where it sort of started. About two years ago around around building this experience around. 00:03:04 Michael 00:03:04 Michael 00:03:06 Michael 300 Sixty 360 degree panoramic drawings from a single single pointer perspective looking all the way around and creating a tool to help you do these kind of drawings that could then be viewed in a 360 view or like a 360 photograph. 00:03:22 Michael So I came up with a technique that'll help you do these kind of drawings. 00:03:27 Michael So the technique with one of a dual screen interface, our dual window interface where you draw on one side and you see how that's projected the inside of a sphere on the other side. 00:03:42 Michael A lot of my ideas of these dual screen interface ideas came actually, you know, almost 10 years ago with the the Courier concept the the the dual pane interface that Microsoft prototyped of this Courier, which was these dual screens. I thought that was really cool and I said what could it? 00:04:03 Michael What could be designed to look at a creative tool, be that use two screens for dual two types of interface and now we have the duo and I saw the opportunity there. It was obvious. 00:04:14 Matt That's that's super amazing and I love hearing the your journey to software development. We actually started an architecture school and I I thought that you meant your architecture background, meant software development, architecture. 00:04:26 Matt But you meant architecture in a classical sense, so that's that's really neat. And it actually kind of explains how you came up with this idea too, so. 00:04:28 Michael Exactly exactly. 00:04:34 Matt 00:04:35 Matt Uhm, folks, our listeners might remember you from your Xamarin days, but now you're working with the surface duo. So tell us a little bit about yourself and what makes that device so compelling for Xamarin developers. 00:04:46 Craig Thanks Matt. Yeah, it's kind of shocking to me that I was working on Xamarin like 10 years ago and. 00:04:55 Craig 00:04:56 Craig 00:04:57 Craig That time it's just flowing quickly, so I know a lot of folks in the community from Xamarin, Xamarin, blog, Xamarin, Evolve, etc. But I joined the Surface duo team about a year ago. 00:05:09 Craig To help get the word out about how cool and easy it is to develop apps for the surface duo using all sorts of technology. 00:05:18 Craig But especially, you know xamarinand.net, which is obviously very close to my heart, so just quickly I'm dying to be on a live stream so I can hold up the device. 00:05:29 Craig So everyone. 00:05:31 Craig 00:05:32 Craig But surface duo? Yeah, if you haven't seen it is a dual screen. 00:05:37 Craig Android device it's super thin. It's super light. You can fold it like all 360 degrees so you can hold it, fold it around like a single screen phone or you can like stretch it out so that it's flat and you've got these two huge screens in front of you. 00:05:55 Craig Uhm, that you can multitask. Learning 2 apps side by side, you can span a single app kind of across both screens. 00:06:03 Craig So you get all this real estate. You know if you want to look at your all 12 months of Excel columns or you know double screen of Google Maps. You know it's great for multitasking. It's great for. 00:06:15 Craig Like really delving into one task across both screens, it supports Surface Pen, so it's cool for drawing leading right into the sketch 360 app that I highly recommend. Everyone give that a try. 00:06:30 Craig But as I said, it's an Android device which is perfect for Xamarin forms. It's a cross platform framework and the Xamarin team did a great job of going beyond just making sure that you know you can build a Xamarin app and get it on this Android device. They implemented some controls. There's a two pane view. 00:06:48 Craig That helps you create a layout that works on one screen and two screens. 00:06:54 Craig And there's a dual screen info helper class which lets you kind of query where your app is on the on the device. 00:07:00 Craig Is it on one screen or both screens? Is the hinge angle changing you know, is it like almost closed? 00:07:06 Craig Is it 180 degrees open so you can do cool stuff with your app? Figuring out how many screens it's showing on and you know what the angle? 00:07:13 Craig Of the hinges, all from, you know your Xamarin forms app using C sharp and in a way that's cross platform and you know you're up still going to run on iOS and on tablets and everything else, and the two pane view does really neat adaptive stuff when it goes onto those, uh? 00:07:29 Craig Platforms so super cool device that I love talking about and a really great integration with Xamarin as well. 00:07:38 Matt It really is a cool device and you mentioned that you're dying to be on a live stream so you can show up, show, show it off, so maybe we'll do. We'll just take a, uh, a photo of you and make that for the for the podcast. 00:07:50 Matt Uh, main image, yeah? 00:07:50 Craig Nice made myself a selfie. Love it. 00:07:52 Matt Yep, so Michael, we kind of glossed over it, but this app, the sketch 360, is written in Xamarin, is that correct? 00:08:02 Michael It is. It's a. It's an interesting hybrid experience hybrid applique. 00:08:06 Michael So the hybrid nature is when I built this for Windows the I said there's these two panes. These two two parts of the experience, one of them is a drawing surface and windows. 00:08:17 Michael We have this beautiful ink canvas that's great for inking. It really highlights what the surface can do with inking and any of our partners who have drawing apps can can work well. 00:08:26 Michael With some of these these built in in components. 00:08:29 Michael The other side is uses UH-33D experience called called Babylon JS. It's a it's a JavaScript framework that uses Webgl that can be that presents a 3D framework inside of a uh inside of a browser. I'm using a specific component in there called a photo Dome which. 00:08:49 Michael Basically, I take an equirectangular image. 00:08:52 Michael And put it on the inside of a sphere and then I can look in all directions and the application is pretty simply I draw from what's on one side, turn that into a JPEG and project that on the inside of the sphere on the other side. So in Xamarin terms I'm using the two pane view from the from the Xamarin Nu get package. 00:09:12 Michael For a for a, for for two. 00:09:15 Michael OK, I'm using a web view to do to present the the JavaScript code that I had written, which pretty much ported over seamlessly from from the web view I had on the window side and then I'm using skia sharp to do the the real time drawing and rendering on the drawing. 00:09:35 Michael View which the cool thing is that because the Surface deal supports pressure sensitive pen as well as a, I can use a. 00:09:46 Michael Samsung Galaxy Note, which also supports pressure sensitive pen that the code that works on the Samsung Galaxy Note is exactly the same as the as the surface duo. 00:09:57 Michael And now I have a basically an in control. I built an in control as a component in C sharp in C, sharp on there, and the 360 component. 00:10:06 Michael Is in JavaScript and they basically communicate with each other. 00:10:10 Matt That's OK, so let me break that down just a little bit. 'cause this sounds both incredibly cool and incredibly complex and difficult to to create. 00:10:19 Matt So one was it was it hard to create this app? I mean, how long did it take you? 00:10:25 Michael Uhm, I originally created the app in in C Sharp on on windows, in in a few months. Then when I ported this to I wanted to develop this, you know make this go on a on the surface duo 'cause I saw the potential of that and I realized that either I was going to have to learn a new development paradigm. 00:10:45 Michael With building for Android or I could leverage my C sharp experience and build it for Xamarin forms. Realizing that I would probably have to rewrite a lot of the XAML code. 00:10:57 Michael Uh, which and actually I the the the Windows version is a lot more functional. There's a lot more things you can do. 00:11:04 Michael It's actually a lot more screen real estate, but I took the core essence of this of this 360 sketching and I was able to port that pretty quickly in a few months to the to the Xamarin forms building my own. 00:11:17 Michael Inking component in that we're using skia sharp as a rendering surface, so you know if I'd had my own income component delivered like there was delivered on the Windows platform. 00:11:25 Michael It would have been a lot easier, but because it wasn't, I made my own and then I was enlisted. Some help from some other Microsoft employees in a hackathon. 00:11:34 Michael And they helped me help me build this build and put the finishing touches on that, as this was my first Xamarin forms app. 00:11:41 Matt OK, so yeah, that's one of the things I wanted to ask. Touch touch on was the the touch or the inking control itself that you're using skia you're using some pressure sensitivity and I assume that you're watching where the pen is and then as as the person draws the pen around your. 00:11:58 Michael 00:12:01 Matt Also, drawing some lines on the screen. 00:12:05 Speaker 1 00:12:05 Matt And based on how hard they're pressing on the screen, the pressure that the line gets thicker versus lighter. That kind of sum it up. Real real high level. 00:12:14 Michael That's exactly it. There is a in the implementation of skia sharp on on Xamarin forms. There's a ski a. There's a ski of view that actually handled handles this. 00:12:16 Speaker 1 OK. 00:12:25 Michael Handles this. 00:12:28 Michael Support of handling a pen or. 00:12:30 Michael Touch and it can differentiate between pen and touch so I can use my finger my fingers to pinch and zoom while simultaneously using my pen to draw, and because because the device can differentiate between pen and touch, I can actually have my code be differently act differently when I use it. 00:12:50 Michael Pen as opposed to use a touch. 00:12:52 Michael Or or I have a different mode that actually lets you do everything in touch which you have to work in. 00:12:57 Michael Sort of a modal way to say now I'm using my pen, my fingers to zoom now I'm using my fingers to draw. 00:13:03 Matt So let's then I'll move over to the Babylon JS side, where you're actually, so that on the Babylon JS file in the web view side, that's where you're actually seeing. 00:13:12 Matt Like the whole 360 view of the world that you're creating, and you meant you mentioned, that's your rendering. A JPEG and putting that over there. Is that correct? 00:13:21 Michael Yes, I am so so the the this is a JavaScript library called Babylon JS. It's free to use and you basically has a single API called Photo Dome and in that you basically say here is the image that's going up projected onto the inside of this. 00:13:22 Speaker 1 OK. 00:13:36 Michael Here and then what I can do is I can just update that image. I basically send I send an update to that image whenever I. 00:13:44 Michael Whenever I I pick up the pen after a drawing drawing stroke or out by eraser pen stroke, I then send a rendering in the skia sharp to a JPEG and then send that right over to the. 00:13:57 Michael 00:13:59 Matt OK, so when I'm drawing I'm not actually drawing in a like a. I guess a global plan. I'm just drawing in a regular 2 dimensional plane, right? 00:14:08 Matt I have my X&Y are 90 degrees to each other. I don't have to worry, Babylon JS is doing all the the curvature formally. 00:14:13 Michael 00:14:15 Michael Exactly and then and then what I've done. Also I've created some stencils which help you draw lines that will look straight in the 360. 00:14:23 Michael So if you, if you think about when you were when you were in school, there may have been a big map of the world. A big flat map of the. 00:14:29 Michael World and and they would show you when you when you. When I take an airplane from New York to London, it goes around this curve, doesn't it? 00:14:37 Michael Isn't a straight line. It's always on this curve. You wonder why does everyone that curve? Well, it turns out when you project a a spherical shape onto a flat surface. 00:14:46 Michael Uh, straight lines turn into curves or curves, turn into straight lines and So what I created is some stencils using using some mathematics from a mathematics mathematics professor in in Portugal, who I partnered with. He helped me create some stencils. 00:15:01 Michael To help me draw these straight lines that would end up starting off being curved, then end up being straight in the 360 projection. 00:15:10 Michael And the cool thing is, I've shared all the code for this in a GitHub repo for including the inking component and also the all the all the the stencil code, all the all the mathematics too. 00:15:23 Matt That's why I was just going to ask is this open source and that's that's so cool that someone can actually go in, not just for the dual portion of it, but just to see how I guess, how how you know it. It's all done so. 00:15:25 Michael Yes it is. 00:15:36 Matt 00:15:37 Matt First off, how awesome is this that you have this great reference app that you can point people towards for dual screen development and 2nd off? 00:15:48 Matt I mean, I guess what's your what's your take on this use case? I mean, is this something that you and a team envisioned when you when you go on and talk about the device? 00:15:58 Matt 00:15:59 Matt Or I mean is this? Is this like the use case that you're hoping people use the device for? Or is it like? 00:16:06 Matt Off the off the wall or? I mean what? What do you think the device is best? 00:16:10 Craig For I think totally. 00:16:13 Craig It's one of the use cases that we've kind of envisioned for the device in terms of having a dual view, like different views of the same kind of data. We have a couple of user interface design patterns that we share. 00:16:27 Craig On our website to help people think about how they might adapt their apps for the surface duo and and dual screens. 00:16:33 Craig And one of them is the dual view, which is a pattern where you have two different views of the same information, which is which is kind of what Sketch 360 does. 00:16:41 Craig Whether we imagined this app, certainly not me. This is way above and beyond. This is way cooler than anything I could have imagined us putting on the device, like I'm just playing with it now. 00:16:53 Craig As Michael is talking about it and the the stencils that you've got that give you like you know it's not a Mercator projection, but it gives you this like projection. 00:17:01 Craig Of you know the flat view, and as you draw on that surface like you can be zoomed out and see like all of this area that you're drawing on. 00:17:09 Craig And as you draw, if you're zoomed in on the other pane, it jumps to the stroke that you've just done. So, like you can touch up things around your drawing on the left side, which is your. 00:17:22 Craig Flat view and the right side zooms and zooms and spins around in the photo Dome control. I guess that Michael mentioned to show you the updates happening in real time and then you can like spin around and navigate that in the 360 degree. 00:17:38 Craig You know, so it's you know it's ideal for that sort of thing. You know, it's hard to imagine getting as good an experience on a single screen phone because you know you could do it maybe side by side when you're holding the phone in landscape view or one above and below, but having two full screens, one where you draw. 00:17:58 Craig And one where you kind of like spin and preview in 360 it is. It's just a cool experience. You know. I love playing with it. 00:18:06 Craig And and the fact that yeah, Mike has made the the inking control and the source available for people to use and get some value from. 00:18:16 Craig Like I can imagine, just that inking control, being super useful for you know Android apps. You know across the board you want to add a signature control. 00:18:26 Craig Which is like the minimal kind of drawing thing that I hear people ask for right up to, you know, this 360 degree drawing. 00:18:34 Craig And so that's super powerful piece of code that's out there as a result of this project and and you know, it's great for the duo because we have the pen. 00:18:42 Craig But you know, it's great for everyone, so we were super excited to see this come down the pipe in Microsoft Garage. And yeah, really appreciate Michael work. 00:18:54 Matt Yeah, and Michael it is out in the end or that Google Play store. Is that correct that people can download it? 00:18:59 Michael 00:19:00 Speaker 1 00:19:00 Matt OK Super super awesome and do you have any plans right now to extend it? Does what new features are you? Are you planning any new features for it right now? 00:19:09 Michael Well, well, I just recruited some some colleagues in some other locales in who can help translate it to Portuguese and Spanish, and so we're into final QA. For that to be able to release it actually, not, not, it's it's. 00:19:25 Michael Excuse me, it is not those language. It is French and German. I'm thinking about something else. So get translations to French and German so that the markets that we're now selling those two selling devices to in the for the surface duo that they can have a, uh, a first class experience in their language. There is an. 00:19:45 Michael An area that there are a couple of technical areas which I'd love some help in. 00:19:48 Michael Uhm, specially it the the actually on the uh on iOS the inking, thinking support even though this of course this isn't this isn't specifically for the surface duo but you know since all the code is Xamarin forms it actually will run well if if I if I build it I will. I can run it. 00:20:09 Michael On an iOS device, the inking or the touch is not working correctly and since I don't have the the correct device to test this on, I would need some help on there somebody who wants to try out building it and and trying out and bell. 00:20:24 Michael Hoping fixing the code to make it work for the inking and touching on iOS, that would be great. And because it's an open source project, we're taking contributors who want to try that out so that that that would be the only thing that I could think of, but I think that what what, what, what I want to do is put tools out there to help people. Be creative and it. 00:20:44 Michael Is I I based. I built this tool because I wanted to create these kind of drawings and as I created these drawings I changed the app. 00:20:54 Michael I made the app better and so the affordance that Craig was talking about of every time I pick up. 00:20:59 Michael The pen and it zooms directly. It pans directly and animates to the place where where the pen ended in the 360 view. 00:21:06 Michael That was because I was doing these drawings and I realized I needed something to help me do that. So I did a. 00:21:12 Michael I made a lot of these affordances because I was creating these drawings and so I want to get more people to create. 00:21:20 Michael These drawings on all sorts of devices, which that's what Xamarin form lets me do, and if I can get more people creating these drawings, I can get more feedback on it and I can make a better app for people to to build to be more creative with, and if I can, if I can help people to be more creative, I'm happy. 00:21:38 Matt That's yeah I. I totally agree. Michael and 1st off. Yep, taking pull requests to get the iOS on touch control working. 00:21:48 Matt That'll be what we'll put a link in the show notes for for the GitHub repo for sure, and it be great if someone could take up. Take a peek at that. And secondly, I wanted to ask. I actually have two questions. 00:21:52 Speaker 1 00:21:59 Matt The first one though, is. I mean you mentioning the creativity. So I mean, what are you? 00:22:04 Matt Drawing on it right now, I mean, what, what, what, what do you like to go out and use Sketch 364 personally? 00:22:09 Michael Well personally The funny thing that that I've personally nothing. I'm not going out at all or I'm going out very little because of the the the lockdown we're seeing in the pandemic. So I actually found a new type of drawing that I've created and I've actually extended. 00:22:29 Michael It's got 360 to do this both on the on the you know is a a virtual flight sketch using Flight Simulator. 00:22:36 Michael Here I fly to someplace in the world and I pause flight simulator and I do a drawing of that, whether that's in a single point of view or looking all way around around the airplane. 00:22:49 Michael Couldn't do that in real life, but this lets me sort of do it in a in a virtual way. 00:22:56 Michael And you know, until travel becomes much more common after the pandemic. This is my this is my getting out and and and drawing and and traveling and you know, possibly using three, creating 360 sketches doing that. 00:23:11 Matt That's I bet you nobody else is using simulator for that flight simulator for that nobody. 00:23:14 Michael 00:23:17 Michael Let's just look at the virtual flight sketching. You'll you'll see it. 00:23:20 Matt Yeah, yeah, that's great. You know what? I'll do some research, I'll put some posts in their in in in our in our show notes for that as well. 00:23:28 Matt So, but the other thing I wanted to touch on Michael is where are you most proud about for this application? As far as developing? 00:23:33 Matt Yeah, writing the code what what do you take the most pride about when looking at the source code? 00:23:39 Michael I really like the the the the Xamarin, the way that I can sort of segment the application in Xamarin having really having you know clean components that can start to get reused that I can think about in a reusable way. I've always loved developing in C. Sharp is my preferred. 00:23:56 Michael Language in development because it is extensible in a variety of ways, I can extend the XAML like instant it can send classes. 00:24:04 Michael I can I can work with it in a way that is a very creative process, and so because because Xamarin lets me be creative across a bunch of different angles and it lets me think about it. 00:24:16 Michael In a multiplatform way, it is an expansive tool in that way. 00:24:23 Matt No, definitely, and that's I guess you know. Obviously that's the claim to fame that Xamarin had always and. 00:24:31 Matt I guess yeah, I'm glad to hear it. I mean, that's one of the reasons I got into this Xamarin development way back when is exactly for that. 00:24:39 Matt Alright Michael, another thing I wanted to ask you about was any challenges that you face while developing the app. 00:24:44 Matt Now, whether just regular code challenges or things that you might have pushed, Xamarin forms up to the limits. 00:24:49 Michael Yeah yeah, one of the things that I came up with is that. 00:24:54 Michael Drilling a drawing application, you're going to be drawing on the canvas you're going to be drawing on the screen, and if you think about this, that if I do a if I draw all the way up to the edge, I'm sort of drawing back and forth and I have in in the duo and I have touch gestures. 00:25:13 Michael Enabled so navigation gestures, so if I on my dual if I have that enabled, if I do a swipe in from the from the left or right I'm going to. 00:25:24 Michael Go back it, it triggers a back navigation so I know that I I cannot draw all the way up to the search to the edge of my of my screen. 00:25:35 Michael I can't make it a full screen experience for drawing or else I'm going to trigger back navigations, so I had to sort of make the I had to make a kind of an. 00:25:45 Michael Ugly margin on the left and the right actually left right in the bottom to avoid somebody either swiping up or or swiping to the left to the right while they're drawing. 00:25:57 Michael So that that that would be something that you know if I if I would look at a recommendation for the for the like the Surface Duo team to be able to detect if the user has enabled these touch touch gestures for navigation like navigation back, that would be the the biggest thing that I would ever recommend. Of course, if there were a native in control. 00:26:17 Michael That would be awesome. 00:26:20 Matt So I guess Craig let me let me ask you. That is, how often does the Surface dual team get involved with creating SDK components like Michael was just mentioning? 00:26:28 Matt Are you going to leave that or are you going to leave that up to like the framework developers like the Xamarin forms team? 00:26:33 Craig Uh, a bit of both. I mean, we would love to support the Xamarin forms team in the work that they've done like the and Michael himself, like the controller he's put together. 00:26:43 Craig You know, if we can evangelize that for people using Xamarin forms and want to get inking support right now, you know, it's super capable and you know we'd love to. 00:26:53 Craig Hook people up with it if they're if they're. 00:26:55 Craig Looking, but we are also in the business of building stuff to make sure that the surface duo shines. So I mentioned the two pane view control that the Xamarin forms team has done for Xamarin. Developers are looking to enhance apps for the surface duo, but we really try and do that for. 00:27:15 Craig All of the platforms that can be deployed to Android and and and the device. So we have some controls for Kotlin and Java developers to help them come. 00:27:27 Craig Enhance their apps for two screens you know to do similar sort of reasoning to the what we talked about with the two pane view. 00:27:34 Craig There is a two pane view available for React Native developers. We've got an SDK that helps people get the device info if they're in Cordova or if they're building games in Unity. So no user controls. 00:27:47 Craig Like layout controls for those two at the moment, but we are looking to help you know people give people a leg up into working on the device regardless of which platform which development platform they're using. 00:28:00 Craig And something like inking. You know it's a surface device. There's surface pens. You know the entire surface range. You know one of its strengths is the inking experience. 00:28:11 Craig You know whether you're talking about the studio or a book laptop. So yeah, we're absolutely looking at how we can make those. 00:28:20 Craig Good experiences available to end users by providing help to app developers. 00:28:28 Matt Cool, and here's another question I had about what the duo is. 00:28:32 Matt The flavor of Android that it runs? Is it Android, Android or is it a fork of Android that the dual team has created? 00:28:39 Craig No, it's absolutely Android Android. You know the apps come from Google Play, it's Android 10. It has all of the features, the the gesture navigation that Michael was referring to which which causes problems. You know, drawing to the edge of the screen. 00:28:52 Craig You know that's an Android feature. 00:28:54 Craig The the the customization that we've done is around the dual screen handling of apps, so the the handle that we add to the bottom of the screen which you kind of. 00:29:07 Craig Used to drag the app across from one screen to another or drag it such that it spans over both screens. That's the that's the enhancement that that we've made. 00:29:16 Craig But you know, it's it's Android 10 UM, the the APIs that are available to you to detect within your app whether you're running on one screen or two screens. Microsoft has an SDK for that, but Google does as well. So there is Google Jetpack window manager. 00:29:37 Craig Exposes the dual screen edness if I can say it that way of the device and lets you reason over the hinge being there and you know how you might want to lay your app out around that. 00:29:47 Craig That is 100%. You know that's available from Google. You can incorporate that into your Java or Kotlin app. 00:29:53 Craig You know you can get that stuff into any of the other platforms because they all have kind of native integration support, so you know while there is an SDK available from Microsoft and we're adding lots of controls to help people. 00:30:07 Craig This is an Android experience and you you can build for it just using tools available from Google and you know the jetpack window Manager stuff works for other foldable devices you know that may have that continuous screen that folds in the middle either horizontally or vertically. 00:30:24 Craig So you know you're not kind of. I'm using air quotes here, locked in to building a foldable experience that just works on the surface duo. 00:30:32 Craig UM, you know the APIs are there, they're part of jetpack. Window Manager will run on Android 10 and future and you'll get you know, a a behavior that can run on multiple devices. 00:30:44 Matt And that was, I guess yeah, you your guest guesses. My question is that there's no reason why you shouldn't build for surface dual because that you're running some strange version of Android. You're running Android, Android, so it was really. 00:30:55 Matt No reason not to. 00:30:56 Craig Absolutely, and if you're using jetpack window manager to adapt your device, you know that stuff is going to be available. 00:31:03 Craig You know Jetpack will work the way that Google makes Jetpack work on different versions. So yeah, your app will be able to respond to hinges and folds on the devices that support it, and on everything else. 00:31:16 Craig You know you'll make a decision about how your app should lay out should they should. The items be stacked on a single screen? Should you hide one side? 00:31:25 Craig If you're on a tablet or bigger, do you just stretch them out as though it's a duo, but without the hinge in the middle? 00:31:31 Craig So there's all sorts of things you can do to make your Android app user interface kind of adaptive to the surface duo, and those adaptions adaptations will. Also, you know, help you out. 00:31:45 Craig Going onto laptops onto Chromebooks and to you know anywhere else that you might deploy and if it's a Xamarin app, you know iOS, windows everywhere. 00:31:53 Matt So Craig, let me ask you this, you've been using the dual, you know, for a long time and before it was even released. 00:31:59 Matt And so, as you've been using it, what's your personal favorite feature of it that you've come to love more than anything else? 00:32:06 Craig This probably tells you something about me personally, but just Kindle reading Kindle book reading it was the first app that you know I wanted on it because I do read a lot and there's something about having the two pages side by side experience. 00:32:24 Craig It's for me that just makes it feel and the device is so thin it just makes it feel a lot like a real book and so it's kind of almost. 00:32:32 Craig I feel like I should have some really super cool use case to to share with people, and I do use it for lots of different things. Teams works really well on it and and just side by side stuff like I'll often. 00:32:44 Craig I have two web pages open side by side in edge or I'll have outlook or OneNote open on one side with web browsing on the other. 00:32:52 Craig Because I'm like looking something up or like wanting to check something or paste a link into an email. 00:32:57 Craig So having this stuff side by side multitasking is probably my my general use case, but gosh, I just like using it to read with the Kindle app. 00:33:06 Craig You know, I feed a Kindle fan and I've had, you know, a dozen of those devices in the different form factors. But having a bendable one that feels like a book, just yeah, blew me away. 00:33:17 Craig And it's it's definitely if you had look at my you know screen time on the device, you would find that I spend more time in Kindle than anything else, probably. 00:33:27 Matt Great, I wouldn't have guessed that you would have said that, but I mean that's that's an honest answer and I can actually see that being. 00:33:33 Matt A total great you know, use case and the nice thing about that, you know, just kind of replicating the real life. 00:33:40 Craig Yeah, it's something about that, you know skeuomorphic. It feels like a book. My brain is obviously easily tricked and I love to read. 00:33:40 Matt Situation reading book. 00:33:48 Craig So yeah, but the multitasking aspect as well, the pen, the experience when you're drawing on it, like in in Sketch 360, is a lot of fun. 00:34:00 Craig So it's one of those things. Again, I wish I could show it up and show up on this camera and show everyone, but it's a nice. It's a nice device to hold and and you know multitask. 00:34:10 Craig 00:34:11 Matt Very cool, so Michael as we as we close it out here. I mean what what's next for you? Personally I mean, are you? 00:34:19 Matt I assume you're not 100% Sketch 360, so I mean what? What are you developing right now? 00:34:25 Matt For for yourself, I mean is it still sketch 360 or be working on any other passion projects? 00:34:30 Michael 00:34:32 Michael Nothing, significantly, it's it's, uh, it's you know, with the application there's both the windows and the and the Xamarin forms version. 00:34:39 Michael I continually update them as as I see feedback so I'll look at the telemetry that I'm getting about where people are having where, maybe have bugs may have crashes, enhancing those, and then you know as people reach out to me about. 00:34:53 Michael Could it do this or could it do that? I'll I'll look at and see that through the feedback and try to be responsive to to where people are are using it in the world to see. 00:35:03 Michael To see you know where people are using the world, to see what people are creating with it. And so it's you know it's really watching that. 00:35:11 Michael And so a lot of what I do. This is just a very much a part time, passion, passion, project that I'm doing. And so it is you. 00:35:22 Michael You know I I spend a lot of my time still also doing a lot of drawing and painting and so that that's that. 00:35:27 Michael That's where I spend a lot of my time in their old analog. You know, on paintbrush with the on in a journal. 00:35:33 Michael Uh, so that's where I that's my primary creative tool, but I see that there are some places that I need to go or that the the the digital actually will work better, so that's where having the ability of being able to do these 360 sketches in a, you know, wherever I am, makes it kind of fun with that so. 00:35:53 Matt Nice and I was going to ask the Sketch 360 is I'm what I'm going to call 100% contained. It doesn't have like any cloud back end to it or anything like that is just. 00:36:02 Michael The the only cloud is the telemetry that it that it sends to to uh, app Center for for so I can see if any any crashes are happening and things. 00:36:11 Michael Like that, right? 00:36:11 Michael Like that? 00:36:12 Matt Right, OK, very cool. So either Craig or Michael. Anything else that you'd like to add before we wrap up the show or. 00:36:22 Michael Well, I I I would just like to say anybody please feel free to try out Sketch 360 or even you know fork the code. 00:36:30 Michael Give it a try. Take a look at it. See if you can see you can understand how how it was written, how it works. 00:36:36 Michael If you want to, uh, tinker, if you have any things that you think might improve it, or if you want to help, contribute by. 00:36:42 Michael Making, uh, helping translate it to your language, translate it to a language that you know in terms of in spoken languages or or or if you can help on other platforms that we target. 00:36:54 Michael So it's I think that bringing it to Xamarin was the was really an opening to a lot more opportunities for it to be on different types of devices and I I love the idea of the the dual screen device as a way of a creative platform. 00:37:11 Matt Yeah, and I agree. Well, like I said, we'll put the repo GitHub link in the show notes and you bring up a good point about the inner internationalization of the app. 00:37:20 Matt That just makes it even more inclusive. It broadens the audience to bring it, bring the app to more people, and so if you can. I mean, that's a great way to actually get a pull request and they contribute to the project. 00:37:32 Matt So yeah, absolutely all right. So to end the show, I'd like to do the pick of the pod and unlike the pick of the pod where James and I just talk about a library that we'd like to use for the customer stories, I like to just open it up and be anything. 00:37:46 Matt And so. 00:37:46 Speaker 1 00:37:48 Matt TV show a book I happen to be reading or anybody happens to be reading whatever you're into and so this pic of the pod. What should I go with, you know? But here here's the thing. This thing I really like it's. 00:38:03 Matt Like a IoT garage door opener and I forget what the company name is, but I'll put a link in to the podcast is I recently moved and I have a detached garage right now and. 00:38:16 Matt I always forget whether I have the garage door open or not, so it beats having to run out side to check if the garage door is open. 00:38:22 Matt I have it now on my phone to see you know the garage door is open or not and if I did forget to leave it open. I can actually close. 00:38:28 Matt Is it right away? I think it's called my letter Q and I don't know super easy thing that the app costs like or the whole thing costs like $30, but makes life very easy for me that I don't have to run outside anymore to check if I left the garage door open. So that's my pick of the pod being lazy and being forgetful. 00:38:49 Matt And having an IoT device to shut my garage door for me, so Craig, what do you have for us? 00:38:56 Craig So I've got to go old school and choose a library and it's going to be a pretty obvious. The Xamarin forms dual screen you get. 00:39:03 Craig So this is Simon podcast and we've talked a lot about an app that runs on the surface duo, so I want to take this opportunity to highlight for people that you can easily add the dual screen nu get to your apps and enhance them to run on the surface duo. We have an Android simulator. 00:39:23 Craig That you can download and Matt again. We'll put the docs link in the pod notes, I guess docs.microsoft.com/dualscreen. 00:39:31 Craig But you can get the emulator. You can get that and you get and go to town with. You know tweaking your existing apps to kind of take advantage of the surface duo. 00:39:40 Craig And like I said, the the two pane view control is a nice way to also get tablet layout or desktop layout for you know all of the other platforms that you're. 00:39:51 Craig Targeting so yeah, two pane view for me. 00:39:56 Matt All right, yeah, we should mention that using the two paying view control is actually really straightforward and the docs that you mentioned are really good. 00:40:03 Matt So yeah, I'll definitely put the the link into the show notes and then Michael, what's your pick of the pod? 00:40:08 Michael So a colleague of mine just and friend just released a book and the book actually is very topical to what I create in these 360 sketches. 00:40:18 Michael It's called make art with artificial intelligence. The author is Kevin Ashley and this is all about, you know, using our AI. 00:40:28 Michael To help make. 00:40:29 Michael 00:40:30 Michael Different techniques for using AI to make art, and one of the things he talks about is a real, highly topical area of NF non fungible tokens. 00:40:42 Michael And if anybody who does digital art, they realize that their artwork is easily copyable and reproducible in the millions. 00:40:51 Michael And the idea of these NFC is people thinking of a way to make digital art a commodity that could be sold and so he he talks about this in in AI. And it talks about he writes about this in the book. 00:41:07 Michael Uh, about this new hot topic of shifts, which is a lot of press in the last couple weeks. So this is my book I just got. 00:41:16 Michael He just released it this weekend and I'm starting on it now and is his fascinating way of of looking at all the different ways that AI can be used in art. 00:41:26 Matt Yeah, that sounds super cool and we'll put a link. Yeah, make sure you send me the link so we can put it into the show notes. 00:41:31 Matt And yeah, whole NFTS itself. That could be a whole podcast. I'm sure there are a lot of podcasts on that already so. 00:41:38 Matt So alright, well Craig and Michael. Well, thank you very much for joining me on this podcast. It's been great. Sketch 3. 00:41:46 Matt 60 is a awesome app. I I love it and the Surface dual itself. You have to go check it out both amazing. So Craig and Michael. Thank you very much. I really appreciate it this has been. 00:41:58 Matt Xamarin podcast