Universal Windows Apps: Develop for all Sizes
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Klint, Lars
When Microsoft recently introduced universal Windows apps, they weren’t given much attention. In fact they created more confusion, especially for the large number of mobile developers on the Microsoft stack. However, the fact that you can develop one app that can then be deployed on multiple platforms and reach an exponentially larger customer base with almost the same effort it extremely powerful. Universal apps work on everything from Windows mobile devices to tablets to “Big” Windows, yes, even on Xbox One. This talk will introduce developers to building universal Windows apps, and take advantage of some of the unique features they deliver: - Reuse your user interface by implementing cross platform native controls - Target screen sizes from 4 to 27+ inches in a single solution - Give users a streamlined experience across devices using roaming storage - Get tips on how to increase your return on investment by targeting the entire Windows user base
 Excellent. Alright, thanks for coming. I hope you enjoyed the party last night. Very quiet walking in. You need more coffee? That's a yes. That's a yes. My talk is on that subject and here's a disclaimer. I wrote this abstract six months ago and guess what happened in those six months? Everything changed. So, I'm going to show you all the new cool stuff but there are a few changes from what I may have promised. You can't hold it to me. Alright, so I need a bit of audience participation initially. I know Norwegians don't like that. I'm sorry but we're going to figure out just exactly how damaged are you actually. So, when I started out 20 years ago, there was programming where you chose a path and you stuck with it. Like if you're a Unix programmer or Linux, you grew a beard. If you're a PHP, you wanted to kill yourself. There were just things you wanted to do. So, in this room, I just want to get a feel for where people are, sort of experience wise. So, if you've been programming for less than five years, can you just give me a hand? As in show of hands please. And it would help if I could actually see anything. So, that's not many. Okay, less than say 10 years. Okay, that's about half I guess. Less than 15? Okay, and anyone over 15 years of experience? Oh, excellent. You're going to feel my pain. That's awesome. Alright, so the actual, well, not the actual facts, but a fact that's done by Stack Overflow, which we all know and love. There's like the Google for developers, right? Stack Overflow. It has the answers. Actually, two to five years and under, so five years and under is 50% of the current developer group of developers. And about, you know, a little bit less than 50% it has more than five years and 25% more than 11 years. And my point here is that some of you will remember delivering software on these. Yes? See? Anyone? Yeah? So, you'd actually, you'd compile your thing and you go, damn it, it's more than 1.44 megabyte and you actually just split it up, right? So, that was painful. And it didn't get much better as we moved on and I started doing mobile development and you had all of these devices and they're, I mean, I just took a handful that I could think of and each and every one of these had their own SDK, API, development tools, maybe even platform. They had to get old hardware, specific hardware and it was just, you started out and you go, what? Really? You serious? And it was just painful. It was just really painful. And what ended up happening a lot of the times, what, that you just wanted to throw the thing out the window, right? You just, it was so hard to do anything that was, you know, even somewhat cross platform. You wanted to reuse this thing I've built, now I'm going to build the whole thing again. And if it really got bad, you turn into a panda and it just went mad, right? So, my point is the pain, it was just, it was hard. It was really hard. The people that are here that has five years or less experience may have heard about this, but you've actually got a pretty good, like we've taken all the hits for you. We've taken all the damage. So that's my intro. That's where I'm at. Normally you may see me look like this or that and I apologize. My name is Lars and I am an Australian, yet I actually grew up in Denmark, hence the name, but I live in Australia now. I'm an MVP for Microsoft in the Windows platform development stack. I write courses for Pluricite, whereas my editors down here would say I should write more and get going now. I haven't been that productive lately. I run a conference in Melbourne with a couple other people called developer developer developer, and that's probably from Mr. Barma, I'm getting all sweaty. I hope I don't get to that point. I have a podcast, The Day in the Pain. I'm the Dane. A guy I've never met is The Pain. He lives in Alaska. Don't know why. I run a B&B. Yeah, you want what? You do what? So bed and breakfast. I do stuff that's not development right now. I love cars. And then all of my stuff is on my name.com, LarsKlin.com. And if you want to really heckle me, which people tend to do, hence the pictures, you can do it there. Now, before I move on, there was a really cool announcement on Wednesday, and I hope you all saw it, which is this. This. So you're aware that NGC is coming to Australia. And I promise there will be hardly anything that will kill you. So come on down. All right, let's get into the good stuff. How many of you here work on the Microsoft stack or have dabbled in it? So it's almost all of you. Okay, that's cool. So you may sort of nod and say, well, Microsoft used to be evil. Like, there used to be like a closed, you know, circle of trust. Like, if you were outside, you just have to wait like everybody else. You didn't get anything. They didn't share at all. And it was hard being a developer and anticipating what was going to come next. You would know at the same time as everybody else. The MEP program helps on that, but still, it's not anywhere near what it is now. But now Microsoft actually loves everybody. I don't know if you've sort of followed along in this, but they don't really care what tools you use. You can use Linux on Azure. And actually, 25% of the Linux installations, sorry, 25% installation on Azure are Linux. They don't care if you use Java on Azure. You can use your Java SDK. You can use iOS and Android for your alerting. They don't care. And it's, I think, it's an awesome move. I really do appreciate it. And that leads us into what is this taught, which is universal Windows platform. So has anyone heard of this? Yes? Yes, some? Okay. Cool. It has had many names. It's the beauty of Microsoft marketing. It changes every week. So it's the universal app platform, the universal Windows platform, universal apps for Windows. And the beauty of all these things is that you cannot search for any of them on Google. You will not find them. So let me try and enlighten you. So the universal app, the Windows platform, so you have even screwed up now, in its essence is a guaranteed core API layer across all devices. So what that means is that Microsoft promises that we're going to have a set of API calls that will never change. Or if they change, they'll change for everyone. And we'll let you know and we'll version it so you don't get caught out. And it has, this core API will run on everything. So as you can see here, there's devices and IoT. So the Raspberry Pi runs Windows 10. The mobile stack runs Windows 10. If you want to have a look, I do have a Windows 10 phone up here. There's a core API that runs for PC, which is the one we use. I run Windows 10 on this machine and it actually runs really well. And I thought, I'll risk it and run my preso on it. And Windows 10 will run on Xbox. I'm not quite sure exactly. I haven't released all the details on how that's going to work. There will be on Service Hub, which is this massive 84-inch touchscreen, which is a mere 50 grand or something like that. And then it'll run on HoloLens, which is probably quite exciting. We'll get back to that. So the core API lets you run the same thing on all these devices. It may look slightly different, but in terms of code, it'll be the same. So you'll have this adapted user interface, which means that things will change around as the screen changes. It'll know what display it's being shown on. And it'll do that for you. There's some bits of tricks to make sure it looks good on everything, but the developer tools are really good for it. Natural user input stats for your phone. One SDK. There literally is one SDK for all of this. I'm keen to see if that's going to continue. Are they going to build themselves into a corner? But we'll see. And then there's one store in one Dev Center for that matter, which has been a real frustration. Has anyone here ever built Windows apps or Windows phone apps? I love this crowd. Nor if I do this talk, you're like, yes. So this is cool. And you may have felt the pain of trying to develop both for Windows and Windows phone. So for the consumer, it was like, oh, yeah, it's the same app. But for the developer, there was really nothing. There was two Dev Centers. There was two stores. It was hard to maintain. Different screen charts. But now it's all one store. And with Windows 8.1, they created, they did call it universal apps that ran on both phone and Windows or big Windows. It's not quite the same as this, even though it has the same name, but thank you, Microsoft. Yeah, I know. It's terrible. Try and explain it to someone. It's terrible. And then cloud services. But everything Microsoft does is Azure. So if you haven't looked at Azure, go look at Azure. It makes your life easy as a developer. Because you go, oh, I want one of them. Click. You got one of them. Hey! Not like big corporation where you wait three weeks to get something provisioned, right? So that's the universal Windows platform in two minutes. That's not really enough. But we'll go into more of it when we've got time. Yep. So this means that you've got the Core API on top. You can't actually develop for the Core API. You have to develop for one of the platforms that it supports. So you can develop for more of them, of course. So the first one is desktop. And that's sort of, so each of these have their own device family. So they have an SDK that sits on top of the Core API. And you then, by default, everything's included. But it is a different set of, I guess, a different set that sits on top of the Core API that lets you do things that are specific to that platform. So if you have the desktop, it'll be mouse and pounders things. It might be printed device. You might, whatever you need to do, that will sit in that specific API that sits on top of the Core. If you have the phone, it'll be touch, you know, be connectivity. It'll be stuff like pushing the back button, which you don't have on a desktop. Things that are specific to that device family. So, Xbox. So, Kinect, for example, if you do something, voice recognition is really good through to Kinect. You can do that in the phone as well. So that may come across. But something like mapping users. So I know if you've got an Xbox One or you've tried to Kinect and dabbled with the tools, that the new Kinect for the Xbox One can actually track six people simultaneously. So at the same time, it'll know where six people are in the room. And the range is massive. It's like 20 meters. It's terrible. Like, it's so good for invasion of privacy. It's not even funny. And then you've got the IoT devices. So does anyone here know what the Raspberry Pi is? That should be everybody, please. Yes. Has anyone used Windows 10 on the Raspberry Pi? One brave soul. Because that's a real pain. It's hard. That's going to be a lot easier. But it's really, really quite cool that they can get running on that. And a $35 device, right? You can buy 10 of these and you can automate all the doors in your house or whatever you want to do. Very powerful that they can run on this. And you'll get loads and loads of IoT devices. And I'm not sure how they're going to do this because each single one of these have different hardware on them. So if they need to support all the drivers for all of them, well, it's not going to be that small anymore, is it? So that's interesting. And then, of course, there is HoloLens. We all love HoloLens. Does anyone know how it works? Anyone got a clue how that works? I found out. I'll share with you. You ready? Are you ready? It's magic. It is just pure magic. It is. I don't know how they do it. I'm stunned because there's just imagine, all right, I'm just going to go for the tangent, but I love this device. You got your HoloLens on, right? There's a wall. You look at the wall and you project something. You walk away into that room, you come back and it's still there. How the hell does it know where you're looking? And I'm just, it has to be magic. It cannot be anything but magic. Okay. So now I'm just going to show you a small video. I'm going to do magic here. All right. Okay. I had to do some fiddly stuff here. Okay. You ready? Have we got sound on? Yep. Cool. It's just like through a giant holographic portal into a three Minecraft world right on the wall. Even though I don't have a HoloLens, I've been able to play together with Dax from my surface. Are you going to join my game, Lydia? I'm in the house. So he's playing on the wall, right? See? Nothing on the wall. How cool is that? Come on. Come on. Come on. Holy crap. It only goes for about four hours. So you go on. As I run around, Dax can easily navigate and he just manipulates the world using his voice and his hand. He can walk around the holograph, turn around for different new points, and even look inside. All right. That's just mad. It is. Oops. Okay. Do you like that? Like, but seriously, how do they do it? Now, here's the really cool thing. That is a universe lap in some form, some shape or form. Apparently Minecraft is not something Microsoft said, but people that know of it and has been around, you know, the rumors. That is a universe lap that sits in the HoloLens. Holy crap. It's like suddenly our life has developed. It's just became Minecraft. So how hard is this? Looks pretty hard to me. I just know they use magic. So I'm just going to do a quick developer survey because I just get a feel for it. So now I know how experienced you are. Has anyone had any exposure to iOS development? Anyone doing iOS? Okay. There's a couple of people. Has anyone gone Android development? Yes? All right. So that's tablets and phones and the other 1800 different form factors. Has anyone done Windows development? So this is, you know, Win32, universe labs, you know, whatever I see. Yeah, okay. And there's only web developers. Anyone done web development? See, so this is pretty much the whole room. Is there someone that didn't raise up the, put up the hand? I'm just going to go with no. The cool thing is you're all Windows platform developers, each and every single one of you. And you may not know this. So, again, Microsoft loves everybody equally. So they've now come out and said, hey, you know what? We don't really care what kind of developer, what tool said you've got. We know that you are awesome at what you do. We not going to force you to do something that you might not like, might not want to do, might not get, you know, not see the point of. So what they've done is they've created, of course, they've created the family of Windows 10 devices, which is now getting quite large. I wouldn't say it's Android large, but you know, it's getting there. So if you're on the Windows platform, you're already doing all this, even the HoloLens. Now, I, you know, there's so many rumors about how much going to cost, when it's available, all this stuff. I just, I just want one. I just want one. But you're doing this, you're already a Windows platform developer. There's something called the Windows platform bridges, or Windows universal platform bridges, because it's Microsoft marketing. And there are four of those. And these bridges are bridges into the universal platform. So the first one is Project Astoria. And that is, sorry, that is taking your Android, what are they calling it? APK, that's right, package. And you drop it into the web interface in the video I saw. This is not released yet. This is sort of only a couple of weeks old. And you take your Android code directly, dump it in there, and it spits out the universal Windows app. You don't have to do anything else. You can use your Java code in Visual Studio. So you don't even have to learn C sharp. You don't have to learn VP. Sorry, that's an involuntary reaction. You can use Android as is. Now, disclaimer, as is, I'm thinking you're going to have to do some work. But the fact that they're allowing you to do this and just do it in Java, so they have a Windows, you know, God, I'm sick of saying that. They have a universal Windows platform app SDK API something that plugs into Android, which means that you can use your Java code to write to the.NET Windows API. Does that make sense? Yeah. In other words, you don't have to learn any of the Microsoft stuff and you can still publish your app to the Windows platform. The next one is Project Island Wood, which is an unusual name. Anyway, that is for iOS. You can take your Objective C code and use it in Visual Studio. So you can actually develop in Objective C in a Visual Studio. You get all the goodies and tools because who here would like to use X code? Yeah, exactly. And you use that and unfortunately so far the only app that they've managed to convert with this tool is Candy Crush. Yeah, I know. But they did do it in about five days allegedly. So they took the Objective C code and they put it into the test version of Project Island Wood, which is going to come out next six months maybe. And they fiddle with it and they make sure everything worked and the things that are broken, they fixed, which weren't many apparently, and they published this to the Windows platform. The cool thing was no one knew. This was maybe six months ago, nine months ago, I'm not sure, and no one had a clue. Everybody thought, oh, wow, they made a Windows phone app. That's awesome. No, they just took the iOS app and ported it directly. That's how well it works. So this is pretty cool. If you're an iOS developer, because I would never ever touch Objective C. Does anyone here do Objective C? Does anyone here do it on purpose? Do you like it? Sometimes. Sometimes, yeah. It works, right? And people have learned, this is my theory, people have learned it because they kind of had to, because there's so many iOS devices and it worked nicely and people biased it. So you learned it because it was a tool to get to an end. It means to get to an end. The next one of these, so you're not going full time. The next one of these is Project Centennial. I don't know how they come up with these names. Anyone ever play it, Alicad? Yes. You know, 16-bit sound. That's fantastic. 8-bit sound, wherever it was. So Project Centennial is a way to package and publish your current.NET or Win32-based applications. So it's actually not that. That's not Win32, anyway. And then publish it to the store. So you can wrap all of your Win32 and your native.NET code that you develop for desktop anyway and you can publish it in the store. So this means, though, that you may get Alicad as an app. It should be kind of cool. And, anyway. So Project Centennial. So that's three. And then there's the last one, which is the one that I'm kind of, I don't know, Project Westminster. It means you can take your HTML website and you can publish it as an app. And you can get stuff on my cat as an app. Or what about this one? As an app. Do you see a trend here? Do you think it's good here? And then now the really bad thing about this, in my opinion, which I'm not really, I don't know, I don't know about this one. Just read this. Publishing your website into the store would be as easy as providing URL and clicking publish. Just let that sink for a minute. Holy crap. I don't think we want this. I don't know. But you can. Apparently you're going to be able to do that. But you will get linkers. Like, you will get this and it will be a miss. And it will be like the Android store, I think. So I'm hoping they're going to fix this somehow. But just know that you can. So if you're a web developer, you're also a web developer. And it kind of gets the same reaction again, right? Seriously? Really? Are you serious? What? It just seems mad. I don't know. Does anyone here think that's a good idea? Like, I know I didn't actually talk it up. But does anyone see anything that's a positive in this? It feels too easy, right? Like, Dave O'Donnell from Marketing got to go, oh, yeah, we're going to have the website plonk and there's an app. I don't know. It doesn't feel right. Okay. So you might be sitting here going, oh, that's very nice. That's cool. I'm already doing other stuff. Why would I do this? And you might have this reaction. Because why should we care? Like, yeah, it's all nice. And Microsoft do some really cool tooling. But I'm already doing my OS stuff. Why would I want to spend time on that? Even if it's easy, why would I want to do that? You might have your Android stuff and you say, well, I've already maintained 1800 different versions of my Android app. Why would I want to get another one, right? So how do I keep picking your Android? So, well, to me, this is a pretty good reason. A billion more devices. They'll run it. So this will be, this is obviously not now, right? Because Windows 10 is not even out. But Microsoft said in the next two to three years, there will be a billion devices running Windows 10. So some of those obviously are people that either voluntarily will upgrade from Windows 7 and 8 or involuntary because of rumors they'll just push it on you. It might be your Raspberry Pi. And it does mean that there will be a subset that you may not target. But there will be a billion devices. And just to compare that, on iOS, there's about a billion devices. Now, I couldn't find any numbers on this, which made me suspicious. These were all based on, this is how many devices we sold. But what do people do? If you buy an iPhone 3G or whatever it's called, back in the day, no one has that anymore. Every time there's a new iPhone, people line up in big queues and buy the next one. So I don't think it's that many. So let's say there's a billion. And there's a billion Android devices. Didn't add another billion Windows devices, which by the way can be anything. It's not just these two iPad and iPhone or the Android devices. It's also your HoloLens. To me it's a huge opportunity. And the best thing is that your current knowledge is safe. You don't have to learn a bunch of new stuff if you don't want to. If you already know iOS, you just use that. If you already know Java, you just use that. If you know VP, sorry. You can actually use that as well. So it's not an extra overhead as much as it would have been if you were developing now for Windows Phone, which is what I do. So, does anyone call on to I Like Cars? Yeah, look at that one. So you can accelerate your development and push it out really quickly. Like five days for Candy Crush. Sure, we all wish it would have been 500 days, but it was five days. And you can then take your app and you can do the same. And it's going to be easier than Candy Crush because it's probably not that simple. The reach you have is going to be massive. You can actually push it out to another billion people. And ultimately that means more dollars for you. Or a crown, sorry. Or pounds, whatever you use. So, does anyone still have this reaction? Is anyone still not quite sure? Or is this something you want to do? God, you're a tough crowd. Come on. Does anyone see you still got me? You can be honest. I don't mind. Okay, that means all of you are going to build an app. Excellent. But it really is. It's going to be that easy. It's just what I was saying at the beginning. You used to be having to build for four devices. You had to have four development environments and four machines. It was all different. Even if you were writing for Windows CE, which I used to do, Intimate would have their own device family and they would have their own version of Windows CE. If you were building other GPS apps, it would have their own device family. It was just a pain. I can't like this one. Because that's usually the reaction I get. That's good. No regions get it. And the American. So, how about we look at how we can actually do this? I'll try and show you somehow how easy it is to get started. So, I'm not going to publish an app because we don't have time enough. But let's have a look at what we can actually do. So, the first thing, has anyone heard of Microsoft App Studio? One person. Two. And I can't see the rest. Let's go with two. So, Microsoft App Studio is, does anyone know about Light Switch? Yeah, a few more. And they just vomited a little bit, I think. For some reason, this has been compared to Light Switch. And it isn't. Light Switch is aimed at your marketing guy that wants to do something that looks like Excel and Word and front page, essentially. And it has a lot of smarts under the covers. But that's sort of what the target market is. This is actually targeted at, is a novice developer? As I like to say, it's the kickstarter, the accelerator for building your Windows app, or Windows platform app. So, let's have a look at App Studio. So, you're making this to work. All right. So, now, we'll just duplicate instead. And, kind of, change to a weird resolution. Can you still see it all right? Yeah, it's okay. Okay. Looks odd. So, it's appstudio.windows.com. It is a, this is the marketing bloke, four steps. But it's basically a, a WYSIWYG online editor that lets you build an app for Windows or Windows so on at the moment. And that, again, sounds, you know, I'm a real developer. I don't want to do that. But if we just have a look. So, there's a bunch of templates because it is aimed at people have, I have a blog, I want an app. But if you were saying, let's just do a, you know, we do an empty app. And it will give you a, you know, little touch thing here and we can name it and we'll call this NDC. And then we'll start with that. So, now it's all drag and drop, right? And I know you developers, I know you don't like this, you know. I never use an editor. I mean, I never use the WYSIWYG editor. You know, I'm a real man, developer. But bear with me. So, in here, we say, okay, you basically set up your sections or your pages and you say, I want YouTube here. Okay, YouTube and this, the, the, the change that. All right, this is the beauty of the web. The changes every couple of weeks. So, if I had an API key for YouTube, which you need now, you can add it and you can add a keyword and it actually just pulls all that in. All the code to creating YouTube videos will be pulled in. Let's do Fliggins there. There we go. So, we'll call this images and use it. And now we're going to go for tags and then we want to put Oslo, for example, right? So, now it's going to go off. It's going to create an API, a wrap around the Fligg API. And there you go. It's already pulled in the images for Oslo, right? So, again, you know, that's not coding. I know, I know. Relax. So, I'll just do a, you know, a couple more. Oh, and you know, API keys as well. Holy crap. I haven't, I didn't, I didn't do this last night. I must admit. See that all. But it's easy enough. You actually just, okay, expert music. So, what's an Norwegian band? Dub Dub Boy. Dub Dub Boy. Is that what you said? Okay. Like that? Who's who? Yeah? Dum Dum. Dum Dum. Even better. Like that? No. I don't know. Okay. Well, let's just do one of my favorite Swedish bands here. And, oh, no. Okay. We'll do, did someone say Ace of Bass? Or was that just me? Was that you, Ben? Did you say, okay. Ace of Bass. Wow. There's a child of memory. Okay. Yeah. Pop. Contemporary pop. All right. Yes. So now we've got, well, it turns out to be our Swedish app. I hear an Norwegian are just as fond of Swedish as the Danish are. Is that right? As in, this is the favorite people you want to make fun of. Are they always drunk? Oh, no. Sorry. Wow. It's thinking about it. So what this does now, it goes off to Xbox. It takes, you know, it does the API call. It figures out where I get the music. And then you get a live preview here as well. Look at this. Okay. There you go. So here's the music. Happy Nation. The sign. You know, all the goodness. And you can keep going like this, right? You can theme it. Yeah. Yes, we'll stay. Okay. I didn't save it. It's just a sound. You can theme it. And you can do all the stuff. And it goes through. And in the end, so it looks fine. Yeah. Tiles. Does anyone aware of live tiles? It is the single best feature on the Windows platform, in my opinion, as a consumer. And no one seems to use it. It is the whole idea of Windows Phone was glance and go. So you would just glance on it and see all your tiles, which are those beautiful things right there. And they would flip. And they would give you information on the start screen. So I wouldn't have the Apple experience of into and out, out on app, into and out, out on app, into and out. That was the idea. Anyway, if you're doing this, use live tiles. That was an aside. So if you had images, you can add those. You can customize your live tiles. You can do quite advanced stuff. And then eventually you can go into settings. You can hook this up with your advertising API. Basically, all of the stuff that is really boring to do as a developer. This is what you can do here. And then once you've done all this, you then go to, where do I put that now? Finish. And you can then download, there you go, three different versions of it. Install a little package. That's if you want to side load it onto your phone and run it right away. You can publish it directly to the store. Might not want to do that. I don't know. And you can just get a source code package. And you can, you get the full source code source, source code solution that runs in Visual Studio. And you click generate. And I want it for Windows 10 because it does Windows 10 now. Install packages, experimental, yeah, sure. Build version. And you click generate. And if I have internet connection, yes. Just thinking about it. So what happens now is that it actually goes and it creates a full MVVM solution. So model view, view model, which is the preferable way of building these kind of apps from data binding and separation of concerns. And you can open this as we'll do in a second. There we go. Okay. We'll download the package. Oh, sorry. No, we want to download the source code. Don't mind. Download source code. And we want to save this. And we want to save this on the desktop. I'm sure. And now you have a start. So I'm going to have, of course, on the plural site. My editor is sitting here looking at me. That will do all of this in detail. And it isn't just for people that are new to development. This is a way that you can kickstart your development. So instead of spending two days setting up your framework and creating all these APIs and wrapping it around and figuring out what MVVM is and how it works with data binding and yada, yada, yada. You can spend a couple of hours on this, get the source code, and there's your start, right? So if you can find some way, some of this that works in whatever your app is, obviously this doesn't work with games. But in some business app, line of business app, you've just saved yourself two days. And actually the output is really good. Like it's properly done. It's not sort of, I don't know if you ever did this, but did you use DreamViewer? DreamViewer? DreamWeaver, sorry. DreamWeaver is great. Yeah, see, there's a lot of nods. And the thing that spit out, that was your website, was just vomit, right? It just went, here's your website. And it looked all right, but it was terrible. You could not maintain it. It was slow. This is not that. This is actually really good. So, no, I don't want that. Okay. So let's see if we can open this. Moment of truth. Do you think I'm using Windows 10 on desktop? Few people, kind of. You liking it? The single best feature has got to be this. You ready? This is what Apple has done forever. It's multiple desktops and I didn't use it and I started using it and now I can't leave it alone. It is really good. What am I doing? So let's just extract that here. There we go. Extract all. Yeah, that'll do. That'll do. Elevating music. A story. All right. What kind of story, Ben? One that takes just long enough. Just long enough. And the most important thing in all of this that you need to know, and you cannot leave it. Oh, that's done. Okay. So, we'll open this up here. Wow. This is... Do you mind? Just give me... Because this resolution was... I did not expect that. Let's just see if we can make it look a little bit... Oh, God. Holy... Yep. Over here. Yeah. So the good thing about Windows 10 is they added more clicks. I don't know why, but things have more clicks now. So, is that the right one? Okay. All right. I think this is a little bit better. All right. So now we're just going to open up that solution. Oh, cool. And I'm going to go to desktop. And here it is. Okay. I wish to just get rid of this thing. Everything here opens. Are you sure? It could be dangerous. So, this is Visual Studio 2015 RC. Is anyone running 2015 at all? Oh, good. Okay. So you can download this. Actually, I have a slide for this. Oh, you see that? There you go. Anyway, it's that one. You can download this and I'll share the links. Visual Studio 2015 RC. And they now have a community edition, which doesn't suck. And it comes with all the tools that you need to develop Windows 10 apps. Windows Universal Apps. So, here we have our solution. So what this has done is given us three projects, four projects. Let me just collapse all of this. Collapse all. There you go. So we have the portable. It's kind of like if you know what a portable class library is, PCL. It's basically all the common stuff that all the versions of the app is going to use. It's kind of like a class library except it doesn't get compiled into a DLL. It gets pulled into different versions. So then here we've got a ViewModels, which are going to be the same across all the devices. We have our... down here we have Universal Thing and we have View and we just look at the homepage here. Just as an example. So you have now... have you used Blend? Anyone use Blend? So Blend is the XAML designer. XAML being the language that you do design in. It kind of looks like a Photoshop-ish type product. I'm not going to open it because it takes too long. We might not forget. Invalid markup. Isn't that lovely? So Blend used to be like the way to edit your XAML. They've done a lot of changes and a lot of improvement to develop your UI in Visual Studio. And a lot of the... if it would open a view that actually worked. Yeah. Okay. You know what? We're just going to make a new solution. For some reason that was broken. It didn't test the problem. And you made so many improvements that Blend is now almost like an afterthought. Like if you always use Blend, continue using it. That's fine. But you can do pretty much everything in Visual Studio now. Two... two... enough. So if you're doing a new project, go to a new project, Windows Universal. Here's the beauty of Microsoft. This one here is a Universal is not the same. Because that's a Universal app. The other one is a Universal Windows app. I don't know. Yeah. I'm sure... hey? The other one? Yeah, I can try. Maybe that's just what it is. It may have... it should open the markup though. I would have thought. Anyway. So the tools of Visual Studio, they're free. You don't have to start in... If you don't feel it's mainly enough to start in App Studio, don't. Some projects just... it won't, right? That didn't seem to do anything. Now, alright. Let's just do this. My back up. Oh. Stop asking the building. And you can download all of those. I'll show you in a second. All the emulators that you need for the different devices come as well. So you don't need to go out and buy 1800 devices like you do on Android. How do people test for Android anyway? I don't understand. There are so many devices. There's no way you possibly could. You just do the same songs and that's pretty much it. So it will be kind of the same, maybe, for Windows. But the difference is that there will be a universal way of doing it. Each vendor will not have their own... hey, look, this works well, doesn't it? You convinced? It's easy, isn't it? I'll just do one last time. See if that now is happy. And if not, then we're going to do the other one. Yeah, download... at least download the tools. There we go. Hey, excellent. Got there eventually. So this is showing a five-inch phone. This is up there, if you can see that. Yeah, five-inch phone at that resolution at 300 scale. So that's one of the views you can see. And then you can... Once you've got your app, as we've... well, there's nothing on the screen here for some reason, you can turn it around, landscape, you know, portrait, but then you can also change it. And this is why it is so valuable to have Visual Studio to do these apps. We could choose a 12-inch tablet and then it'll change it. And for some reason, let's just do images detail, images list here. Hopefully they go... no. So they haven't even done the test data properly. Anyway, if I were to add lines here to my grid, so this is another grid that I'm creating, right? If you add stuff to it, like say, we want to add a text box. Here. And that's tiny. And we call this... oh, that's fine. Yep. And we call... hello, NDC. Okay. And then... the layout, we want to have this to be centered. There we go. And... see, all of this will make sense once you get into it. We're going to say it's in row zero, row... yep, that should be right. Okay. But as you then change the difference to different form factors, this will change with the right. So you see everything on the screen. So obviously I made something wrong there because it goes out. So it's really easy to figure out where you've done something wrong and whether it looks good on all devices. Much more than it is with, say, Android, for example, but you can put your Android code in here. And then you have all these. You can even look at the Surface Hub or the Xbox. And it's not a secret that it's coming for those devices. It is there. 10-inch IoT device. We don't really know what that is yet. Raspberry Pi doesn't have... it's a headless device, right? It doesn't have a screen, necessarily. But then you also get for these devices, you can then run it on whatever is relevant to your screen. So you can... I don't want the emulators early on. This is not going well. So the emulators will show and it would have all the different emulators, which are Hyper-V images. They're actually the phone that runs. So if you're familiar with Windows Phone Development, you get the full emulator. And if you're doing it dual boot on the Mac, then you're screwed because this is more... But it gives you all the emulators. It gives you the full experience except for the things that could never work, such as mobile connectivity, battery level. And it is all free. So this all went wrong. That's a game. Let me go for time. So does this make any sense now that everything failed? Can you kind of get the idea of what to do? Like you either use App Studio, in my opinion, and you get the base class and the base sort of layout of your app and you put that into Visual Studio. Or you just start from Visual Studio and you design the whole thing yourself. Or you drag your iOS device that you have app in, or you drag your Android device, APK file in. There's so many opportunities to do what it is that you are best at. So a lot of the technology is only you have to learn something new. And yes, sure, there's something maybe in terms of Visual Studio. There are some things, but the learning curve is just so low. Not steep. Does that make sense? That's a yes. Okay. So that was that part. Now, if you do want to dabble with this and you do want to get a better understanding, because we just don't have time. But again, I'll get back to Microsoft has become the good guys. Everything is open sourced almost. They even open sourcing.net. And you can contribute to it. It's a proper open source project. You can do pull requests and they may get it. And it's the same with these. There's all these universal samples. And there's a lot. And this is just to get you going. So if you wanted to do, say, a barometer, there's a thing here that looks a bit small. There's a way that you can get a barometer sample. There's so much help out there and there's so many projects that you can just grab and use in your app. So there's not really an excuse to start doing it. And then, okay, let's just do this again. Hmm? Does that work? Kind of. That's my car. All right. Okay. There we go. So app studio. It's free. Use it. It works with Windows 10. Allegedly, as we saw. Visual Studio has a community edition, which is free. And it actually has a lot of the stuff that you would normally get in enterprise editions. I can't remember exactly what's different. But some of the tools that most people don't need. Now, I was hoping I wasn't going to need this slide, but it's kind of, I was expecting this. And this is kind of what happened, right? So don't get discouraged. This may happen. So, universal Windows apps. I haven't got time. There's the other one. So, if you have the right tools, right, which we just saw, you probably all have the right tools, whatever it is that you want, whatever it is that you do. And if you want to develop for HoloLens, then you could, I'm just saying, you could potentially do this. There is no boundaries of possibilities. They're endless. I just love this. It's fantastic. So, I have about five minutes for questions, which is kind of what I was hoping. I know you're a tough crowd, but does anyone have any questions? And please, anything? Yes? Can you actually build Android or iOS applications there? Like Xamarin? So, that's a good question. So, this is one way. Is this conflict, this is really quite disturbing, isn't it? Can you build iOS and Android apps in Visual Studio? Is that what you're saying? I don't know. Is it there or are you still in Xamarin? You still need Xamarin because that's the other way. So, what Microsoft has said, we know all of you love Android and iOS because, granted, Windows Phone is about 3% or something. And I have about 2% of those phones. It is, yeah. So, in order to build with C sharp and push it the other way, do iOS and Android, you do need Xamarin. Yes, you do. If you have your iOS application and you run there, do you have iOS user experience, sticky and everything? Very likely. See, that's not confirmed yet. All they said is that you can take your code, Objective C, not Swift yet, Objective C, put it into Visual Studio and you can compile it to a Windows Universal app. What that looks like, I don't know. Can I look at my shirt? Sorry? And the truth is that it's good to have, I mean, just either check the key. That's right. Exactly. That's what I'm saying. I don't think it's going to be as easy as they want it to look like, but it is going to be a lot easier than starting all over again. So, they've done, like, this is a three-year project that they kept secret just to do Candy Crush. No. There's a lot of work going into it and there's a lot of API mapping, but in terms of the UI, I hope they're going to do something that allows you to either directly map it if it's simple enough, because I don't know if you're familiar with Xamarin Forms, but that has Xamarin Forms spits it out into it looks native. Well, it is native, but it looks. That's right. Because buttons on iOS are shiny and round. Buttons on Windows Phone are flat and square, right? And stuff like that. You want it to look like it belongs on the platform. Although they've changed it all now to look more iOS-ish with the hamburger menu and stuff, but that's a different discussion. Did anyone else have any questions? Yes, sir? Do you know that there is a fate with guidelines designed for multiple resolutions? There is, yes. There's a massive amount of documentation. Yeah, I can show you afterwards if you want. Yeah, there's a full white paper design guidelines. It's quite clever how they do it. I could do a whole talk on display factor and stuff like that. Yeah. Anyone else? I can't read. Oh, there. Yes. A universal app can run on multiple devices, but not on a web browser. So universal apps can run on multiple devices, but not in a web browser? You can take an interesting website as you showcase and transform it to a universal app. But there's no, you know, the other way. So you can take an app and run it in a web browser? Is that what you're saying? Yeah. No, no. It's kind of not the aim. We're pretty good at the web already, and we don't mind doing another website. We can easily create another website. The problem they have from Microsoft is that no one is building the collapse for the Windows platform. So that's what they're aiming at. But if there was a way to share code-based between universal apps and ASP.NET applications, would that be cool? If there's a way to share code-based between.NET and universal apps. ASP.NET. ASP.NET. Yep. There's something that was just announced called, what are they called? Web, I forgot now, Web something, but it's basically a compiled DLL that all the major browsers are going together to form a standard around. Because we need more standards running. That allow you to have DLLs that run in the browser. So that may be something like that. But it's not part of this project. Web assembly. Web assembly. Thank you. Whoever said that. That's it. Web assembly. Anyone else? You've got you going now. Bit late, but anyway. No? No? Okay. I apologize if I can't see because it's pretty bright these lights. Alright. That's all I had. Thank you very much. Don't forget to press the green button. The green button. Thank you guys.
 Excellent. Alright, thanks for coming. I hope you enjoyed the party last night. Very quiet  walking in. You need more coffee? That's a yes. That's a yes. My talk is on that subject  and here's a disclaimer. I wrote this abstract six months ago and guess what happened in  those six months? Everything changed. So, I'm going to show you all the new cool stuff  but there are a few changes from what I may have promised. You can't hold it to me. Alright,  so I need a bit of audience participation initially. I know Norwegians don't like that.  I'm sorry but we're going to figure out just exactly how damaged are you actually. So,  when I started out 20 years ago, there was programming where you chose a path and you  stuck with it. Like if you're a Unix programmer or Linux, you grew a beard. If you're a PHP,  you wanted to kill yourself. There were just things you wanted to do. So, in this room,  I just want to get a feel for where people are, sort of experience wise. So, if you've  been programming for less than five years, can you just give me a hand? As in show of  hands please. And it would help if I could actually see anything. So, that's not many.  Okay, less than say 10 years. Okay, that's about half I guess. Less than 15? Okay, and  anyone over 15 years of experience? Oh, excellent. You're going to feel my pain. That's awesome.  Alright, so the actual, well, not the actual facts, but a fact that's done by Stack Overflow,  which we all know and love. There's like the Google for developers, right? Stack Overflow.  It has the answers. Actually, two to five years and under, so five years and under is  50% of the current developer group of developers. And about, you know, a little bit less than  50% it has more than five years and 25% more than 11 years. And my point here is that some  of you will remember delivering software on these. Yes? See? Anyone? Yeah? So, you'd  actually, you'd compile your thing and you go, damn it, it's more than 1.44 megabyte  and you actually just split it up, right? So, that was painful. And it didn't get much  better as we moved on and I started doing mobile development and you had all of these  devices and they're, I mean, I just took a handful that I could think of and each and  every one of these had their own SDK, API, development tools, maybe even platform. They  had to get old hardware, specific hardware and it was just, you started out and you go,  what? Really? You serious? And it was just painful. It was just really painful. And what  ended up happening a lot of the times, what, that you just wanted to throw the thing out  the window, right? You just, it was so hard to do anything that was, you know, even somewhat  cross platform. You wanted to reuse this thing I've built, now I'm going to build the whole  thing again. And if it really got bad, you turn into a panda and it just went mad, right?  So, my point is the pain, it was just, it was hard. It was really hard. The people that  are here that has five years or less experience may have heard about this, but you've actually  got a pretty good, like we've taken all the hits for you. We've taken all the damage.  So that's my intro. That's where I'm at. Normally you may see me look like this or that and  I apologize. My name is Lars and I am an Australian, yet I actually grew up in Denmark, hence the  name, but I live in Australia now. I'm an MVP for Microsoft in the Windows platform development  stack. I write courses for Pluricite, whereas my editors down here would say I should write  more and get going now. I haven't been that productive lately. I run a conference in Melbourne  with a couple other people called developer developer developer, and that's probably from  Mr. Barma, I'm getting all sweaty. I hope I don't get to that point. I have a podcast,  The Day in the Pain. I'm the Dane. A guy I've never met is The Pain. He lives in Alaska.  Don't know why. I run a B&B. Yeah, you want what? You do what? So bed and breakfast. I  do stuff that's not development right now. I love cars. And then all of my stuff is on  my name.com, LarsKlin.com. And if you want to really heckle me, which people tend to do,  hence the pictures, you can do it there. Now, before I move on, there was a really cool  announcement on Wednesday, and I hope you all saw it, which is this. This. So you're  aware that NGC is coming to Australia. And I promise there will be hardly anything that  will kill you. So come on down. All right, let's get into the good stuff. How many of  you here work on the Microsoft stack or have dabbled in it? So it's almost all of you.  Okay, that's cool. So you may sort of nod and say, well, Microsoft used to be evil.  Like, there used to be like a closed, you know, circle of trust. Like, if you were outside,  you just have to wait like everybody else. You didn't get anything. They didn't share  at all. And it was hard being a developer and anticipating what was going to come next.  You would know at the same time as everybody else. The MEP program helps on that, but still,  it's not anywhere near what it is now. But now Microsoft actually loves everybody. I  don't know if you've sort of followed along in this, but they don't really care what tools  you use. You can use Linux on Azure. And actually, 25% of the Linux installations, sorry, 25%  installation on Azure are Linux. They don't care if you use Java on Azure. You can use  your Java SDK. You can use iOS and Android for your alerting. They don't care. And it's,  I think, it's an awesome move. I really do appreciate it. And that leads us into what  is this taught, which is universal Windows platform. So has anyone heard of this? Yes?  Yes, some? Okay. Cool. It has had many names. It's the beauty of Microsoft marketing. It  changes every week. So it's the universal app platform, the universal Windows platform,  universal apps for Windows. And the beauty of all these things is that you cannot search  for any of them on Google. You will not find them. So let me try and enlighten you. So  the universal app, the Windows platform, so you have even screwed up now, in its essence  is a guaranteed core API layer across all devices. So what that means is that Microsoft  promises that we're going to have a set of API calls that will never change. Or if they  change, they'll change for everyone. And we'll let you know and we'll version it so you don't  get caught out. And it has, this core API will run on everything. So as you can see here,  there's devices and IoT. So the Raspberry Pi runs Windows 10. The mobile stack runs  Windows 10. If you want to have a look, I do have a Windows 10 phone up here. There's  a core API that runs for PC, which is the one we use. I run Windows 10 on this machine  and it actually runs really well. And I thought, I'll risk it and run my preso on it. And Windows  10 will run on Xbox. I'm not quite sure exactly. I haven't released all the details on how  that's going to work. There will be on Service Hub, which is this massive 84-inch touchscreen,  which is a mere 50 grand or something like that. And then it'll run on HoloLens, which  is probably quite exciting. We'll get back to that. So the core API lets you run the  same thing on all these devices. It may look slightly different, but in terms of code,  it'll be the same. So you'll have this adapted user interface, which means that things will  change around as the screen changes. It'll know what display it's being shown on. And  it'll do that for you. There's some bits of tricks to make sure it looks good on everything,  but the developer tools are really good for it. Natural user input stats for your phone.  One SDK. There literally is one SDK for all of this. I'm keen to see if that's going to  continue. Are they going to build themselves into a corner? But we'll see. And then there's  one store in one Dev Center for that matter, which has been a real frustration. Has anyone  here ever built Windows apps or Windows phone apps? I love this crowd. Nor if I do this talk,  you're like, yes. So this is cool. And you may have felt the pain of trying to develop  both for Windows and Windows phone. So for the consumer, it was like, oh, yeah, it's  the same app. But for the developer, there was really nothing. There was two Dev Centers.  There was two stores. It was hard to maintain. Different screen charts. But now it's all  one store. And with Windows 8.1, they created, they did call it universal apps that ran on  both phone and Windows or big Windows. It's not quite the same as this, even though it  has the same name, but thank you, Microsoft. Yeah, I know. It's terrible. Try and explain  it to someone. It's terrible. And then cloud services. But everything Microsoft does is  Azure. So if you haven't looked at Azure, go look at Azure. It makes your life easy as  a developer. Because you go, oh, I want one of them. Click. You got one of them. Hey!  Not like big corporation where you wait three weeks to get something provisioned, right?  So that's the universal Windows platform in two minutes. That's not really enough. But  we'll go into more of it when we've got time. Yep. So this means that you've got the Core  API on top. You can't actually develop for the Core API. You have to develop for one  of the platforms that it supports. So you can develop for more of them, of course. So  the first one is desktop. And that's sort of, so each of these have their own device family.  So they have an SDK that sits on top of the Core API. And you then, by default, everything's  included. But it is a different set of, I guess, a different set that sits on top of  the Core API that lets you do things that are specific to that platform. So if you have  the desktop, it'll be mouse and pounders things. It might be printed device. You might, whatever  you need to do, that will sit in that specific API that sits on top of the Core. If you have  the phone, it'll be touch, you know, be connectivity. It'll be stuff like pushing the back button,  which you don't have on a desktop. Things that are specific to that device family.  So, Xbox. So, Kinect, for example, if you do something, voice recognition is really good  through to Kinect. You can do that in the phone as well. So that may come across. But  something like mapping users. So I know if you've got an Xbox One or you've tried to  Kinect and dabbled with the tools, that the new Kinect for the Xbox One can actually track  six people simultaneously. So at the same time, it'll know where six people are in the  room. And the range is massive. It's like 20 meters. It's terrible. Like, it's so good  for invasion of privacy. It's not even funny. And then you've got the IoT devices. So does  anyone here know what the Raspberry Pi is? That should be everybody, please. Yes. Has  anyone used Windows 10 on the Raspberry Pi? One brave soul. Because that's a real pain.  It's hard. That's going to be a lot easier. But it's really, really quite cool that they  can get running on that. And a $35 device, right? You can buy 10 of these and you can  automate all the doors in your house or whatever you want to do. Very powerful that they can  run on this. And you'll get loads and loads of IoT devices. And I'm not sure how they're  going to do this because each single one of these have different hardware on them. So  if they need to support all the drivers for all of them, well, it's not going to be that  small anymore, is it? So that's interesting. And then, of course, there is HoloLens. We  all love HoloLens. Does anyone know how it works? Anyone got a clue how that works?  I found out. I'll share with you. You ready? Are you ready? It's magic. It is just pure  magic. It is. I don't know how they do it. I'm stunned because there's just imagine,  all right, I'm just going to go for the tangent, but I love this device. You got your HoloLens  on, right? There's a wall. You look at the wall and you project something. You walk away  into that room, you come back and it's still there. How the hell does it know where you're  looking? And I'm just, it has to be magic. It cannot be anything but magic. Okay. So  now I'm just going to show you a small video. I'm going to do magic here. All right. Okay.  I had to do some fiddly stuff here. Okay. You ready? Have we got sound on? Yep. Cool.  It's just like through a giant holographic portal into a three Minecraft world right  on the wall. Even though I don't have a HoloLens, I've been able to play together with Dax  from my surface. Are you going to join my game, Lydia? I'm in the house. So he's playing  on the wall, right? See? Nothing on the wall.  How cool is that? Come on. Come on. Come on.  Holy crap. It only goes for about four hours. So you go on.  As I run around, Dax can easily navigate and he just manipulates the world using his voice  and his hand. He can walk around the holograph, turn around for different new points, and  even look inside.  All right. That's just mad. It is. Oops. Okay. Do you like that? Like, but seriously, how  do they do it? Now, here's the really cool thing. That is a universe lap in some form,  some shape or form. Apparently Minecraft is not something Microsoft said, but people that  know of it and has been around, you know, the rumors. That is a universe lap that sits  in the HoloLens. Holy crap. It's like suddenly our life has developed. It's just became  Minecraft. So how hard is this? Looks pretty hard to me. I just know they use magic. So  I'm just going to do a quick developer survey because I just get a feel for it. So now I  know how experienced you are. Has anyone had any exposure to iOS development? Anyone doing  iOS? Okay. There's a couple of people. Has anyone gone Android development? Yes? All  right. So that's tablets and phones and the other 1800 different form factors. Has anyone  done Windows development? So this is, you know, Win32, universe labs, you know, whatever  I see. Yeah, okay. And there's only web developers. Anyone done web development? See, so this is  pretty much the whole room. Is there someone that didn't raise up the, put up the hand?  I'm just going to go with no. The cool thing is you're all Windows platform developers,  each and every single one of you. And you may not know this. So, again, Microsoft loves  everybody equally. So they've now come out and said, hey, you know what? We don't really care  what kind of developer, what tool said you've got. We know that you are awesome at what you do. We  not going to force you to do something that you might not like, might not want to do, might not get,  you know, not see the point of. So what they've done is they've created, of course, they've created  the family of Windows 10 devices, which is now getting quite large. I wouldn't say it's Android  large, but you know, it's getting there. So if you're on the Windows platform, you're already doing  all this, even the HoloLens. Now, I, you know, there's so many rumors about how much going to cost,  when it's available, all this stuff. I just, I just want one. I just want one. But you're doing this,  you're already a Windows platform developer. There's something called the Windows platform  bridges, or Windows universal platform bridges, because it's Microsoft marketing. And there are  four of those. And these bridges are bridges into the universal platform. So the first one is  Project Astoria. And that is, sorry, that is taking your Android, what are they calling it?  APK, that's right, package. And you drop it into the web interface in the video I saw. This is not  released yet. This is sort of only a couple of weeks old. And you take your Android code directly,  dump it in there, and it spits out the universal Windows app. You don't have to do anything else.  You can use your Java code in Visual Studio. So you don't even have to learn C sharp. You don't  have to learn VP. Sorry, that's an involuntary reaction. You can use Android as is. Now,  disclaimer, as is, I'm thinking you're going to have to do some work. But the fact that they're allowing  you to do this and just do it in Java, so they have a Windows, you know, God, I'm sick of saying that.  They have a universal Windows platform app SDK API something that plugs into Android, which means  that you can use your Java code to write to the.NET Windows API. Does that make sense? Yeah. In other  words, you don't have to learn any of the Microsoft stuff and you can still publish your app to the  Windows platform. The next one is Project Island Wood, which is an unusual name. Anyway, that is  for iOS. You can take your Objective C code and use it in Visual Studio. So you can actually develop  in Objective C in a Visual Studio. You get all the goodies and tools because who here would like to use  X code? Yeah, exactly. And you use that and unfortunately so far the only app that they've  managed to convert with this tool is Candy Crush. Yeah, I know. But they did do it in about five days  allegedly. So they took the Objective C code and they put it into the test version of Project  Island Wood, which is going to come out next six months maybe. And they fiddle with it and they make  sure everything worked and the things that are broken, they fixed, which weren't many apparently,  and they published this to the Windows platform. The cool thing was no one knew. This was maybe  six months ago, nine months ago, I'm not sure, and no one had a clue. Everybody thought, oh, wow, they  made a Windows phone app. That's awesome. No, they just took the iOS app and ported it directly.  That's how well it works. So this is pretty cool. If you're an iOS developer, because I would never  ever touch Objective C. Does anyone here do Objective C? Does anyone here do it on purpose? Do you like it?  Sometimes. Sometimes, yeah. It works, right? And people have learned, this is my theory, people have  learned it because they kind of had to, because there's so many iOS devices and it worked nicely and  people biased it. So you learned it because it was a tool to get to an end. It means to get to an end.  The next one of these, so you're not going full time. The next one of these is Project Centennial.  I don't know how they come up with these names. Anyone ever play it, Alicad? Yes. You know, 16-bit sound.  That's fantastic. 8-bit sound, wherever it was. So Project Centennial is a way to package and publish  your current.NET or Win32-based applications. So it's actually not that. That's not Win32, anyway.  And then publish it to the store. So you can wrap all of your Win32 and your native.NET code that you  develop for desktop anyway and you can publish it in the store. So this means, though, that you may get Alicad as an  app. It should be kind of cool. And, anyway. So Project Centennial. So that's three. And then there's the last  one, which is the one that I'm kind of, I don't know, Project Westminster. It means you can take your HTML  website and you can publish it as an app. And you can get stuff on my cat as an app. Or what about this one?  As an app. Do you see a trend here? Do you think it's good here? And then now the really bad thing about this,  in my opinion, which I'm not really, I don't know, I don't know about this one. Just read this. Publishing your  website into the store would be as easy as providing URL and clicking publish. Just let that sink for a minute.  Holy crap. I don't think we want this. I don't know. But you can. Apparently you're going to be able to do that.  But you will get linkers. Like, you will get this and it will be a miss. And it will be like the Android store, I think.  So I'm hoping they're going to fix this somehow. But just know that you can. So if you're a web developer, you're also  a web developer. And it kind of gets the same reaction again, right? Seriously? Really? Are you serious? What?  It just seems mad. I don't know. Does anyone here think that's a good idea? Like, I know I didn't actually talk it up.  But does anyone see anything that's a positive in this? It feels too easy, right? Like, Dave O'Donnell from  Marketing got to go, oh, yeah, we're going to have the website plonk and there's an app. I don't know. It doesn't feel right.  Okay. So you might be sitting here going, oh, that's very nice. That's cool. I'm already doing other stuff. Why would I do this?  And you might have this reaction. Because why should we care? Like, yeah, it's all nice. And Microsoft do some really cool  tooling. But I'm already doing my OS stuff. Why would I want to spend time on that? Even if it's easy, why would I want to do that?  You might have your Android stuff and you say, well, I've already maintained 1800 different versions of my Android app. Why would I want to  get another one, right? So how do I keep picking your Android? So, well, to me, this is a pretty good reason. A billion more devices.  They'll run it. So this will be, this is obviously not now, right? Because Windows 10 is not even out. But Microsoft said in the next two to three years,  there will be a billion devices running Windows 10. So some of those obviously are people that either voluntarily will upgrade from Windows 7 and 8 or  involuntary because of rumors they'll just push it on you. It might be your Raspberry Pi. And it does mean that there will be a subset that you may not  target. But there will be a billion devices. And just to compare that, on iOS, there's about a billion devices. Now, I couldn't find any numbers on this,  which made me suspicious. These were all based on, this is how many devices we sold. But what do people do? If you buy an iPhone 3G or whatever it's called,  back in the day, no one has that anymore. Every time there's a new iPhone, people line up in big queues and buy the next one. So I don't think it's that many.  So let's say there's a billion. And there's a billion Android devices. Didn't add another billion Windows devices, which by the way can be anything.  It's not just these two iPad and iPhone or the Android devices. It's also your HoloLens. To me it's a huge opportunity. And the best thing is that your current knowledge is  safe. You don't have to learn a bunch of new stuff if you don't want to. If you already know iOS, you just use that. If you already know Java,  you just use that. If you know VP, sorry. You can actually use that as well. So it's not an extra overhead as much as it would have been if you were developing now  for Windows Phone, which is what I do. So, does anyone call on to I Like Cars? Yeah, look at that one. So you can accelerate your development and push it out really quickly.  Like five days for Candy Crush. Sure, we all wish it would have been 500 days, but it was five days. And you can then take your app and you can do the same.  And it's going to be easier than Candy Crush because it's probably not that simple. The reach you have is going to be massive. You can actually push it out to another billion people.  And ultimately that means more dollars for you. Or a crown, sorry. Or pounds, whatever you use. So, does anyone still have this reaction?  Is anyone still not quite sure? Or is this something you want to do? God, you're a tough crowd. Come on. Does anyone see you still got me? You can be honest. I don't mind.  Okay, that means all of you are going to build an app. Excellent. But it really is. It's going to be that easy. It's just what I was saying at the beginning.  You used to be having to build for four devices. You had to have four development environments and four machines. It was all different.  Even if you were writing for Windows CE, which I used to do, Intimate would have their own device family and they would have their own version of Windows CE.  If you were building other GPS apps, it would have their own device family. It was just a pain. I can't like this one. Because that's usually the reaction I get.  That's good. No regions get it. And the American. So, how about we look at how we can actually do this? I'll try and show you somehow how easy it is to get started.  So, I'm not going to publish an app because we don't have time enough. But let's have a look at what we can actually do.  So, the first thing, has anyone heard of Microsoft App Studio? One person. Two. And I can't see the rest. Let's go with two.  So, Microsoft App Studio is, does anyone know about Light Switch? Yeah, a few more. And they just vomited a little bit, I think.  For some reason, this has been compared to Light Switch. And it isn't. Light Switch is aimed at your marketing guy that wants to do something that looks like Excel and Word and front page, essentially.  And it has a lot of smarts under the covers. But that's sort of what the target market is. This is actually targeted at, is a novice developer?  As I like to say, it's the kickstarter, the accelerator for building your Windows app, or Windows platform app. So, let's have a look at App Studio.  So, you're making this to work. All right. So, now, we'll just duplicate instead. And, kind of, change to a weird resolution.  Can you still see it all right? Yeah, it's okay. Okay. Looks odd. So, it's appstudio.windows.com. It is a, this is the marketing bloke, four steps.  But it's basically a, a WYSIWYG online editor that lets you build an app for Windows or Windows so on at the moment.  And that, again, sounds, you know, I'm a real developer. I don't want to do that. But if we just have a look. So, there's a bunch of templates because it is aimed at people have, I have a blog, I want an app.  But if you were saying, let's just do a, you know, we do an empty app. And it will give you a, you know, little touch thing here and we can name it and we'll call this NDC.  And then we'll start with that. So, now it's all drag and drop, right? And I know you developers, I know you don't like this, you know.  I never use an editor. I mean, I never use the WYSIWYG editor. You know, I'm a real man, developer. But bear with me.  So, in here, we say, okay, you basically set up your sections or your pages and you say, I want YouTube here. Okay, YouTube and this, the, the, the change that.  All right, this is the beauty of the web. The changes every couple of weeks. So, if I had an API key for YouTube, which you need now, you can add it and you can add a keyword and it actually just pulls all that in.  All the code to creating YouTube videos will be pulled in. Let's do Fliggins there. There we go. So, we'll call this images and use it.  And now we're going to go for tags and then we want to put Oslo, for example, right? So, now it's going to go off. It's going to create an API, a wrap around the Fligg API.  And there you go. It's already pulled in the images for Oslo, right? So, again, you know, that's not coding. I know, I know. Relax.  So, I'll just do a, you know, a couple more. Oh, and you know, API keys as well. Holy crap. I haven't, I didn't, I didn't do this last night. I must admit.  See that all. But it's easy enough. You actually just, okay, expert music. So, what's an Norwegian band?  Dub Dub Boy.  Dub Dub Boy. Is that what you said? Okay. Like that? Who's who? Yeah?  Dum Dum.  Dum Dum. Even better. Like that?  No.  I don't know. Okay. Well, let's just do one of my favorite Swedish bands here.  And, oh, no. Okay. We'll do, did someone say Ace of Bass? Or was that just me? Was that you, Ben? Did you say, okay.  Ace of Bass. Wow. There's a child of memory.  Okay. Yeah. Pop. Contemporary pop. All right. Yes. So now we've got, well, it turns out to be our Swedish app.  I hear an Norwegian are just as fond of Swedish as the Danish are. Is that right? As in, this is the favorite people you want to make fun of.  Are they always drunk? Oh, no. Sorry. Wow. It's thinking about it.  So what this does now, it goes off to Xbox. It takes, you know, it does the API call. It figures out where I get the music.  And then you get a live preview here as well. Look at this. Okay. There you go. So here's the music. Happy Nation. The sign. You know, all the goodness.  And you can keep going like this, right? You can theme it. Yeah. Yes, we'll stay. Okay. I didn't save it. It's just a sound.  You can theme it. And you can do all the stuff. And it goes through. And in the end, so it looks fine. Yeah. Tiles. Does anyone aware of live tiles?  It is the single best feature on the Windows platform, in my opinion, as a consumer. And no one seems to use it.  It is the whole idea of Windows Phone was glance and go. So you would just glance on it and see all your tiles, which are those beautiful things right there.  And they would flip. And they would give you information on the start screen. So I wouldn't have the Apple experience of into and out, out on app, into and out, out on app, into and out.  That was the idea. Anyway, if you're doing this, use live tiles. That was an aside. So if you had images, you can add those. You can customize your live tiles.  You can do quite advanced stuff. And then eventually you can go into settings. You can hook this up with your advertising API. Basically, all of the stuff that is really boring to do as a developer.  This is what you can do here. And then once you've done all this, you then go to, where do I put that now? Finish. And you can then download, there you go, three different versions of it.  Install a little package. That's if you want to side load it onto your phone and run it right away. You can publish it directly to the store. Might not want to do that. I don't know.  And you can just get a source code package. And you can, you get the full source code source, source code solution that runs in Visual Studio.  And you click generate. And I want it for Windows 10 because it does Windows 10 now. Install packages, experimental, yeah, sure.  Build version. And you click generate. And if I have internet connection, yes. Just thinking about it.  So what happens now is that it actually goes and it creates a full MVVM solution. So model view, view model, which is the preferable way of building these kind of apps from data binding and separation of concerns.  And you can open this as we'll do in a second. There we go. Okay. We'll download the package. Oh, sorry. No, we want to download the source code. Don't mind. Download source code.  And we want to save this. And we want to save this on the desktop. I'm sure.  And now you have a start. So I'm going to have, of course, on the plural site. My editor is sitting here looking at me.  That will do all of this in detail. And it isn't just for people that are new to development. This is a way that you can kickstart your development.  So instead of spending two days setting up your framework and creating all these APIs and wrapping it around and figuring out what MVVM is and how it works with data binding and yada, yada, yada.  You can spend a couple of hours on this, get the source code, and there's your start, right? So if you can find some way, some of this that works in whatever your app is, obviously this doesn't work with games.  But in some business app, line of business app, you've just saved yourself two days. And actually the output is really good. Like it's properly done.  It's not sort of, I don't know if you ever did this, but did you use DreamViewer? DreamViewer? DreamWeaver, sorry. DreamWeaver is great.  Yeah, see, there's a lot of nods. And the thing that spit out, that was your website, was just vomit, right? It just went, here's your website.  And it looked all right, but it was terrible. You could not maintain it. It was slow. This is not that. This is actually really good.  So, no, I don't want that. Okay. So let's see if we can open this.  Moment of truth.  Do you think I'm using Windows 10 on desktop? Few people, kind of. You liking it?  The single best feature has got to be this. You ready?  This is what Apple has done forever. It's multiple desktops and I didn't use it and I started using it and now I can't leave it alone. It is really good.  What am I doing? So let's just extract that here.  There we go. Extract all. Yeah, that'll do. That'll do. Elevating music. A story. All right. What kind of story, Ben?  One that takes just long enough.  Just long enough. And the most important thing in all of this that you need to know, and you cannot leave it. Oh, that's done. Okay.  So, we'll open this up here. Wow. This is... Do you mind? Just give me... Because this resolution was... I did not expect that.  Let's just see if we can make it look a little bit... Oh, God. Holy... Yep. Over here. Yeah.  So the good thing about Windows 10 is they added more clicks. I don't know why, but things have more clicks now.  So, is that the right one? Okay. All right. I think this is a little bit better.  All right. So now we're just going to open up that solution.  Oh, cool. And I'm going to go to desktop. And here it is. Okay. I wish to just get rid of this thing.  Everything here opens. Are you sure? It could be dangerous.  So, this is Visual Studio 2015 RC. Is anyone running 2015 at all? Oh, good. Okay. So you can download this.  Actually, I have a slide for this. Oh, you see that? There you go. Anyway, it's that one.  You can download this and I'll share the links. Visual Studio 2015 RC. And they now have a community edition, which doesn't suck.  And it comes with all the tools that you need to develop Windows 10 apps. Windows Universal Apps.  So, here we have our solution. So what this has done is given us three projects, four projects.  Let me just collapse all of this. Collapse all. There you go. So we have the portable.  It's kind of like if you know what a portable class library is, PCL. It's basically all the common stuff that all the versions of the app is going to use.  It's kind of like a class library except it doesn't get compiled into a DLL. It gets pulled into different versions.  So then here we've got a ViewModels, which are going to be the same across all the devices.  We have our... down here we have Universal Thing and we have View and we just look at the homepage here. Just as an example.  So you have now... have you used Blend? Anyone use Blend? So Blend is the XAML designer. XAML being the language that you do design in.  It kind of looks like a Photoshop-ish type product. I'm not going to open it because it takes too long.  We might not forget. Invalid markup. Isn't that lovely?  So Blend used to be like the way to edit your XAML. They've done a lot of changes and a lot of improvement to develop your UI in Visual Studio.  And a lot of the... if it would open a view that actually worked.  Yeah. Okay. You know what? We're just going to make a new solution.  For some reason that was broken. It didn't test the problem. And you made so many improvements that Blend is now almost like an afterthought.  Like if you always use Blend, continue using it. That's fine. But you can do pretty much everything in Visual Studio now.  Two... two... enough. So if you're doing a new project, go to a new project, Windows Universal.  Here's the beauty of Microsoft. This one here is a Universal is not the same.  Because that's a Universal app. The other one is a Universal Windows app.  I don't know. Yeah. I'm sure... hey?  The other one? Yeah, I can try. Maybe that's just what it is.  It may have... it should open the markup though. I would have thought. Anyway.  So the tools of Visual Studio, they're free. You don't have to start in...  If you don't feel it's mainly enough to start in App Studio, don't.  Some projects just... it won't, right? That didn't seem to do anything.  Now, alright. Let's just do this. My back up.  Oh. Stop asking the building.  And you can download all of those. I'll show you in a second. All the emulators that you need for the different devices come as well.  So you don't need to go out and buy 1800 devices like you do on Android.  How do people test for Android anyway? I don't understand. There are so many devices.  There's no way you possibly could. You just do the same songs and that's pretty much it.  So it will be kind of the same, maybe, for Windows.  But the difference is that there will be a universal way of doing it.  Each vendor will not have their own... hey, look, this works well, doesn't it?  You convinced? It's easy, isn't it?  I'll just do one last time. See if that now is happy.  And if not, then we're going to do the other one.  Yeah, download... at least download the tools. There we go. Hey, excellent.  Got there eventually. So this is showing a five-inch phone.  This is up there, if you can see that. Yeah, five-inch phone at that resolution at 300 scale.  So that's one of the views you can see. And then you can...  Once you've got your app, as we've... well, there's nothing on the screen here for some reason,  you can turn it around, landscape, you know, portrait, but then you can also change it.  And this is why it is so valuable to have Visual Studio to do these apps.  We could choose a 12-inch tablet and then it'll change it.  And for some reason, let's just do images detail, images list here.  Hopefully they go... no. So they haven't even done the test data properly.  Anyway, if I were to add lines here to my grid, so this is another grid that I'm creating, right?  If you add stuff to it, like say, we want to add a text box.  Here. And that's tiny. And we call this... oh, that's fine.  Yep. And we call... hello, NDC.  Okay. And then... the layout, we want to have this to be centered.  There we go. And... see, all of this will make sense once you get into it.  We're going to say it's in row zero, row... yep, that should be right.  Okay. But as you then change the difference to different form factors, this will change with the right.  So you see everything on the screen. So obviously I made something wrong there because it goes out.  So it's really easy to figure out where you've done something wrong and whether it looks good on all devices.  Much more than it is with, say, Android, for example, but you can put your Android code in here.  And then you have all these. You can even look at the Surface Hub or the Xbox.  And it's not a secret that it's coming for those devices. It is there. 10-inch IoT device.  We don't really know what that is yet. Raspberry Pi doesn't have... it's a headless device, right?  It doesn't have a screen, necessarily. But then you also get for these devices, you can then run it on whatever is relevant to your screen.  So you can... I don't want the emulators early on. This is not going well.  So the emulators will show and it would have all the different emulators, which are Hyper-V images. They're actually the phone that runs.  So if you're familiar with Windows Phone Development, you get the full emulator.  And if you're doing it dual boot on the Mac, then you're screwed because this is more...  But it gives you all the emulators. It gives you the full experience except for the things that could never work, such as mobile connectivity, battery level.  And it is all free. So this all went wrong. That's a game.  Let me go for time. So does this make any sense now that everything failed?  Can you kind of get the idea of what to do? Like you either use App Studio, in my opinion, and you get the base class and the base sort of layout of your app  and you put that into Visual Studio. Or you just start from Visual Studio and you design the whole thing yourself.  Or you drag your iOS device that you have app in, or you drag your Android device, APK file in.  There's so many opportunities to do what it is that you are best at.  So a lot of the technology is only you have to learn something new.  And yes, sure, there's something maybe in terms of Visual Studio. There are some things, but the learning curve is just so low.  Not steep. Does that make sense? That's a yes.  Okay. So that was that part.  Now, if you do want to dabble with this and you do want to get a better understanding, because we just don't have time.  But again, I'll get back to Microsoft has become the good guys.  Everything is open sourced almost. They even open sourcing.net.  And you can contribute to it. It's a proper open source project. You can do pull requests and they may get it.  And it's the same with these. There's all these universal samples. And there's a lot. And this is just to get you going.  So if you wanted to do, say, a barometer, there's a thing here that looks a bit small.  There's a way that you can get a barometer sample.  There's so much help out there and there's so many projects that you can just grab and use in your app.  So there's not really an excuse to start doing it. And then, okay, let's just do this again.  Hmm? Does that work?  Kind of.  That's my car.  All right.  Okay.  There we go. So app studio. It's free. Use it. It works with Windows 10. Allegedly, as we saw.  Visual Studio has a community edition, which is free. And it actually has a lot of the stuff that you would normally get in enterprise editions.  I can't remember exactly what's different. But some of the tools that most people don't need.  Now, I was hoping I wasn't going to need this slide, but it's kind of, I was expecting this. And this is kind of what happened, right?  So don't get discouraged. This may happen.  So, universal Windows apps. I haven't got time. There's the other one.  So, if you have the right tools, right, which we just saw, you probably all have the right tools, whatever it is that you want, whatever it is that you do.  And if you want to develop for HoloLens, then you could, I'm just saying, you could potentially do this.  There is no boundaries of possibilities. They're endless. I just love this. It's fantastic.  So, I have about five minutes for questions, which is kind of what I was hoping. I know you're a tough crowd, but does anyone have any questions?  And please, anything? Yes?  Can you actually build Android or iOS applications there? Like Xamarin?  So, that's a good question. So, this is one way. Is this conflict, this is really quite disturbing, isn't it?  Can you build iOS and Android apps in Visual Studio? Is that what you're saying?  I don't know. Is it there or are you still in Xamarin?  You still need Xamarin because that's the other way. So, what Microsoft has said, we know all of you love Android and iOS because, granted, Windows Phone is about 3% or something.  And I have about 2% of those phones. It is, yeah. So, in order to build with C sharp and push it the other way, do iOS and Android, you do need Xamarin. Yes, you do.  If you have your iOS application and you run there, do you have iOS user experience, sticky and everything?  Very likely. See, that's not confirmed yet. All they said is that you can take your code, Objective C, not Swift yet, Objective C, put it into Visual Studio and you can compile it to a Windows Universal app.  What that looks like, I don't know.  Can I look at my shirt?  Sorry?  And the truth is that it's good to have, I mean, just either check the key.  That's right. Exactly. That's what I'm saying. I don't think it's going to be as easy as they want it to look like, but it is going to be a lot easier than starting all over again.  So, they've done, like, this is a three-year project that they kept secret just to do Candy Crush. No.  There's a lot of work going into it and there's a lot of API mapping, but in terms of the UI, I hope they're going to do something that allows you to either directly map it if it's simple enough,  because I don't know if you're familiar with Xamarin Forms, but that has Xamarin Forms spits it out into it looks native.  Well, it is native, but it looks. That's right.  Because buttons on iOS are shiny and round.  Buttons on Windows Phone are flat and square, right?  And stuff like that. You want it to look like it belongs on the platform.  Although they've changed it all now to look more iOS-ish with the hamburger menu and stuff, but that's a different discussion.  Did anyone else have any questions?  Yes, sir?  Do you know that there is a fate with guidelines designed for multiple resolutions?  There is, yes. There's a massive amount of documentation.  Yeah, I can show you afterwards if you want.  Yeah, there's a full white paper design guidelines.  It's quite clever how they do it. I could do a whole talk on display factor and stuff like that.  Yeah. Anyone else?  I can't read. Oh, there. Yes.  A universal app can run on multiple devices, but not on a web browser.  So universal apps can run on multiple devices, but not in a web browser?  You can take an interesting website as you showcase and transform it to a universal app.  But there's no, you know, the other way.  So you can take an app and run it in a web browser? Is that what you're saying?  Yeah.  No, no. It's kind of not the aim.  We're pretty good at the web already, and we don't mind doing another website.  We can easily create another website.  The problem they have from Microsoft is that no one is building the collapse for the Windows platform.  So that's what they're aiming at.  But if there was a way to share code-based between universal apps and ASP.NET applications,  would that be cool?  If there's a way to share code-based between.NET and universal apps.  ASP.NET.  ASP.NET.  Yep.  There's something that was just announced called, what are they called?  Web, I forgot now, Web something, but it's basically a compiled DLL that all the major browsers are going together to form a standard around.  Because we need more standards running.  That allow you to have DLLs that run in the browser.  So that may be something like that.  But it's not part of this project.  Web assembly.  Web assembly. Thank you.  Whoever said that.  That's it. Web assembly.  Anyone else?  You've got you going now.  Bit late, but anyway.  No? No? Okay.  I apologize if I can't see because it's pretty bright these lights.  Alright. That's all I had.  Thank you very much.  Don't forget to press the green button.  The green button.  Thank you guys.
Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_0_1007.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_1008_4115.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4116_4367.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4368_4427.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4428_4475.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4476_4523.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4524_4571.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4572_4619.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4620_4667.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4668_4715.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_4716_5327.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_5328_5387.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_5388_5519.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_5520_7403.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_7404_9179.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_9180_18323.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_18324_19823.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_19824_20099.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_20100_20615.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_20616_20711.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_20712_21035.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21036_21083.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21084_21299.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21300_21347.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21348_21443.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21444_21635.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_21636_24155.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_24156_24695.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_24696_27575.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_27576_29495.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_29496_31247.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_31248_31535.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_31536_31979.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_31980_32327.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_32328_34079.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_34080_39419.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_39420_40763.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_40764_41039.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_41040_41159.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_41160_41843.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_41844_42083.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_42084_42287.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_42288_48455.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_48456_49451.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_49452_54851.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_54852_55883.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_55884_56051.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_56052_62075.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_62076_62171.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_62172_62459.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_62460_63335.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_63336_69311.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_69312_69851.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_69852_70091.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_70092_70811.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_70812_71411.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71412_71459.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71460_71519.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71520_71603.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71604_71819.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71820_71915.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71916_71975.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_71976_72167.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_72168_72215.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_72216_72287.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_72288_72347.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_72348_78287.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78288_78479.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78480_78551.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78552_78707.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78708_78755.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78756_78863.png Universal_Windows_Apps_____Develop_for_all_Sizes_-_Lars_Klint_78864_79069.png