James: 00:08 Frank it must been nearly a year ago James: 00:11 go or so I want to say where you took your win 32 APP Calca and desktop bridged it and shipped it into the windows store. Is that correct? Frank: 00:21 Oh Gosh. Are we coming up on an anniversary? I didn't even realize it feels about a year ago, so I'm just going to take your word for it. But God, time flies. When I say it feels like a year ago. It does feel like I just kind of finished it, so I'm mine. Ah, yeah. And that was a good experience. I'm going to say, um, I've enjoyed the store. I really enjoyed not doing any processing on my own credit card processing. I mean, James: 00:47 yeah, that was the tricky part because you were not only doing your own updates, you had your own, you know, sees that you are distributing your whole payment processing. And frank, a year later I went through the same exact thing. Frank: 01:00 Oh No, those did you finally ship? Oh, we were talking about it. I wanted you to ship like your first game or something. What were we talking about that I wanted you to? Shit? James: 01:09 Well at that time I believe we were talking about, yeah, some game that I was building, but a few months ago I started a new.net core WPF application. I don't know, uh, why I chose WPF as my front end, but I decided that I was like, you know what? Dotnet core, it's running, it's running WPF apps. I'm going to build some WPF apps and it's gone be great cause my apple run everywhere. Frank is going when I went and run it when a windows seven windows eight windows 10 because you know everybody obviously twitch streams on those and this utility app is going to be perfect for them. That was my thought. Frank: 01:48 Are there hard numbers for that or the twitch folks? Mostly windows people. James: 01:53 So twitch people are mostly windows people because the streaming software itself works better on windows. It just does. And Mac has some, Mac has some interesting audio and and driver incompatibilities. So most people I believe stream on windows, not all, but most people do. And I was like, well, maybe, maybe this utility will be useful on windows seven windows eight because I don't know what people are using. Uh, at the time, even though I do everything on windows 10 and like any developer, I'm building a tool for me. But of course I want to distribute it to the world. Frank: 02:30 Yes, yes, yes. Well, that's the same reason that I wrote Calca with winforms forms because winforms has just a very light wrapper over the wind 32 API and you can think of, WPF has a very thick wrapper over the wind. 32 avi. But um, WPF is so much better than when 32 for so many things. Um, I still prefer when 32, because I grew up with it. I know the API inside and out. I know how to hack. I know how to make it, do whatever I want. I don't have, even though I worked on the WPF team, I do not have that same skill level with WPF that said, WPF is so reached a feature rich compared to win 32. It has all the media ridiculous binding 8 billion controls written at this point. So I honestly can't make fun of you for your choice here. James: 03:24 Yeah, I, I, you know, I know that on UWP there's tons of great libraries and grid other things and I go, you know, I'll just, I want to try out this new TAC, the new hotness, really give it a, I'm going to be a good dog food or you know, that was going to be like my contribution to Microsoft's working there for some, I'm going to dog food. I'm going to go through a process of building this happen. Uh, I did it and I finished it and I now have shipped it to the store. Not using desktop bridge but using MSI. Exe, Ms. Oh, Frank: 03:56 did they change it again too? I have to change my belief system again. Is that what we're talking about today? Because I just thought we were going to talk about WPF all day. James: 04:05 No. Well, so I did have a great time. Let me, let me just back up here a little bit and tell you where I started, where I ended and how this MSI x thing really has changed my world. After knowing what you went through. Frank: 04:18 Let me, let me start. Let me start with what I know about Msi acts. As far as I know, it's just a standard install our package packaging format that's been around kind of forever on windows and you double click it and installer comes on and yeah, you have new software. And I remember it was a lot of XML files and goods and I never wanted to touch them. James: 04:43 Yes. However, now is very, very easy. Tell me more. Tell me to take us on the journey, James. So I built this application is very simple. It's called my stream timer. The entire goal of it is a countdown clock, a count up clock. Uh, and I made it so you could, the idea was to pass a command line arguments. So from my stream deck, which is this little thing on my desk, I could press a button, launch the APP, and it would start a countdown timer. And I would put that into my stream overlay. So I'd be like, oh, starting in five minutes and it would count down very simplistic. I could add a minute, I could reset it, you know, just a few tabs. So I think I've seen Frank: 05:21 myths on your site before you had um, like just a little kind of led font for it or something at first is little kitschy, is that right? That one? Yep. Yup. James: 05:30 Yeah. Basically that. And then I was using another tool called snazzy, which is a like winforms app and it's very, very complex. It has a bunch of tabs, so many boxes. It's just ridiculous. And um, I go, I just want to count down. And I was like, I can build this, I can build an in WPF, I can build it with Mvvm, I can port it to the Mac was Xamarin forms. That's my goal and I can ship this thing. So I totally did it and I got to the state where I go, okay, well how do I distribute this thing? It's like a habit haven't x. How do I get it to people? And I could just be like, download this ECC, you know, just go for it. Frank: 06:10 No Man, bittorrent, like it's windows, no one has or everyone's got virus software, so no one cares. So you just throw it up on the torrent and be like, hey, kitties is, go get it at this bitly URL. Isn't that modern? No, you James: 06:24 could do that frank. But then I thought a little bit further into here, which was how do I deliver updates? Frank: 06:33 Yeah. That, that's what kills you. And that's exactly the problem I was running into with Calca. Um, I was using Squarespace, which actually has a really nice simple store built right into it. It's actually very easy to get going with. We should keep them to sponsor us someday. Um, mental note. But, um, while it's supported digital downloads, it didn't have any concept of apps and versions and any of that stuff. And so I was in this awkward position of being like, hey, everyone, just email me and I'll send you the exe or a new link to it. And then I was writing update software and it was so messy and that's what got me onto the Microsoft store. James: 07:12 Yeah. So I go, okay, well how am I going to get, you know, a WPF Dynacore three APP and I want to do it one of two things. So I go, if I'm on the Microsoft store, that means that I'm going to be on windows 10 only. So I tweeted out and that was my goal, right. Was like, oh, I'm going to do this in WPF so I can ship it anywhere. That was my goal. Yeah. Frank: 07:34 Yeah. I wasn't thinking the store is not on those old ones James: 07:37 does not on those old ones. So I tweeted out the question like, how do you do this and how do I get it out there? And people said, well, go you squirrel. Just go use squirrel, which is a package manager updater. Uh, Paul Bets, you know, friend of the show has definitely talked about it for a long time. Frank: 07:55 Well, let's talk about it for a minute here because I think it's actually very impressive. Um, my biggest problem with using.net on windows in the past years ago was version mismatches. You could never get someone on the right version of.net. Um, you always hated saying, here's my app. It's only 200 k but you have to install 200 megabytes of.net to get it to work. It was always these weird, um, chicken and egg scenarios with installing our apps and there was install our technologies, but they were all kind of ridiculous and hard to use and hard to get. Exactly right. And Squirrel was just a brilliant piece of work to package up your apps, handle updates, just make life easier, not requiring admin stuff. It's just a beautiful design James: 08:43 is very, very nice. And I go, oh, maybe I'll, I'll go ahead and try to implement this. And I was live streaming it and they even have a way of doing get hub like releases. You can use get hub as your for distribution, which is great because we don't have to pay for bandwidth. You're like, Whoa, that's cool, you know? Yeah. And then I go, well, does it support.net core three and maybe, maybe not. I'm not really sure. There was some open stuff. It didn't really seem like it. It was was there wasn't and.net core three. It's still, it's still in preview. Right. So I mean, I'm sure. I'm sure I can really, I'm shipping preview bits. Yeah. You can't yell at people. Yeah, I can't, I can't be mad at them. So yeah. Uh, it's tough. Um, I've been running into that too because I desperately want to switch all my libraries, all my apps over to preview three specifically again for the new version of c sharp. James: 09:39 Um, but yeah, you just, you can't yell at people right now because Microsoft's brilliant and put that word preview on it. It's true. It's very true. So I tweeted out this question, I got a lot of recommendations and then someone said Msi acts, but a bunk ching. And that is when I realized there's a few cool things about MSI x I don't want to talk about. So the first is I like to think of it as the evolution of the desktop bridge. The entire goal of the MSI acts and the packaging tools is to simplify app distributions and automatic up APP updates. Frank built both? Both. Both. Oh No, you have my attention sir. Because up till now I was just thinking of one of those install shield installers and I'm like over it. But no sir. Tell me more. So you can take any acce, any installer, any MSI, shove it into the package manager or any APP inside of visual studio and it'll just work. James: 10:43 But how's it updating? Where's the Magic James? How does it know how to get updates and all that kind of stuff. So built into the MSI x and the tooling you can host, you host your files and your installer on a web server or a shared path. If you're in an enterprise, you could put all of your apps into a shared location and uh, no, I'm, I'm getting a hundred pounds. Yup. No, I'm serious. Just like a stupid line in a config file. Yes. It's, it's a line that says, hey, go check this URL for app updates and they generate everything you need to upload to your backend. So I created a web app inside of Azure. I FTP into it and I drag and dropped a bunch of files into it. And now I have a beautiful website that has my app in it that I can download. And then you can say how often you want to check once a day. Every time you open it every five days and it will automatically update it just as if it came from the windows store. Oh my God. Frank: 11:54 Okay. Well we've got, so we have a few things to discuss now, so that's pretty awesome. I love it. Yeah, that was going to be my first question is how does it know the difference between versions, but it sounds like it's generating a bunch of Metadata, additional files that go along with just the MSI, exe that has all that kind of information. James: 12:14 Cool. Yeah, it has your kind of like required operating system, version architectures, publisher certificate, all the things that you would imagine Frank: 12:24 now. Um, what, what were you saying you wanted to run on windows seven? So does all of this work on windows seven James: 12:31 this is a great question, frank. So now how you make it is, is, is very interesting because what you do is you go into visual studio a and I did it in 2019 and you have to have UWP installed to get the new irony. The irony of is that you have to have UWP and salt because the APP package is some sort of UWP thing and, and what you do is you just add your project as a reference. So I added my WPF as like the, the package reference to say, hey, this is the app I want to build filled in some metadata. I said generate package per specify my architectures. And I said, you know, siloed, it enables sideloading and through this process automatically this will work, at least right now on windows Frank: 13:29 10. Okay. So that sounds very familiar to me. That sounds roughly the process that I went through with Calca is, is that true? Is this at least this beginning part here? Is that similar to the one you would do to take any APP and put it on the store versus just a six? James: 13:47 I believe so. I believe so. It's just, it was, it's very automated. So you go in and you specify all of your icons. It like generates all of them for you. You specify your metadata, you can add like different permissions if you need them. You can specify specific windows, 10 e things. So I added a protocol. So in this process there is no x z or it's an [inaudible] hidden somewhere on the disk. I have no idea where it lives. So I wasn't going to implement a command line. I was trying to go and implement a command line version of this. So you could specify like start five minutes. So I added a protocol for you, our eyes. So now you can do my stream counter colon slash slash, countdown, five minutes and it will start automatically because windows 10 has a built in. Very cool, right? But it's a WPF APP. It's a WPF APP. Vanana Frank: 14:40 so confusing. I love it. So rewinding, okay, we have a WPF APP. It's a separate project. We created a new project. What is this project type called? When you'd say like file new? It is a windows package packaging project. Windows packaging project. Okay. So you create one of these reference yours set all the properties and this gets us to a point where we have an awesome package that now tell me if this part's right. Um, does that only work on windows 10 at this point? This package. So at this point in this date and time it only works on windows 10. Correct. Okay. Now, uh, do you have a plan for the older operating systems or do you just have another trick up your sleeves? You, you haven't told me. James: 15:28 So luckily Microsoft has a plan to, to come save us. This is where it gets a little bit tricky and I want to deep dive into where things diverted immediately from my plan. But let's take a break real quick frank and thank our sponsor this week. Insta bug. Listen, you just finished developing your APP. Just like I just finished developing my app and you want to get it to testers. You want to get feedback before you ship it off to the apps or well, that's where Insta bug comes in. They're here to help you streamline your feet back process because that's not as tedious, right? And never gives you enough data. So in some bugs here to help, it's an Sdk that you can integrate into your Beta apps, has a super intuitive bug reporting and feedback process for your users to report back issues, gather all the data and things like that. James: 16:20 Now when your app goes live, you can continue to gather insights. You can measure user satisfaction through surveys that will, you know, you prompt when you want to. You can do star ratings in your app, multiple choice questions, anything that you want so you can continue to build a better apps. Now the great part here is that you can get started in just minutes. You can go to Insta bug.com/merge to show your support for the show and you will get 20% off any plan when you use the offer code merge conflict 2019 one word, one thing, merge conflict at 2019 and they'll even give you a free 14 day trial to get started. Head over to [inaudible] dot com slash merge and thanks [inaudible] for sponsoring this week's pod. Frank: 17:06 Thanks. Since the bug. Yeah. Boy, I need to put a surveys and my apps. I've gotta learn. You gotta learn, James: 17:14 you say learning. So Frank, I'm in this state where I have now published my test app up to here and I, and I only support windows 10 at this point and I've sent you the Lincoln Zen caster so you can look to see what it generates. I did absolutely no work at all and this is what I get, which is very cool. Frank: 17:34 It's, it's a pretty good, let me, uh, give a picture for the audience here we have a big icon that looks kind of like a default one. James set a default icon you chose. No, I, I made that and in like, uh, you're, you're killing it because it looks just like windows James: 17:50 icon. So it's perfect. Um, we have a title, a version that a text in a nice button that says get the APP, which on Mac doesn't seem to do much. No, I would assume not. So on windows 10, this will do something, it will download the application and install it for you. Now the problem that I ran into is that you need to sign your application with assert a Pfx cert just like normal. Oh yeah, I remember this. Then the battle days, we all had to run off and get our own certs and it was hard. Uh, developers, certs are super annoying because they make you go through like, I don't know, background checks and stuff that's dumb and you've got to pay for it. And it's dumb. Like it's just the worst system on the planet and it's not cheap either. It's expensive, kind of. It's a few hundred dollars based on where you get it from every year and they expire. James: 18:49 Like you've got to get a new one next year. It's the dumbest system on the planet. Sorry windows. But it's dumb and this is so at, you know when you install your app it's trusted. It's nice and it's good. Now this version I just signed with my test cert and you know I was talking at this point to the MSI x team and some of the developers and they said a, well you need to get a real search so when you're any user installs it, it will just be seamless. And if you don't then they'll have to install your cert first. So actually have no idea what will happen on your machine because yeah, I'm using the test or I think you'll have to install it, but luckily there's a publisher cert link in the additional links so you can just install it from there. And then I'm powering, I'm powering up my virtual fusion machine. James: 19:35 So now we'll have an answer to that one in a question in a moment as we, yeah, you definitely need to sign your apps. Windows has just gotten so angry on signed code these days. I don't know though. I am curious to see what dialogues a presents. I'm curious too because on my machine when I click get the APP, it's super butter. It's really nice. It literally downloads a very small file. It's almost like one click and it just has install and it's very nice and you can launch the APP and it just adds it and it's very beautiful. I'm very impressed by the process and then I started to think because someone in the chat, maybe it was orange, said, if you just distribute it to the windows store than windows does the certification and the certs and that's trusted on every windows machine. You don't have to pay any money. James: 20:21 And then I said, I get it now. The thing that I want to do, which is this website is really for enterprises or for people that are going to charge money for their apps and you know are going to buy us or, and they're a trusted source. This isn't for me. That's what I've learned because sad because I really liked the site it made. Yeah, it's nice you could customize it and everything. However, that's really sad. However, this website is perfect for my Beta testers that are going to go through. Okay. [inaudible] you see what I'm saying here? You could ship this as a Beta through this site with your tests are your Beta users can install it. I'm, I'm assuming it's going to be easy. We'll find out in a few minutes apparently, and then you could continuously ship updates to your Beta all the time, so you could use it as your own dev builds. James: 21:12 If you were just an independent developer building an APP for yourself, you want it on all your machines, boom, this thing is great. Or even for your own company. Yeah, so I was really impressed. Now you asked about windows 10 and we'll the support older machines and the answer is yes. Apparently in the works is a sort of packaging tool where you can download a, basically an installer that will be able to install these installers of some sort, I guess package or package or a package, a package or package or installer of an installer packager. Frank: 21:48 Well James, I am ready to get the APP. I'm ready to click the button. I shouldn't take bets and what's going to happen do it. I clicked a little white window, came up with a little squirrely thing and it says publisher refactored capability uses all system resources. Wow. James might want to get your memory resources down there a little. It's going to access my internet. And should I launch when ready? Going to click the install button as your icon there by the way. Nice. A scrolling, scrolling. Oh, error. My stream timer installation failed. Either you need a new certificate installed for this APP or you need a new app package with a trusted sir. Yeah. Ah, ah. So you're just going to give around your, um, Pfx file. What are they called on windows? James: 22:38 So I don't think it's there. If you go to the additional links, you'll see the publisher certificate. I think you can right click and download that and just install it. Frank: 22:46 Ooh. Um, additional links. Publish a certificate. I'm just going to click it. We'll see what, oh, nope, nevermind. Edge did not like that. I tried to download it. Yeah. It should show you a bunch of shenanigans basically cause that's a cert file. Um, oh Lordy, it's not downloading very well. James. They need to work on that link. Let me try and chrome. If you right click save as yeah. But it wants to save it, it's an html file that's not going to fly. That's funny. Um, okay. But that's what you would have to do is yeah. Um, install that cert. Yeah. Um, yeah, so I actually pay for a cert because I do a tiny bit of work outside and I do create installer packages. Um, so sometimes I just say, ah, it's a cost of doing business as someone who makes apps, but I totally get, um, yeah, this will work fine for Beta testers once make that link better or maybe you can put up the link better. James: 23:48 Yeah, yeah. I think you can say they give you the html page and you, you, you just do whatever you want on it. Right. So they give you the things you do the things, you just click the buttons and it just launches that little installer, which is super nice. And Yeah, for your situation it's great because, um, in that, in that regard, you know, you already have a search. So this is going to work great for you. If you want to distribute it and, and have some sort of payroll you're going to solve to do some sort of payment processing and all the things. Now, from my understanding, I could be wrong in this, could change in the future. It seems as if the windows seven windows eight experience is more of enterprise type feature. I think that anyone could do it, but you're not going to ask your users to install and install our app to install your app. You know, so Frank: 24:33 well if it's smooth, if they don't notice, it's fine. That's true. The current visual studio installer is an installer for an installer. That's true. You know, I, I love seeing that thing update and you know, it's steam does it. I think honestly the modern generation gets it. It's a bootstrapping problem. You always need an installer for an installer. James: 24:51 That's a good point. I didn't think of it that way. Yeah. So yeah, maybe it, maybe it won't be a big problem. I don't know if that is ready yet or if it's going to be. But for me I was like, oh this is cool. And then I didn't want to pay for a cert because this tool is free. So the nice part here, frank, is that I didn't have to change anything previously. Previously I would go into visual studio, I would right click and say distribute sideloaded apps. Now I right click and I say distributes to the APP store and it goes through the same process and it ships the package up to the Microsoft store and it's in certification right now as we speak. Frank: 25:29 Yep. Okay. So do you have more demographics? I guess we kind of started with my question of um, windows users twitch you through cs windows. Uh, do you know the version breakdown of those stats? I am out. Really? Nah James: 25:47 positive to be honest with you. I believe that windows 10 maybe is, is the biggest share. Frank: 25:56 Great. Firstly, all fat. You're done. I'm not 100% sure. I'm trying to look up like literally on the Internet, but that doesn't help apparently. Did Microsoft give any timeframe for the packager packager? I just saw some tweets. I don't know. I'm a, I'm a, I didn't do all that much research on it, so I'm fine. James. It's all right. Hey, guess what? I installed your certificate and now I'm going through your installer again. Clicking install. It's getting my system ready and it failed. Oh No, nevermind. Shoot. Um, yeah, I think the problem is, uh, you used a machine signed certificate and the signer, it couldn't, it couldn't find a signer for it. Um, yeah, I probably, Oh, you know what it was so I just right clicked and use my test cert, what I didn't do, why this is failing. And it's because the person told me as well that this would be the issue is that I need to create a self signed cert and then that would work. Frank: 26:59 Yeah. Because now that I inspect the certificate, it says issue to some Gui issued by some good. Yeah. So this is, this is a pretty pathetic little, sir you gave me. So yeah, you need to do a self signed. Yeah. So I will do a self sign sir. So that's easy because that's just command line. It totally works. That's free. So you know, so uh, and I have an update for you. There is a preview, there is a preview of the win seven Msi installer so you can get that. Awesome. Uh, so would the process be you at the end user end user process? Would they just have one exe or would they actually have to take two steps? It seems as if it may be two steps, but there might be a way of bootstrapping that together or you could just update and say like install one install too. Frank: 27:45 You know what I mean? But I'm not positive. Yeah, I just prefer one click installs. That's what was so impressive about squirrel back in the day. But you know, James, we could easily write an installer, installer, installer. That's true. And that would solve this problem. That's true. That is very true. You know, I think that I didn't win 32 on assembly zero dependencies. Oh my goodness. Yeah. I mean, I think the nice thing here is that in in general, you know, this Msi x thing is really supposed to be not only just for windows, but I think the idea is that it's also cross platform and works everywhere. So you mean on like all the wind 10 platforms, right? I mean on Mac, on Linux, on android would, yeah, I, I'm pretty sure, I mean I'm literally looking at the, um, the packaging on the, on the, on the MSX packaging get hub and it says that it, you know, they'll, they'll, they'll, they'll do stuff. Frank: 28:49 I don't know what that means. I don't know what that means is just talking from the Mac side here, when I go to your website on the Mac, it wants to use a scheme of Ms Dash App installer. So on Mac you would have to have an APP that responds to that Uri to that Uri scheme. And that APP could takeover. But Gosh, I didn't think Microsoft would work on such an APP, but maybe someone else can. Yeah, I don't know. At the end of the day, all I know is this is a good first step and I've compared to what I kind of remember you doing for your desktop bridge. It was really simple and I have a blog post that I'll, I'll, I was coming out at some point on my blog that I, I stepped through, I'll send you a preview of it, but you can kind of see me walking through the steps and you know, when you just say like, check my app once a day. And I'm like, yeah, that's exactly, James: 29:42 I want to have it to do you know what I mean? Uh, it just, it just worked. I was, I was like, wow, this, I can't believe there's just worked and it totally worked and now I do need to do that self sign certain, get that done. But besides that, I was like, this is cool because I'm also a spicing it up with those protocols and other things and you know what, I'm, I'm a happy camper. I mean, I could have gotten around this just by creating a UWP APP at the end of the day, but maybe you have existing apps, frank and you know, you need to publish them into the store like, or you need to polish them onto the web and get them downloaded easily and boom, it totally happened. I'm very happy with myself. Frank: 30:23 Well, you know, UWP runs in the sandbox to sometimes you just, you know, you don't want the constraints, you want to get outside the box. So it's a totally valid scenario. And Yeah. Any Dev tool, anything that's going to do a lot of file system stuff, you kind of just want to be out of the box. Yeah. James: 30:40 Now you know, one thing that really got me though is I was using for my WPF app, I was saving some files to desk. So I used environment, Frank: 30:49 variable, local application data. That seemed like a good place. Uh, sure. But you're in.net aren't you using environment gets special folder, special folder dot. Blah blah, blah. I don't know. Um, James: 31:06 I just, now I'm using, so local application data does, it exists, but it's, it's actually, once you put it through this process, it is massive because it's buried down into some crazy directory unlike, you know, where it would normally be. So now I'm using common app Frank: 31:23 patient data and then that seems to work for me, so I don't know. And then there's like the roaming application data, I think there's like three different places you can use on windows. Um, yeah. Good luck with that. I never know where to put files anywhere, especially because I write clock cross platform and it's so different where you're supposed to put files on a MAC versus windows. Yeah. It's always kind of one of those annoying parts of running cross platform software. Something as mundane as that. Yeah. And you know, yeah. James: 31:50 At the end of the day it was, it's still a WPF application, which means you can still have multiple instances of it running. Um, Frank: 31:58 yeah. Which I fixed with the mutech stuff, but that's about it. Did you really? That's so bad. You took away the one awesome feature. It has over UWP Nice. Yeah. WPF is just really powerful. It's just it, it was meant to replace when 32 so it has just all the features. It's quite impressive. Yeah, it's good. That's my story of distributing my WPF. Dot. In a core three application. So this is good stuff. I mean I feel like half of my time as a developer I'm thinking about distribution. So it's a little, it's not at all weird that we talk about it a lot cause it's always on our minds. Yeah. Oh is a man and it, and, and it, it was James: 32:40 on my mind in the beginning. I was like, I'll just wait until the end and then I go, oh crap app updates and you know, this did it. So yeah. Yeah. Oh crap. APP updates, show title, seamless APP updates with that MSI. Actually I was very, I was very impressed over also Kudos or now maybe you'll, you can go through this process and I will say though, the reason that you did see that it needs full access, full permissions is because just like desktop bridge, it's, it's running in a pseudo sandbox. I'm pretty sure it's a sandbox with no walls. It's a sandbox in name only. Just the sand is to sprawling out the end. Oh No, I tried to keep it in their kids. Well, I look forward to your blog because I want to see what the differences between what I did. So it'd be nice to compare and contrast. James: 33:31 Yeah, I think that you'll be, uh, you'll be pleasantly surprised. But yeah. Uh, I'd be interested if anyone else has gone through it or what they did, but my apple be hopefully out in the stores as long as it passes cert. And uh, that's, that's the thing is why I did, I didn't want to have a certification process. I hate certification processes. No one wants it. So did you pick an age level? What age level three are just automatic, right? It's just like, yeah. Okay. I didn't get to make, I did get to, I mean, the nice thing is it will have a fancy page associated j associated with it. Um, but you know what I made a fancy get hub becomes, you know, has icons. I made a fancy get hub page for my stream timer and everything and I added a bunch of these, you know, these icons and images inside of uh, inside of, uh, the, the, the APP store page sociale it goes, but yeah. James: 34:26 Is it open source or you venture backed on this one? This will be a completely VC funded on this one. Oh, good, good. You don't want to give this kind of thing. Oh No, it's completely open source. Okay, cool. Yeah, no, it's completely up to just checking. Yeah, no, I built it live on twitch so I could use it with twitch, you know what I mean? So how in such you with, yeah, that's how I would do it. So yeah. Awesome. One more time with the installers and it won't be the last, yeah, I know it, it will not be the last, I mean they, I want to believe that this is, this is the last one, but I don't know. So no, we have to do a whole episode on the installer installer. Obviously this was just one big teeth for that episode. That'd be true because I would be interested to know how it works for your APP. James: 35:18 Right. Could you use this? And then seamlessly process to windows seven and windows eight with the new process. I mean, that was the biggest downside of me going onto the store. It was losing windows seven people. So I'm absolutely curious about this. Yeah, we'll report back as soon as you know more. Frank, thank you for letting me talk about packaging applications for 35 minutes. You know, I enjoyed it too. Don't worry about it. Good. All right. Thanks everyone for tuning in. And of course thanks to everyone that has been chatting with us and a discord chat, uh, and also our patrion supporters. We super appreciate that. And of course our sponsor instabug for sponsoring this week's Pod, you can find us on all the normal places, Twitter, the APP stores, the podcast applications, all the things, you know, just click the button, subscribe, tell your friends about the show. Super appreciate it. And of course, um, you know, feel free to write an email, go to merge conflict out of them, send us an email. We like that. We'll read it back. That's going to do it for this week's merge conflicts. Until next time, I'm James Montemagno. Frank: 36:20 I'm frank Krueger. Thanks for listening.