ANNOUNCER: Ladies and gentlemen, please welcome to the stage Microsoft corporate vice president Windows Web Services, Antoine Leblond. (Applause)
ANTOINE LEBLOND: Alright. Well, good morning everyone. Thanks for coming out. I know it’s a little bit of an early start for a tech conference, but we do appreciate you making it out here to join us.
I’m really excited to be here. If you were at yesterday’s keynote, you got to hear Brad Anderson and Jason Zander and Scott Guthrie talk about Windows Server and Windows Azure, so Microsoft’s on-premise and cloud infrastructure for running enterprises.
Today, we’re going to talk about the third leg of enterprise infrastructure and that’s the desktop, it’s Windows 8.
We have a variety of folks in the room here, which actually makes things a little bit tricky in just that we have some folks who know quite a bit about Windows 8 already and then we have some folks who know maybe almost nothing about Windows 8. We have a lot of developers, we have a lot of folks who have never written a line of code and are not interested in doing so.
So, we’re going to try and cover a lot of ground today, and hopefully give everyone something interesting to think about and to see.
We have about an hour and 15 minutes. We’re going to cover a lot of territory, like I said. I’m going to start by doing a little bit of work to just set the context for Windows 8 and explain what was behind the design of what we did.
We’re going to demo. We’re going to do a fairly extensive demo of the product, and then as we’re doing that we’re going to show you a lot of apps. So, this is just to sort of give you an idea and a sense of the kinds of apps that you could be building for Windows 8.
We’re going to show you a little bit about how these apps are built, so we’ll do a little bit of Visual Studio work, not too much I promise, and then we’ll talk a little bit about how you would deploy and manage those applications and Windows 8 machines within your enterprise.
So, I have really three goals today. The first one is to get you really excited about Windows 8. We love the product that we’re working on, we’re really excited about it, and I hope to get you just as excited about it as we are because we think it’s a terrific product.
The second one is, as I said earlier, to try to inspire you maybe a little bit to think about apps that you could be building for Windows 8.
And then the last thing is really I hope to have you walk out of here realizing and understanding how Windows 8 is just enterprise ready by design.
So, the best way to talk about Windows 8 is really to start by talking about the context within which it was designed, and, of course, that context starts with Windows 7. If you think about just the process of developing these products for us, we were really starting to think about the design of Windows 8 as we were wrapping up the Windows 7 project.
Now, Windows 7 has been an amazing product for us. It is the best and fastest selling version of Windows ever. We just passed 600 million licenses of the product sold, which is just an incredible number if you think about it.
But if you think of its origins, it’s really rooted in the last generational change of Windows, and that’s Windows 95.
Now, we’ve made thousands and thousands and thousands of improvements and changes to the product between Windows 95 and Windows 7, but fundamentally things like the architecture, things like the app platform, things like the UI, notably the Start menu and things like that, all of those things in Windows 7 come to us from Windows 95.
And so really the question for us when we were designing Windows 8 is, how much the world has that Windows 7 was built on changed since then. And, of course, things have been changing; they’ve been changing a lot. It’s a long time period; technology changes like crazy.
The question then is what it means for what we expect from our PCs.
Take some of these things: what does it mean that we’ve gone from a world where basically all PCs were desktop machines, sat on your desk, they were plugged into the wall, a few people had laptops but laptops were really just transportable desktops, essentially you would plug them in one place, use them and then unplug them and carry them somewhere else, plug them in again, to a world where now over 60 percent of the PCs that are selling this year are actually laptops, they’re not desktops. Their markets are places where next year tablets will outsell desktop PCs.
So, we’re going to go from this world where most things are fixed in where you use them, they’re plugged into the wall, to a world where most PCs are actually battery powered, which is a dramatic, dramatic change for how we think about designing the OS and how we think about designing applications.
In a world where things are powered by batteries you care a lot about the state of the CPU and always trying to do as little work as possible when the machine is not actually being used so that you can preserve that battery life. When a machine is plugged in you get to do exactly the opposite, you take advantage of idle cycles and things like that. It’s a very fundamental change.
Touch. Touch is a pretty interesting one. Five years ago, we had very, very few devices out there in general that had touch screens. If you think of the first even touch-based cell phones, a lot of people thought they were just going to be niche products because they didn’t have a real physical keyboard, right? And that no one was really going to be able to – or very few people – were going to be able to use these onscreen keyboards efficiently. Now, go to a cell phone store today and the vast majority of phones that you see don’t have physical keyboards anymore.
Think just about every device you use today that has a screen. Think of going to the airport and checking in. You usually do it in a kiosk that has a touch screen. You go to a bank machine they have touch screens. I have a watch that has a touch screen. Touch screens are everywhere. But ironically there are two places where we don’t really have great touch screen support yet. The first one is your TV, which is fine because our arms aren’t long enough to actually reach the TV, but the other one is our PCs. We tend to not interact with our PCs much using touch yet, but that’s all coming.
At COMPUTEX about three weeks ago, every major PC manufacturer announced laptops, tablets, all-in-ones, standalone monitors that all had touch sensors on them. Touch is coming to our PCs and that’s going to change the way UIs are designed very dramatically just the same way the mouse did.
What does it mean that we go from a world where connectivity meant turning on your PC in the morning, actively connecting to your network using a connection manager or something like that, maybe dialing in, downloading all your mail and then at the end of the day you disconnect from your network, to a world where now networks are almost ubiquitous? If you think of Wi-Fi hotspots being all over the place including in airplanes now or just wireless broadband, what impact does that have on the way we think about designing software?
What does it mean that we go from a world where content was something I created and saved on my local disk, on my local machine, to a world where the content I create now gets saved there, gets saved onto cloud storage services like SkyDrive and Dropbox and Office 365 and things like that or it gets stored to these sort of specialty services like photos that I’ll store to Flickr or Facebook or a video that I’ll store to YouTube? Our content is scattered all over the place all of a sudden where it used to be very, very localized.
What does it mean that the things I work on used to be basically files and databases, I would create documents and things like that and modify a database, to a world where today probably half plus of the things that people do on PCs is really about interacting with people, about sharing, about communicating? That’s a dramatic change in even what we do with our PCs.
And finally, what does it mean to go from a world where there’s a hard split between home and work, where people carried around two cell phones, their home phone and their work phone, two PCs, one that was the laptop that you got at work and the one that you have at home, to a world where those lines are completely blurred? I do work at home all the time, I do things for home at work. I have devices that I really want to be able to use my home PC at work and things like that. That’s also a dramatic change.
Collectively we’ve basically reimagined the way we use technology and what we expect from it.
And so with Windows 8 we’ve reimagined Windows. From the chipset to the experience Windows 8 takes the best of Windows 7 and looks forward to a world of new apps, new devices, new scenarios.
We’ve designed Windows 8 for the billion people who use PCs today, and for the next billion people who will use them in the future.
We’ve reimagined the user experience so that it’s fast, it’s fluid, it’s full screen it’s immersive, it’s beautiful.
We’ve reimagined the way Windows works with hardware so it works on an even broader range of devices than it ever has, from the biggest, most powerful desktops down to these wonderful small, light, tablets built around these system-on-a-chip designs from ARM and Intel.
We’ve reimagined the way apps are built so that they work together, so that when you add an app to your system it not only makes the system better but it makes all the apps that are already on that system better as well.
And we’ve reimagined connectivity so that just like your phone, your PC’s always connected to your files, to your apps, and to your people.
Windows 8 is a bold new bet. It is a generational change in Windows.
But here’s the thing, it’s still Windows. In fact, one of the things that we like to say is that Windows 8 is a better Windows than Windows 7.
We’ve done a ton of work to just improve on the fundamentals of the operating system, things like performance, memory footprint, the file system, connecting to devices, even things like copying files around, we’ve improved that and made it better than it is in Windows 7.
It also means that everything you can do with Windows before you can still do with Windows 8. So, the logoed PC that you have that’s running Windows 7 will run Windows 8 just as well, or if not better than it runs Windows 7. The devices you plug into your PC today keep working with Windows 8. The apps you run today keep working with Windows 8.
And it also means that you don’t have to compromise. It means that Windows 8 works equally well on a tablet or on a mouse and keyboard device. It means that it works equally well on a tablet or a laptop or a desktop. It means that it works equally well in a managed environment or an unmanaged environment. It means that it works equally well in a world where you have — or in a mixed environment where you have Windows 8 PCs and Windows 7 PCs or just a uniform one where you have only Windows 8 PCs.
It also means that you don’t have to choose like you do today, you don’t have to choose between a small, thin and light tablet and being able to use the apps that you rely on day-to-day. You don’t have to choose between all-day battery life and being able to connect into the infrastructure that runs your enterprise. You don’t have to choose between the device you want and the device you’re allowed to have at work. What it means is that you can have a Windows PC without having the compromise.
So, let’s have a look. We’re going to do a little demo here.
Now, you’ll see that as we do these demos we’re actually going to use quite a variety of machines, and actually this is a good way to talk about one hallmark of Windows, which has always been just the variety of hardware that it works on.
We have on this table over here just some great examples of machines from our partners. We have an all-in-one over there, we have these beautiful ultrabook laptops, we have a tablet over here.
And so I’m going to start this demo actually by using this machine here. So, this is a Samsung Series 7 tablet. This is actually a machine that you can go buy today. It’s a really, really nice machine actually. It has an Intel Core i5 processor in it. It has a really nice screen with a multi-touch capacitive touch screen. It has front and back facing cameras. It has gyro sensors and all those wonderful things. It’s a wonderful machine. You can buy it today. It comes with Windows 7 on it, but its’ a great machine for running Windows 8 as well.
So, let’s switch over to this so you can see.
So, here I am actually at my Windows 8 machine, and I am actually at the lock screen for Windows 8. So, right away you can tell that this looks a little bit different than what you’re used to. Not only is it beautiful but it’s also personal and useful. You can see that it actually gives me some information at the bottom here about the state of my PC, my connectivity, my battery charge, but it also shows me some things that are useful to me. So, for example, I have the number of unread email messages down here that you can see. I can see what my next appointment is.
Now, one of the things I’ve done for this demo is I’ve turned on something that we call TouchPoint so you can see where I’m actually touching the screen. You can see these little dots here. That’s where my fingers are going. So, that makes it a little bit easier to follow along with what I’m doing.
So, I’m going to swipe up here to unlock my machine. Now, I’ve actually chosen to protect this machine with a password, but instead of using a traditional alphanumeric password or a PIN or something like that, because I don’t have a keyboard on this machine and typing on the soft keyboard can get a little bit awkward, I’m using something we call a Picture Password. So, this lets me just define a sequence of gestures that’s secret to me that lets me unlock my PC.
So, in this case I’ll share my secret with you. I’m going to swipe down this mountain ridge, swipe down this mountain ridge, and just tap the peak and it unlocks my PC just like that; very convenient way to do this.
So, here I am at the Windows 8 Start screen. So, think of this as a personalized dashboard. Every one of these tiles or each one of these tiles that you see here represents either a favorite app, someone I work with a lot or someone I communicate with a lot or maybe a favorite website or something like that.
The tiles that you can see are alive with information. So, for example, if you look up here you can see this is actually my mail app up here, and you can see that instead of just having a mail icon on it, what it’s actually showing me is it’s actually showing me my four most recent messages. It’s just cycling through them. If you look to the right of it, you can see my calendar and you can see it’s showing me my next appointment. If you look at the bottom right down here, this is my weather app and it’s actually showing me the weather in Amsterdam instead of just showing me a static weather icon.
None of these apps are running right now, I haven’t started any of them, but in the background they refresh themselves and update themselves, and you can see just at a glance I get this relevant and timely information. So, it really does act like a dashboard.
As I said, navigating this works just as you would expect. I can just pan across and you can see how smooth and fast and fluid it is.
You’ll also notice that there’s no chrome on the screen, and you’ll see this as we show you apps in everything there’s no menus, no toolbars, anything like that. We like to think of Windows as fading into the background so that you can focus on what you’re trying to do on your PC.
So, as I said, navigating is really easy. I can move around. It’s a personalized dashboard, which means I can customize it any way I want. I can, for example, just tear off tiles and I can move them around just the way you would expect to.
Here’s a neat little multi-touch thing. Right now I’m just holding down that tile. I can use my other finger and I can just scroll behind it and just go drop the tile where I want it, which is kind of a neat way to navigate through here.
I have maybe a couple dozen apps installed on this PC so the Start screen isn’t really long, but you could imagine if I install a hundred apps, 150 apps, it just gets quite long. So, another way to navigate is I can actually just pinch and zoom out, right, and that gives me sort of a zoomed-out view of the Start screen, which makes it really easy for me to actually move around.
You’ll notice that things are organized in sections or in groups. So, this is a little bit like folders in the Start menu today. I can move my groups around. I can just drag one, tear it off, just like I did with the tiles, and I can reorganize them that way. I can just select one and I can name it if I want. Here’s the on-screen keyboard. We, of course, support on-screen keyboard in all sorts of languages. We have auto-correct, we have spell checking and all those things, and I can just name my group of apps that way.
And so that is just a quick, quick view of how you navigate the Start screen.
So, let’s go have a look at our first app here. So, this is the tile down here for the app I want to show you. I’m just kind of holding it down.
So, let me tell you a little bit about this app before I show it to you. This is an app that’s called Ultimate Beer Ranger. It’s a custom line of business app that’s built by a company called New Belgium Brewing Company. They, of course, make beer, and they sell their beer to stores, to restaurants, to bars, night clubs, things like that, but because of alcohol sales laws they can’t sell directly to them, they have to basically sell to a distributor and the distributor sells to these retail outlets.
Now, the salespeople at New Belgium Brewery they don’t talk directly to their end customers, they talk to these distributors. But, of course, the company really would love to maintain this relationship with the end customers of their product so that they know what they’re looking for, they know how their product is being presented and sold and things like that.
So, they have these folks who they call Beer Rangers, and their job is to stay in contact with these bars and restaurants and things like that, and make sure that they’re selling the right products and things like that.
And this is an app that New Belgium Brewery has built for their Beer Rangers. It’s an app that’s supposed to make the process of staying in contact with their customers easier. So, it’s kind of a twist on a classic CRM scenario. It’s actually a front-end that’s built on top of Microsoft Dynamics CRM back-end, and it’s a great scenario for a tablet if you think about it, because these Beer Rangers are really, really mobile.
So, let’s have a look at the app.
Now, before I start it up you can see right here that it has a Live Tile like some of the other apps I was showing you. So, you can see right off the bat without even starting the app I can actually see what my next four appointments are.
Now, let’s go start it up. The first thing you’ll notice is just like the Start screen, it’s immersive, it’s beautiful, it uses the full screen, there’s no chrome or anything like that. It’s one of the better looking business apps that I’ve seen in a long time.
And I navigate it just the way I navigate the Start screen. I can just pan back and forth.
What it’s showing me here is basically my schedule for the week. Just like the Start screen I can pinch down to zoom out.
Now, notice what it did here. The zooming mechanisms in Windows 8, we call it semantic zoom. Instead of zooming out optically and just giving you a smaller version of what you’re seeing on the screen, it sort of zooms out conceptually. So, here I zoomed out. I have my days of the week. I could just go tap on one and then it will zoom back in to that day of the week. I can tap on one of my appointments and here what you’ll see is I actually get a bunch of information about that specific client, things like sales, year to date sales and things like that, some contact information. If I pan over to the right here you can even see some photos of the establishment.
And here I could do things like, of course, if I want to create a new appointment I can just go tap here, and here’s a calendar control. I can set an appointment. I could do some other kind of interesting things here if we go look.
I’m at this customer’s establishment, Adam’s Bar and Grill, and I want to take another photo. I can just tap on add photo and it activates — sorry about that, you don’t want to see that — it activates the camera on the device and I can just take a photo and then actually store it in my database here or in my CRM system here.
Let me show you one other neat thing that I like about this. Let me go tap the map icon here.
So, what this actually does is it actually uses the location services that are built into Windows 8 to actually show me where the customers that are near me are. So, maybe I’m driving around and I want to just drop in on some of my customers. This is just a great way to see where they are.
And so what I love about this app is that not only is it beautiful and a great example of what we call the Metro style design, but it also does a great job of just taking advantage of the hardware that I have here.
So, I’ve talked a little bit a second ago about just how Windows fades into the background when you’re using these apps, but a reasonable question is, OK, well, how do I get Windows back? Let’s say I want to go back to the Start screen, let’s say I want to switch apps, let’s say I want to change the settings on my machine, how do I do that?
Well, we thought a lot about how to design this, and one of the things that we spent a lot of time considering is just how you use a device like this, how you physically hold it. If you think of a tablet like this, the most natural way to hold it is to just palm it like this with your fingers on the right side and on the left side on the bezels. One of the most natural gestures I could do here is just swipe my thumbs across. It’s a really, really simple, really fast and comfortable gesture to do.
So, we actually take advantage of this throughout the system. So, I’m going to show you here just by swiping from the right out come these little icons that we call charms. And in any app anywhere in the system I could just swipe from the right and these will come out. And the one that’s closest to my thumb is the one in the middle, the Start charm, and just by tapping on it I go back to the Start menu. See how easy that is. Switching back to an app, just do that from the left and you can see out comes the app and I can switch back to it. So, very, very easy, very fast, very fluid, I can do this really easily, switch back to it.
So, let’s go back to the Start screen and we can start some other apps. Here’s mail. Let’s go back to Start. Here’s the calendar. Back to Start. Here maybe is my weather app. Back to Start. And now I’ve got four or five apps running, and I can just switch through them just like that. Really, really easy, really, really fast, and really comfortable to do.
Let me show you another way to switch through apps. If I just swipe out here and just sort of move it right back I get what we call the Switch List. So, this is just a really, really easy way to actually look at all the apps that I have running right now, and I could just tap through, you know, pick the one that I want and bring it up.
Now, you may have noticed when I brought out these charms there are some other ones here. Let me show you the one at the top.
So, one of the things in Windows 8, we have this concept of contracts, and contracts are a way for apps to either wire into the system or wire into each other very easily. One of the contracts you can implement as an app is the search contract, and what that lets you do is that lets you actually wire into the system-wide search system.
So, I can, for example, here I could go search for Adam and what you’ll see when I do the search is that it finds the one contact I have in Beer Ranger that has the word Adam in it, but I can also go search, for example, in the files on my system and that will search for any file that has the word Adam in it. In fact, all the apps that are down here all implement this search contract, and I could just tap on an app and it will go search in that app for the word, so really, really easy. Writing the code to integrate into this is actually really trivial, and so it gives you a great way to actually implement system-wide search.
So, that’s a look at an app, it’s a look at navigating Windows 8 with touch.
Now, as I said at the beginning, part of the no-compromise design of Windows 8 is that you don’t need to have a touch device, you can navigate Windows 8 just as well using mouse and keyboard.
And so what I’m going to do is I’m going to ask Joe Stegman to come out here and give us a little bit of a demo of that. Joe is the group program manager of our developer experience team. So, his team actually builds the application platform that these apps are built on. So, Joe, come on out and gives us — so Joe’s on this side — come on out and give us a demo with mouse and keyboard here. Thanks.
JOE STEGMAN: I’m over here. Hello. (Applause.)
Hello. Good morning, everybody. I’m going to talk today about using Windows 8 with mouse and keyboard, and the first thing I’m going to do if I’m on here is I’m going to logon. So, I’m going to use my keyboard.
Now, Antoine did a great job of showing some of the investments that we’ve made in Windows for touch devices, and clearly it was a huge investment in Windows 8 to think about the touch experience and the touch language really in general. When I say the touch language I’m talking about the concepts like pinch and the concepts like swipe-in that you saw Antoine do.
So, those same concepts, though — and we think touch is going to be a great way for people to interact with their PCs today. Moving forward it may be the way people interact with the PCs, but today we do recognize that there’s a lot of people in the audience who probably have a device similar, or a desktop similar to what I’m going to be demoing on today, which is this is just an ultrabook with a mouse and a keyboard. So, I don’t have a touch screen. Yet I’d still like to do a lot of those things that Antoine showed, and I’ll start with showing one right off the bat, which is semantic zoom.
So, since I have a mouse attached as I start to move the mouse you’ll see that some UI pops up, some helper UI that shows me I can scroll but also there’s a little glyph here in the bottom right-hand corner and it’s telling me this is semantic zoomable, if you will. And so I can pop into the zoomed-in view and click to pop out to the zoomed-out view. So, you can see great support for mouse in this case.
As well there are keyboard shortcuts. And I’m not going to go through all the keyboard shortcuts, but just to show you that everything that you can do with mouse, keyboard or gestures is supported with keyboard as well. I can do ctrl-minus and ctrl-plus to get that same semantic zoom experience with the keyboard.
So, what I’d like to do next is talk to you a little bit about the swipe-in. And so Antoine showed you can swipe in from the right to get charms and you can swipe in from the left and you can access to your currently running apps.
So, what you can think of when you have a mouse is really moving your mouse to the corners, and the corners are really your friends in Windows 8.
So, I’m going to move to the upper right-hand corner with my mouse, and I can move to the lower right-hand corner, and you’ll see that’s how I get access to the charms.
In this case I’m going to go ahead and start a search, and I want to run an app. So, I can type in with real keyboard and I’m going to — rails, rail — and I’m going to run the app called National Rails app. And this basically is a great app that gives you information about the UK rail system.
This app, I’m interacting with it right now with my mouse wheel. So, you can see I can scroll just like I would normally if I had a touch-based system here.
I’m going to dive in to a little bit more details in this app. So, I’m going to be heading to London. I know I’m going to be going to King Cross Station. At the same time, I know I’m going to stay someplace else close to that, and I’d love to see a map of where this is.
Well, one of the things that Antoine showed, too, was swiping down from the top, and swiping down from the top is in Windows 8 how you get access to commands for an app or how you get access to commands on the Start screen. And in this case I know there’s a command that will allow me to map this, and what I’m going to do is I’m going to right-click with my mouse, and for power Windows users it’s Windows-Z – there won’t be a quiz afterwards – but Windows-Z will get you the command. So, right-click, hit view map, and now I can see a map of exactly where this is. And interacting with this map using scroll wheel or mouse is the same experience as you saw Antoine demoing before with using his finger and using the touch language.
I’m going to start a couple more apps, so go ahead and mouse to the upper right-hand corner, come down, hit Start, go ahead and run a maps app. Upper right-hand corner again, and we’ll go ahead and start Internet Explorer and maybe we’ll go ahead and start one more app, which here we’ll do photos.
So, now I’ve got a set of apps that I’m working with. Antoine showed how you could swipe on the right with his thumb to get access to the other running apps. With a mouse it’s the same thing I showed before about moving your mouse to the corner, only this time I’m going to move it up to the upper left-hand corner. And by just keeping it in the upper left-hand corner and clicking you’ll see that I can cycle through all my running apps. Or if I want, I can drag down a little bit and I can jump directly to one of the apps.
So, I’ll go back up into the right-hand corner and go back to the Start screen. So, you can see it’s a really nice experience whether you’re with mouse or whether you’re using it with keyboard or touch.
So, I do want to take a minute to jump into the desktop, and as Antoine mentioned the experience in the desktop is like a Windows 7 experience, only there are a couple things that I really want to call out that I really like in the Windows 8 desktop.
First of all, just to show you, I’ll bring up my standard productivity apps, things like Aero Snap. It’s the same Windows 7 desktop that you’re used to and familiar with. So, it still supports all of the great desktop features.
You can also see that I still have the corners available to me, but one other thing that I want to show is you’re used to in Windows 7, you’re used to going to the bottom left-hand corner to start out. In Windows 8 you can go to the bottom left-hand corner and that will get you access to the Start screen. So, it’s still the same natural gesture that you’re used to.
But one other cool feature since I know that there are probably some power users in here, this is a feature that will definitely come in handy in Windows 8. Move to the bottom right-hand corner, right-click, and what I do is I get a list of some of the most common power user commands, which I love this. So, things like — not that you would ever have to run an elevated admin prompt, but if you did this is where you’d find it. So, really common for IT pros to have to do something like that. But love this feature, actually I really wish I could do the same thing in Windows 7.
So, that being said, I’ve got one more thing that I want to talk about, and that thing is the modern touchpad. This device, in addition to keyboard and mouse, it has something that we’ve been working with partners on called a modern touchpad.
And I’m going to go back to the Start screen, I’m going to mouse into the upper left and come back into the National Rails app. And now, you’ll see I can use two fingers to do a scroll, scroll, scroll. I’ll go back to the Start screen, we’ll try it one more time with two fingers. There we go. And I can scroll with the modern track pad. So, I’m getting the same sort of touch language features now in my track pad, and that’s really –and my touch pad. That’s really the key new thing that we’ve done is that we’ve enabled your touch pad to get the modern touch language features.
So, in addition to being able to do the two-finger scroll, I can do a horizontal, or I can do vertical. I can also do swipe in. So, I’m going to swipe in from the right, and there I get charms. Tap out. I’m going to swipe down to bring up commands. And there you see that. And I didn’t need to run it, but that doesn’t matter, because I’ll swipe to go navigate back. I’m swiping in from the left. Just cycle through apps. And we’ll see if we get back to the Start screen.
I’ll hit the start key to get back to the Start screen. And the last thing that I want to show you is, I can do semantic zoom as well. So, two fingers on here, and pinch, and pinch, and there we go. And pinch out. And there you go. You see a really great experience, a really great touch experience, and touch language experience using the track pad, and a touch pad, and an overall great experience on Windows 8 with mouse and keyboard.
So, with that, I’m going to invite Antoine back out on stage, and he’s going to show you a few more apps. So, thank you.
(Applause.)
ANTOINE LEBLOND: All right. Thank you, Joe.
So, that’s a great example, as Joe showed you, of just using a machine that has only mouse and keyboard, and doesn’t have touch. Now, one of the things I said in the intro is Windows 8 is Windows. And that means a lot of different things. One of the things it means is that it’s a true multi-tasking operating system. And when you’re multi-tasking, when you’re running multiple apps at once, it’s pretty reasonable to want to maybe have multiple apps up on the screen at once. So, let me show you how you would do that.
I’m going to start a website here. This is actually the Release Preview website for Windows, so this where for Windows 8, this is where you should go to actually download the Release Peview. I have sort of this neat video that shows you some Windows 8 stuff. While I’m watching this video, I might want to, for example, just monitor my email. So, one thing I can do is just go over here, find my mail, and what I’m going to do is I’m just going to drag it out here, and I can just snap it to the left. So, now I’ve got two apps up and running. I’ve got mail in this sort of smaller snap state on the left. I can check what’s going on while I’m watching my video. If I want it on the other side, I can just drag it and move it to the other side, and that’s easy.
Maybe I see an email message that comes in that I’m interested in. I could just drag this bar over and make my mail app bigger, go answer my message, or something, go answer the message or something like that, and then just bring this back over. And I can keep watching my video. So, it’s super easy to manipulate multiple apps at the same time. And, of course, when I’m done with it, I can just drag it down, and there it goes, it’s all gone. So, a super easy thing to do.
Now, I want to show you another app here. Let me start this one up. So, this is an app, this is actually a prototype app that SAP has been working on, and it is a sales pipeline simulation app. So, the scenario I want you to think about here is that you’re sales person with a quota, most sales people have quotas. So, this is some dollar amount worth of widgets that they’re supposed to sell by the end of the quarter. And this app is actually a front end to your SAP sales automation system. And what it lets you do is, it lets you project based on the sales opportunities that are in your sales automation system whether or not you’ll make the quota.
So, let me show you a little bit about what’s going on here. The bubbles actually represent sales opportunities in your sales automation system. The horizontal axis is just time, it tells us when we’re expecting the deal to close. The vertical axis represents certainty or confidence it will actually close a deal. And the size of the bubble represents the size of the opportunity. What this shows me at the top, the green bar shows me that I am sort of on track to make about 96 percent of my quota, so not quite as much as I would like to. And if I scroll over a little bit here, and you can see again manipulating this works just the way you would expect it to. That blue bar actually represents the quarter that I’m looking at.
So, what’s neat about this is I can start using direct manipulation to actually kind of model changes to the sales opportunities here. So, for example, I can look at this one and I can go, gosh, first of all, I can just tap on it and get some detailed information about it. But I can go, gosh, if I can just move this sale in, this sale in, before the end of the quarter, you can see just by moving it in, now I’ve bumped up to 102 percent of my quota, which means I would make quota. So that makes me pretty excited. So, maybe what I’ll do then as a sales person is try to get that sale closed earlier.
You could do things like; I can just, again, through direct manipulation change the size of the opportunity, or change the size of the sales. I can move them up and down. Basically, the idea is this lets me actually just simulate different things. And once I’ve figured out something that I think works, and I actually want to commit to it, I can just write it back to my sales automation system. What I love about this app is it’s just a great example of rich visualization and direct manipulation, and it is so consistent with the Metro design language, and the way we want apps and we expect apps to look on Windows 8.
Now, speaking of sales people, certainly one of the things that’s true about sales people is that they are highly mobile. So, of course, tablet form factors like this are perfect for folks like that. But there’s also this question of just staying connected. So, let’s have a look at my connections here for a second. I’m going to bring up settings, and tap here, tap, there we go. And you can see right here that I’m actually connected through Vodafone’s mobile broadband system. So, I can just tap here, and you’ll see it gives me right in line, it gives me some information about just estimated usage, which is really, really nice. We’ve done a lot of work in Windows 8 to actually build some great infrastructure for these wireless networks.
I could just tap here, and what this does is it starts a custom app that actually Vodafone has built for their wireless customers. And I could do things in this app like manage my account. I could do things like see notifications. I can go get help and support, and things like that. And what I love about this, and what’s great about this is, I didn’t have to go install a connection manager. I didn’t have to go install device drivers. I didn’t have to do any of this.
I took the Vodafone sim; I put it in this machine. There are class drivers already in Windows 8 that know how to support these wireless modems. And basically just by doing that the connection got created automatically. That app got downloaded automatically, without me needing to do anything like that, and I got connected to the network. Super simple and super easy to do, so a really powerful thing.
Now, we showed you some apps. We’re going to show you a little bit later about how you can deploy these apps inside an enterprise environment. But one of the great ways to get apps in Windows 8 is just by using the Windows Store. And so the Windows Store is sort of your source of Metro style apps, or of Windows 8 apps. Let me give you a quick tour of the Sore here.
So, the Store is organized in a very simple way. It’s basically organized into these different categories. This first one on the left that we’re looking at here is what we call the spotlight. So, this is actually a program section. This is a place where we actually get to show new or noteworthy apps, or things that we think are particularly cool or interesting. There’s also some algorithmic lists in here, so things like, for example, new releases. If I tap on it, it will show me all the most recent apps that have been added to the store. Each one of these tiles represents an app.
If I go back to the home page here, or the home screen of the store, you can see that these next sections are basically just categories of apps. So, I can go maybe to entertainment, and I can drill in on entertainment. And I’m going to see a list of entertainment apps. By the way, these are all real, Windows 8 apps that third party ISVs have built. These are all, if you’re running the release preview build of Windows, we have all these hundreds of apps already in the store for you to use. We have new ones showing up every day.
I can tap, let’s go tap on the Sketchbook Express one for example, and here you see what we call the product description, or the listing page of the app. And this gives you a really rich description of the app, so things like screenshots, for example of the app. You get a pretty rich description of the apps. You can get information about device requirements, or hardware requirements, and things like that. You see ratings and reviews. And, of course, if I want to install the app, all I have to do is hit the install button, and the app automatically gets downloaded, and gets installed on my machine. Actually, there it is. It’s already installed, and you can go see now at the end of the Start screen right there, the app is installed. So, really, really, really easy to use.
So, what I’m going to do now is, I’m going to ask Joe to come back out and talk to us about – in the intro I talked about how Windows 8 is enterprise ready by design. So, Joe is going to come out and show us, actually, some of the great enterprise functionality that we’ve built into Windows 8.
Joe.
JOE STEGMAN: Hello again. OK, this time I’m going to show you some enterprise features, and as Antoine said, it’s enterprise ready by design, Windows 8 is. So, start by logging on.
The first feature I want to show you has to do with virtualization. And there was a talk yesterday in the day one keynote, a lot of talk about virtualization as a great mechanism for being able to sort of scale your environment to the cloud. But me as somebody who works, actually, on developer technology, and me as somebody who also works a lot with IT folks, virtualization is also a great thing if you want to be able to easily set up test environments. For example, maybe I’m running Windows 8, but I would love to be able to test out some app that I’ve got, it’s a web app, and I’d love to be able to test that out on, say, XP and IE6, or I would love to be able to test it out in Windows 7 on IE9. So, how can I do that?
In Windows 8, I am going to find my HyperV Manager. So, new feature in Windows 8. What I can do now is I’m going to go ahead on Windows 8 and I’m now running a Windows 7 VM directly on my Windows 8 box. It comes out of the box. I’m running a Windows 7 VM directly on Windows 8. So, you can see side-by-side Windows 7/Windows 8, and I can run a set of other VMs, and this is really easy for me to do something as an either dev or IT admin to be able to quickly spin up an environment, rather than to have to go find some physical environment somewhere. Instead of a physical environment I can now set up that virtual environment and run it directly on my desktop to do my testing, for example.
Now, we do recognize that there are times where the physical environment itself maybe preferred. There may be cases for performance reasons, or for graphics intensive reasons that I want to be able to run my environment in a physical environment. So, what I’m doing is I’m going to go ahead and shut down the VM that I just started up, my Windows 7 VM. So, the virtual machine is turned off and that virtual machine was running from a virtual hard drive, which you see here, and the timestamp if you just want to check is really 9:16. So, that was a VHD I was just running. So, for people who are used to Windows 7, they know, hey, I can take something virtually and run it physically.
It required a bit of work. You had to do some sys prep work and you had to do some disk manager work, or run some batch files. So, how would I do the same thing in Windows 8? One of the nice things is I can right click on my VHD and say mount. So, before it was a lot of work for IT, or a little bit, script work. I’ve directly mounted that VHD, so I can directly get access to those files that reside on that VHD.
All I have to do from here for IT admins who have done this before, all I have to do is do one BCD boot command, point it to that mounted Windows directory, and I’ll automatically create a boot entry and I can reboot the system and actually run that same OS on this system, take advantage of the system hardware, I can reboot it physically on this OS. So, it’s really simple to go from a virtual environment in Windows 8 to a physical environment in Windows 8. I personally, just from my developer background, I personally love this, the ease of this for being able to set up and run my test environment.
So, the next feature I want to show you is something called Remote FX. And Remote FX is really, if you will, that’s the way our remote clients, remote desktop clients talk to their backend infrastructure. And as I would expect, there are probably a set of people in the audience who are currently deploying some sort of VDI infrastructure, and they’re deploying this because it’s a really easy way to centrally manage your resources and apps for your employees. It’s really easy to provide anywhere access to apps to your employees.
So, from that perspective, it’s a very nice solution. Some of the downside of running a VDI-type solution is sometimes you lose a little in terms of fidelity. The experience suffers a little bit, because you’re remoting. So, in Windows 8 there’s been a set of work done to really improve the remoting experience when you’re talking from a desktop client to a backend remoted service. What I’m going to do is I’m going to run the Metro style Remote Desktop Client, and this is available in the store today. The demo I’m showing I could also use the desktop remote desktop client, as well. And I’m going to go ahead and initiate a remote desktop connection into another Windows 8 box. Now, I happen to be remoting into another Windows 8 box, but if I had a VDI infrastructure I could do this exact same demo, go into that backend VDI infrastructure.
So, there’s a couple of things I want to show in this demo. Just to be clear, the experience that you’re seeing here is my remote experience. So, this is projecting my remote experience. What we’ve done in Windows 8, one of the nice things in Remote FX, is that we can now take gestures and the touch language, and we can remote and pass those on through so that they can be processed on the remote session. So, you see I have touch visualization turned on. I’m going to pinch, and again this is happening on the remote session, and then I’ll go ahead and bring it back out.
So, you may think, oh, maybe that’s just taking the mouse and sending the mouse down. But, no, what really we’re doing here is we’re actually sending the touch language, or touch gestures, for them we’re sending those back to the remote service session and that’s being able to do the processing on them. It makes it so you can get this really great, high fidelity touch experience on your clients. And we think as more and more people are connecting from touch-enabled clients, that this will provide a really great experience for them when they’re accessing their remote apps.
So, the next feature I want to show is still on my remote session and I’m actually running a desktop app here. And this is a desktop Bing app. And one of the nice things that they’ve done in Windows 8 is I’m interacting with touch, as you can see here, is they improved the fidelity, especially for 3D experiences over Remote FX. And although you may say, well, you’re on a LAN here, they’ve really done a majority of their work to make a really great experience, 3D type experience work really well over a wide area network, as well.
So, just so you get an idea of what I’m doing here. So, this truly is a 3D experience that I’m remoting from the remote session to the client. And you can see, it’s a really nice, great experience that I get on my remote client. So, we think this is another great feature that enterprises will love. It will really improve your existing experience you have in your VDI infrastructure.
So, with that there’s one more feature that I want to show, and this is a feature called Windows To Go. And all I need is – I’m just joking with you I’ve got it. It’s in there. I have my Windows environment. So, I have my fully managed corporate environment set up on this, and what this is is just a 32-gigabyte USB stick. So, what do I mean by saying I have my full environment set up on here? This is a Windows 7 machine. I’m going to take my USB stick that my IT staff has provisioned for me, with Direct Access, all my company apps sitting on it, and I’m going to plug it into this device and then it is BitLocker protected. So, I’m being prompted for my BitLocker password, but I’m not going to worry about that. I’m just going to cancel that, because what I really want to do is, yes, I’m going to in the middle of my demo here, I am going to restart this machine.
So, what’s happening now is I had a Windows 7 box, it could be my home machine, I come home, I want to bring my work environment with me, my corporation says, you know what, I’m not too happy about you accessing company apps and company resources from your home PC, which I don’t know what’s on there. So, instead they give me this stick and they say, here, this is your whole corporate environment, fully protected, full secured. Plop it in and look here; I’m now booted while I was monologue-ing there. I’m now fully booted and I’m going to try to get this correct, bear with me while I’m typing and talking to the audience. So, that’s the first time even in rehearsals I did it. Thank you.
So, now I’m booting up in Windows 8. It was a Windows 7 machine, booting up with just sticking in my USB stick, booting up into Windows 8. You see it boots super-quickly. This is not a virtualized boot. It’s taking full advantage of the resources on this system, but what it’s also doing is completely separating my USB installation from the hard drive on here. So now that I’m booted up in Windows 8, I’m going to log in, see if I got that one right, yea, two for two. Awesome, that has never happened in rehearsal. So, now I’ve got my Windows 8 environment fully up and running and if I were to go look in file explorer you’ll see I don’t even see the hard drives on here. So, Windows To Go creates a complete separate, non-virtualized environment. It is taking advantage of the resources here. But, it has just separated out the hard drive from this here. So, I can’t intermingle data between the two.
So, the one thing I want to show is I’m now running fully off this USB drive here. So I’m going to kind of simulate what I do at work every day and probably what you do at work every day, which is play videos, or watch soccer, or something like that. So I’m going to play a video, because the soccer match isn’t until this evening. So this is playing a video. Now, I may be again, I’m working at home, playing a video while I’m working. I have kids. Kids are curious. They come along and they go, hey, daddy, what’s that? And usually they don’t even say that. They’ll just do something like this. Crap, so pull it out, what happens? It still runs. I’ve got 60 seconds to insert this thing back in. I insert it back in and there goes my video again. So, it’s a great experience even when the USB drive is disconnected.
(Applause.)
And so with that I would love to invite Antoine back up and I think he’s going to show off his coding kung fu.
ANTOINE LEBLOND: All right, thanks, Joe. (Applause.) That Windows To Go demo is always a great one. I love that.
So, we showed you a bunch of apps, half a dozen, or something like that, since the beginning of the demo. And I want to talk to you a little bit about how you would actually develop those apps. So, the engine that powers these new Metro style Windows 8 apps is something we call the Windows Run Time, or WinRT for short. It’s a new platform that’s actually built on the Windows kernel, so just the same way Win 32 is built on the Windows kernel, this is a low-level platform that’s built on the Windows kernel, and it provides all the services that you need to actually build an app.
So, it has an all new API that’s designed for building different types of apps, whether they’re business apps like the ones we showed you, or they’re games, or they’re productivity apps, or things like that. It implements a whole bunch of native controls that support the Metro design language, that support touch, and mouse, and keyboard interaction. It also provides an app model for things like deployment, security, and process lifecycle management, and things like that. And of course it has those mechanisms for apps to integrate with each other, and with the system, the contracts that I talked about.
It basically does everything that a modern app platform needs to do, but there’s one really important thing that you know about the design of the platform, and that’s that it’s designed to make it really, really easy for you to build Windows 8 apps using the skills and the experience that you already have. So, this starts with the tools, and all the tools that you know today, the new version of Visual Studio, so Visual Studio 2012, built on everything that you already know and love about that tool to let you build Metro – to let you do Metro style app development.
But it goes way further than that. We’ve actually designed the platform and the tools to be completely language agnostic. So, instead of making you use or learn some new language so that you can build Windows 8 apps, we let you use the languages that you know.
So, for example, if you’re a web developer, you could build native Windows 8 apps using JavaScript. If you’re a WPF or Silverlight developer, you could build native Windows 8 apps using C# or VB.NET. If you’re a C++ developer, you could build native Windows 8 apps using C++.
And that extends also to the way you define and design your UI. So, again, if you’re a web developer, you’re probably really familiar with HTML and CSS. So, you could design a native Windows 8 UI and app using HTML and CSS. If you’re a WPF developer or Silverlight developer, you’re familiar with XAML. Of course, you could define your UI using XAML. You can use DirectX, if you’re a DirectX developer. In fact, you could do neat things like mix some of these things together. One of the things that people really one of the things that DirectX developers have been asking for for a long time is the ability to build XAML based UI on top of a DirectX serv, and you can do those kinds of things as well.
So, that pattern of leveraging and reusing applies across the board to other things as well. So, things like code design patterns, architecture of how you build your code, things like code libraries for JavaScript that are publicly available that you can reuse.
The whole philosophy of this is to allow you to bring what you know to Windows 8 development, and not to force you to learn a whole new set of things. The point is really simple; you already have a really huge head start when it comes to actually building Windows 8 apps.
So, what I want to do is I want to give you a little bit of a demo here, but what I’m going to do instead of just making you watch me write hundreds of lines of code, what we’re going to do is we’re going to take an app that we’ve already built, and I’m going to give you just a little bit of a guided tour of it. It’s actually a pretty simple app, but it’s a very typical line of business app in that what it does is it accesses a data source, and basically displays some of the information, lets you navigate through it, lets you change it and write it back. So, this is classic line of business stuff, every single developer in here has probably written an app that essentially does something like this.
The one I’m going to how you is actually an expense report approval app. So, it’s a little bit like one that Joe showed you earlier, but it’s actually a really great looking app. It looks better than the one he showed you. We wrote this one in C#. We could have written it in JavaScript, but I figured – we could have written it just as easily in JavaScript, but I figured there’d probably be more Silverlight developers in the room who would be interested in seeing some C#. So, let’s have a look.
Now, I have my developer set up here, and actually what I have is a multi-monitor machine. So, you see my two monitors here to the right and left. And right off the bat you’ll notice just a little bit of work we’ve done on multi-monitor to make multi-monitor better in Windows 8. One of the things that’s quite obvious is I have two different background images. So, this is something you couldn’t do with multi-monitor in Windows 7. A lot of people wanted to do this, there are some third party tools for doing this. We let you do this really, really easily.
We’ve also made some improvements to how the taskbar works at the bottom. So, what you can see here, actually I have Visual Studio running already, what you can see here is if I drag it over to my other monitor, you’ll see how at the bottom the button for Visual Studio is actually now on the second monitor. So, instead of having all those buttons jammed over to the left, the way they were in Windows 7, you can actually have them track where the window is. And, of course, you can set all these things. There are preferences for all of this. You can mirror the taskbar, and things like that. You can even have a background image that stretches across all of the desktops. So, some great improvements to features that people really, really love, which is multi-monitor.
So, let’s take a look at Visual Studio 2012. What you see here is actually I’ve got a solution open that is the app that I was talking about. Let me walk you through, just give you a quick guided tour of this. There are four projects in this solution. So, the one at the bottom that’s actually selected right now is actually just a web service. So, this is my data source. And in the real world in your enterprise, this would be running on some server somewhere. I actually have it running locally just for the sake of this demo to make things easier, but it’s basically just a web service that projects out my data.
The next two here are actually just data model projects. So, those of you who are familiar with building these kinds of apps actually probably recognize the pattern here. This is just a great example, again, of reusing stuff you know. But this is just a classic way to set up an app like this. There are two symmetrical data model projects here, one would be running on the server, and the other one would be running on the client. They’re just basically a proxy through which you access the data from the web service.
The one at the top is the actual app, and this is the one that I actually want to spend most of my time in. So, if you look at this again, developers in the room will probably notice a classic design pattern here. This is just a classic MVVM design. So, we’ve got the model, which is the data, separated from the views, which is the UI code, and separated from what we call the view model, which is just the data handling and data manipulation code. So, here I’ve got my view model code. Here I’ve got my actual views. If I expand this out, you’ll see that I actually have two different views. So, two different pages.
We can go have a look at this. Let’s go have a look at this view right here. So, this is the main page of my app. I’m in the XAML designer here, and you can see what it looks like. We can go look at the XAML itself, and I’m not going to walk through all of this for you, but basically what you see it doing here is, it’s defining a grid, which is a way to layout the page, and it’s defining a grid. At the top it has basically the back button and the page title that you saw. What you see us doing here is actually setting up some data by a collection of view source to do some data binding with. I’ll show you what we do with that in a second.
And if we scroll down here, you see the body of the grid, so the bottom part of the page, and it has one control in it, this grid view control. And the grid view is basically what we’re going to populate with the data. And it gives us a list of lists of expense reports. And you can see here how we hook it up to the data binding stuff that we set up earlier.
So, I’m just going to run the app right now. And I haven’t connected it to the data source yet, and so it’s not actually showing anything. But you sort of see that view that I we were describing a minute ago.
Now, here’s something that’s kind of neat. Right now, the app ran this is the Metro style app, it came up in front of Visual Studio. One of the things I might want to do is actually have it running on my other monitor. So, just by holding down the Windows key, and just hitting page down, I can actually move this app over here on the right side, and now I can have my debugger up on the left side, have my app running on the right side, which is a really, really nice set up. And I can just swap things around. If I have multiple – if I have four monitors, I can use Windows page up/page down to move the apps around like that in really, really flexible and easy way.
So, let’s go back here first. Let’s go back into Visual Studio here. We’re going to stop the app. And what I’m going to do now is actually wire it up to the data. So, the first thing I’m going to do, and again this is going to look really familiar to you, is I’m going to add a service reference. So, this is going to connect me, this is basically going to connect me to the data source. And I can hit discover here. It’s going to find the one that I want. We’ll call it services. And I’ll hit OK. And that’s going to connect this up to it.
Now, let’s go look at actually the code behind – let’s go look at the code behind our main page that we’re looking at. You’ll see it’s actually really, really trivial stuff. I’ve got – I basically have two event handlers back here. This one, this unnavigated to one that I’ve got highlighted, this is actually the thing that gets called when the page is loaded. And what you’ll see it do here is actually – it’s basically just going to load the data, and actually do the data binding.
You’ll notice here I have this keyboard – keyword, sorry. Let me talk about this a second. This is something new actually in Windows 8. We’ve added support to the platform, and support to the language for what we call inline async calls. So, if you’ve written code, async code like this before, you know how this works. You basically make a call to your async routine, but what you have to do is set up a notification handler, an event handler that gets called later on when your async routine is done, and you end up with this just crazy spaghetti code, especially if you’re chaining service calls. You end up just jumping around in the code all over the place. It makes it really hard to debug. It makes it really hard to follow what the code is doing. But we’ve added support here in the language, and in the platform so that you can write procedural async code like that, which is a really, really useful thing to do.
We could go look here at let’s go look at this load reports method and you’ll see what it does. I actually have it commented out right now. So, what I’m going to do is I’m just going to select it and this is 15 lines of code, by the way, so this is almost nothing. So, let’s activate this stuff and just look at what it does.
Basically, it’s creating the expense report service here. Actually, here’s another one of these wait, async statements. Here it’s actually loading the data from the web service. And then what it does is it just iterates through it and creates this list of lists. And it’s actually going to data bind. So, you’re seeing here, it actually uses a little bit of lambda expression magic to break things into groups based on this status field. And now I’m just going to run the app again and this is going to take just a couple of seconds here to start up, because it needs to fire up the web service, or fire up the actual Web server that actually is serving up that data.
So, now what you’ve got is here’s my expense report app. Now, just notice, it actually slurped down all that data, including the photos and the names and things like that, and I didn’t write any code to deal with this. This is, again, if you’re a XAML developer you look at this and you go whoop-de-doo, this is exactly what I know and this is the way I write Silverlight apps today and that’s the point. It’s no harder than what you do today. But, here you’ve got this great Windows 8 Metro style app.
So, I can scroll through this, as you would expect. I can click on one of these things and actually drill in on it. This is that details page that I didn’t really spend any time showing you. But, one of the things that’s nice on here that you see is actually this pie chart to the right. This is actually a third party control from Telerik. Telerik, you probably know these guys, they build a lot of great third party controls for Microsoft platforms in general. And I can do things like hit approve to approve the expense report, things like that.
So, really, really easy to build, there’s almost no code in this app. It’s incredibly simple. Let’s go back here, I’m going to show you one more thing. Let’s go look, actually, at that details page, let’s look at the code behind it, because I want to show you something kind of neat. Again, look at how simple this is, there are basically three event handlers in this app. There’s the one that gets called when the page is loaded. Here you’ve got the one that is called when I hit the approve button, the decline button, but this is the one I want to show you down here. This on data requested event handler. So, this gets called when I invoke the share contract. This implements share for this app.
I’ve got four lines of code here and literally half of them are just about making sure that I actually have data to share. But, if you look, all it’s really doing here is it’s actually filling in this data request object with strings from the expense report I selected. If you look at the routine it does nothing. It’s just a signing for the strings. Let’s run it again so I can show you, I can just click in, I can hit approve, and now if I bring up share I can choose the share to mail, and what you see is down here is the stuff, these are basically the strings that I set, and now I can just share this automatically, send information about this expense report to someone else. And this is just a great example of how easy it is to wire up these contracts for things like share and search and data, and finding files and things like that, so again, super-easy, super-trivial.
I want to show you one last thing now. As a developer one of the issues I may have is that I might not have access to all the different kinds of hardware and tablets, and things like that, to test my app on. So, Visual Studio includes this really neat simulator. So, I’ll just switch the simulator here. I’m going to run it again. And now what it’s going to do is it’s actually going to run my app in the Visual Studio simulator. What’s neat about this is I can manipulate this just the same way it’s a tablet or something like that. So, for example, I can rotate and I can make sure that the app actually lays out correctly. I can rotate it back. I can do things like, for example, I can change the resolution and see if I have like a super-high resolution screen, see if my app actually lays out the right way. And I can see that it does. I can do things like manipulate it; even though I don’t have a touch machine here I can simulate touch and manipulate it using touch. If I’m careful here I can even drag out the charms and things like that.
So, that’s the simulator in Windows 8, sorry, in Visual Studio. It’s a great way to test your app and make sure that it works in all these different configurations. So, that’s a quick, quick overview of writing Windows 8 apps. We’re just really scratching the surface. But, the point, again, I want to get across to you is it’s just really, really easy to build these apps and the system, does so much of the work for you.
So, we’re going to bring Joe back out one more time. Joe is going to actually now talk to us about how you would deploy and manage these kinds of applications inside the enterprise, OK.
Thanks, everyone.
(Applause.)
JOE STEGMAN: Hello, thanks again.
So, I’m going to talk about deployment on these types of devices, and what I’ve got here is this is an ASUS 600 prototype tablet and this is running Windows RT, running NVIDIA Tegra 3, a super sleek, lean. It’s on ARM architecture, so no doubt ultra-mobile, long battery life. What I want to show you is one of the great features that I love about this device, which is the detachable keyboard. So, right now it’s currently I’ve got it. My hands got all sweaty. It is really easy to do, really. Success. (Applause.)
Now you can see how nice and I’ve done the detach a bunch of times, so all I’d like to say is there’s a little thing here to detach and my hands were a little moist, and I just couldn’t get that thing pressed down. But, anyway you can see, a great experience now where I can turn this device from the keyboard into this great just tablet-type device. So, anyway, great work from our partners from ASUS.
Now, the demo I’m going to be showing you today is on a similar device. It’s also on ARM architecture, NVIDIA Tegra 3 device, running Windows RT. And I want to show you a couple of different things on this device. Before I do that the first thing I want to talk about is I’m going to actually jump in and do a quick little discussion about malware. And one of the things is that malware authors are crafty, crafty, crafty individuals. And I don’t know why they’re just very crafty individuals.
One of the things is they understand how booting works on devices and on Windows in general, and how that works is that when you start up the machine BIOS kicks in, BIOS then loads what’s called your boot loader, and your boot loader loads the OS. And these crafty individuals have figured out that, hey, once the OS loads that’s when your anti-virus stuff kicks in. So, if we could somehow replace that boot loader with our own stuff and do our own evil stuff, and put our own evil stuff in place before the OS boots, hey, we’d be great. So, what we’ve done with all these certified devices here is we have in Windows 8 we have a new feature called secure boot. And secure boot takes advantage of something called UEFI, which is basically a replacement for BIOS. And what UEFI does is it has a set of, if you will, trusted boot loaders that are really burned into a secure area of the device.
So, what happens is that as you’re booting the device UEFI looks and says, hey, I need to load the boot loader, is this a trusted boot loader, and if it’s a trusted boot loader I’m going to go ahead and boot the device. So, what that means is that you can install apps on this new class of Windows devices with confidence, knowing that they really have super-strong defenses against anti-malware type of attacks.
So, with that, I’ll jump in and start talking a little bit about apps on this device. Antoine showed how to build an enterprise app. I’m going to talk a little about deployment, but first, the app that he built was just a standard, new style Windows 8 app. And that app itself could run just as well on my ARM architecture device as it does on these X86 devices we’ve shown before. So, when you’re writing a new Windows 8 app, those apps you can author them once, then you can deploy them to both X86 architecture as well as ARM architecture.
And the way you get them onto your Windows RT devices is a lot of times you’re going to deploy apps through the store. But, as an enterprise, an enterprise you might want to do something different, and as an enterprise there are a couple of different options that you have. If you’re an enterprise and you have a PC, then it’s kind of what Brad one of the things that Brad talked about yesterday, which is you use your existing management infrastructure, if you have a domain joined device you can side load apps and all you need to do to side load apps, if it’s a domain joined device, is do some group policy settings.
However, I have a Windows RT device and that can’t be domain joined. So, what do I need to do? And there is some provisioning required for the Windows RT device to side load apps. However, the nice thing is that when you enroll in a management infrastructure, what Brad talked about yesterday, that enrollment process automatically provisions that box to enable side loading. And that’s what I’ve already done. I’ve already installed the same management app that Brad showed yesterday. And I’m actually in the management app now. There we go.
So, this is the management app and what I want to do is I want to go ahead and install an app and this management app itself is something that an IT, for the enterprise, they basically can set up this app to show me the apps that me as a user in the enterprise, that I want to see and I want to download. So, in this case I’m going to be an employee for a company called Rooms To Go.
And this is a device my enterprise gives me and they say, hey, here’s your device and we’re going to provision some apps for you to use. And one of the apps that they’ve got in there, the Rooms To Go app, is the app that I’m going to go ahead and install. And so what Rooms To Go does is they’re a retail outlet that sells furniture. So, you can walk in and buy couches, and those sorts of things.
So, I’ve installed the app. I’m going to go ahead and launch it. And this is actually for the sales person in Rooms To Go. So, I walk in, I’m interested in, say, a new living room, or a bedroom set. I walk in, and one of the sales people is there to greet me with a big smile on her face. Hello. Hello, Mr. Stegman, welcome back. And they say, are you still interested in – they look and they go, oh, it’s Mr. Stegman, still interested in the living room set? Yes, still interested. They can then use this companion app that they’re walking around with while they’re with me, and they can look up options, whether it’s configuration options, colors, they can look up pricing options, mix and match options, those sorts of things. They can also enter some contact information about me as a customer, and at the end of the day they can enter some sales information as well.
So, if I’m a sales person walking around with this device all day, let’s say at the end of the day, long battery life, at the end of the day I want to dump my sales data into an Excel spreadsheet, for example, and do some analysis on it. So, this app supports that. I can go ahead and dump my data to Excel. And so what I’m going to do is I’m going to switch back to my desktop here, and show, and I won’t be – maybe I will be showing, I am going to be showing you Excel today, luckily. So, here I’ve dumped my data out, and you can see that on this device I still have access to the apps that I know and love, and want to use on this device, so still have access to such things as Excel. And I can go ahead and analyze my data just like I would on a full machine running full Windows 8.
So, with that, I’m going to call Antoine back out for a little wrap up, and that’s it for me today. So, thank you very much.
(Applause.)
ANTOINE LEBLOND: All right. Well, that about wraps up our tour of Windows 8. Just a few things I would like to ask of you before I let you go. The first one is to please, please, please go download and evaluate the Release Preview of Windows 8. You can go get it on Preview.Windows.com. We’ve got lots of great apps in the store for you to try out, and I really want you to go give it a whirl, because I promise you’ll enjoy actually using the product.
The second thing, I really want to ask you to start just thinking about and experimenting with building Windows 8 apps. As I showed you, they’re actually really easy, and they’re actually quite fun to build, and there’s a lot of really, really neat things you can do there.
The third is please go have a look at all the great developer content that we have on Dev.Windows.com, we have a lot of great opportunities for just learning about writing apps. One of the things that we’ve done is we’ve been actually holding these things we call dev camps all over the world. We’ve held over 500 of them now and we’ve actually had almost 200,000 people attend them, which is really great. You can go to DevCamps.Windows.com, or DevCamps.Microsoft.com, and you will see a list of some upcoming ones there. So, go check that out for sure.
And then, finally, just please go check out some of the several dozen Windows 8 sessions that we have at TechEd. There’s a lot of great stuff to learn.
So, with that, on behalf of the entire Windows team, thank you so much for your time, thank you for coming, please enjoy the rest of TechEd.
(Applause.)
END