Kevin Gallo: Build Day 1

ANNOUNCER: Ladies and gentlemen, please welcome Director of Program Management Windows Phone Kevin Gallo.

KEVIN GALLO: Good morning. I’m Kevin Gallo. Actually, I think it’s a great morning after that announcement, right? So, I’m Kevin Gallo. I work on the Developer Platform Team. And I’m pleased to spend a few moments with you today to tell you about some of the new features coming to Windows Phone 8, and also how you as developers can continue to get great return on your investment as you build Windows Phone 8 apps.

I want to cover four topics today. First of all, I want to introduce you to Windows Phone 8. Then, I want to show you how you can develop apps for both Windows and Windows Phone. I’ll then talk about some of the new features coming to the Windows Phone 8 platform. And then I’ll close talking about some of the advancements we’ve made in native games.

Let me start at the beginning. Windows Phone 8 is a smartphone reinvented around you. We believe it is the most personal phone on the market. We’ve added more color, better Live Tiles and a ton of new features that allows people to create a phone that is as unique as their fingerprint. So, the best way for me to introduce you to Windows Phone 8 is to introduce you to my Windows Phone 8.

Like many of you, I have many roles in life. I’m a father, a husband, an employee, a boss  well, not actually at home, that role is my wife, Jessica, and to be honest with you I’m not even second in command, that role is my daughter Kara, who is 17 years old. And as you can see, they have premium spots on my start screen.

To keep myself sane I play games, so they’re always front and center. One of the things I love about my wife is her sense of humor, so I make sure that her funny messages, her Facebook posts and pictures are always in sight. I’m also an avid football fan, and I love the Dallas Cowboys. (Audience response.) And so I want to make sure  well, I always want to make sure I get the scores, even if they’re not so good like last Sunday, because I guess both Steve and I have had a rough week in sports.

So, what I love about Windows Phone 8 is that it’s improved on what I always have loved about Windows Phone. It keeps me connected to the people and things I care about. Let me show you what I mean.

One of the features that we showed at our launch yesterday in San Francisco is Kid’s Corner. Most of us have kids in our lives, whether it’s our children, nieces and nephews, neighbors, maybe cousins, and at some point in time if you have a smartphone these kids have gotten their hands on it, and you’re lucky if all you got was locked out of Exchange. But for me and many of you, we’ve had untimely text messages, or phone calls go to friends or coworkers. And you had to explain saying, hey, they were supposed to be playing Angry Birds, they hit the back button and got themselves into trouble.

Well, Windows Phone tackles this problem by providing a special place just for kids. That way they can watch music, play games, play with their apps, maybe watch a video, and not get into trouble. This is essentially a phone inside of a phone defined by you, and customized by them. This is already a big hit in my house.

We also introduced a feature we call Rooms. This is where you can gather groups of people where they can share notes, or pictures, or a calendar and keep it private, not with the whole Facebook crowd, but just in that group. This is perfect for your closest friends, and ideal for families. My wife and I use this to make sure that I don’t miss any sporting or school events, which saves me years of counseling down the road or, even worse, a lecture from that 17-year-old daughter of mine who makes sure I attend everything I’m supposed to.

These are just two of the features that we announced at our launch event yesterday. If you missed it, you can go online and get the full tour from Joe Belfiore. So, now you can see why consumers are excited about Windows Phone 8. Since we’re all developers here, let’s talk about the platform.

As you can see, we’re combining an array of new hardware, tools and technologies to deliver a fundamentally re-imagined Windows platform. It’s a new era in technology, one characterized by ubiquitous mobile devices with experiences that transition seamlessly across the main devices people use in their day-to-day lives. With Windows Phone and Windows 8, we are delivering the right platform at the right time to deliver on the needs of mobile consumers. Windows will be on new hardware, share a common and familiar UI, and also integrate with a common set of back-end cloud services.

For Windows Phone 8, what you are seeing is the culmination of years of planning and engineering all designed to create an unprecedented opportunity for developers. We now share a common programming model, which will allow you as developers to innovate faster, because you can reuse code as you build apps for Windows and Windows Phone.

I am thrilled, so thrilled, to announce today the release of the Windows Phone 8 Developer Platform. (Cheers and applause.) You can now go, it is live right now, to Dev.WindowsPhone.com and download the Windows Phone 8 SDK. It includes a free version of Visual Studio 2012 and Blend 5, as well as a complete set of emulators. And with our new Dev Center you have all the tools and resources you need to start building great apps designed specifically for Windows Phone 8.

So, now let me move on and show you how you can start building apps that work on both Windows and Windows phones. Back in June I talked about how Windows Phone 8 was a foundational release, because we now share a common core with Windows. On top of this common core we have a common API set. You can now build shared components that are identical to both Windows and Windows Phone and use them inside of those apps.

Now, since I’m a dev and most of you are devs, rather than show you pretty little pictures and talk about it here, let’s do it the right way and how it’s really done in life and look at it in Visual Studio. Sam and Barat (ph) are going to join me on stage to show you this app running before I go and jump into Visual Studio so you know what the app is. So, Barat has it here running on his tablet and Sam has it on his phone. What this app is, it’s a picture-sharing app, and they’ve already paired the phone and tablet using NFC.

So, Barat here is going to select a photo, because he’s got some shots, he likes them, he thinks they’re cool. And he’s going to flick and it’s going to show up on Sam’s phone. Now, Sam thinks he’s a good photographer, as well, and he’s got some maybe better shots. So, he’s going to select one. He’s also going to select the same gesture, and you’ll see it show up here on the tablet.

Thank you, guys. (Applause.)

It’s a pretty simple concept, right? Well, it was actually even easier to build, because we could reuse so much code. So, let’s start here right now in Visual Studio and as you can see I have three projects. The first one here is my UI built for Windows Phone 8. This one here is my UI for Windows 8. I decided to build a UI that was tailored to the form factor. This third one here is actually a shared code library written in C# that runs on both the phone and the tablet. This has all the guts of the app, including the connection management, the photo sharing and all those pieces. And that one is identical to both.

So, if I hit F5 here, you’d see the exact same app run.

Well, when Barat saw this app he remembered that about 10 years ago when he was in college that he had written a photo image-editing app that had some filters in it that allowed him to do some image processing on the photos. And he thought, hey, I wonder how hard it would be to port that over and integrate that into this application. So, he went and did that. It was actually written in C++. So, we wrapped it as a Windows runtime component, so I could call it from my C#. End to end it took them 30 minutes to get all that code integrated and running here. If I scroll down you’ll see there’s a couple of the filters right here already added to the project.

Now, I want to show you how easy it is for us to take that code, which took half an hour to put in here, and integrate it back into my application. So, let me go right here, and first of all let me include the reference to the components that I’m going to use, and then I’m going to insert a function that I’ve already written here. That way I don’t type it wrong. But let me explain what the function does.

It’s pretty simple, the first thing we do here is just take the actual image and we decode the JPEG into a bitmap. Then we actually call the code that Barat had ported over and integrated in here, you can see it’s a very simple call. We’re passing the bitmap. And then it applies a filter to it. Then we re-encode that bitmap as a JPEG. And so if I hit F5 right here, you’ll see this start up in our new Hyper-V-based Windows Phone emulator. I’ll select a photo. We added an extra button to the UI to actually call this code. And as you see I press it, it actually applied a grayscale filter to the photo. So, let me terminate that.

Now, I want to show you that I can reuse the exact same code throughout the project inside of Windows 8. So, I’ll just change my startup project to Windows 8 and I’ll be running in a simulator. I’ll hit F5 and it comes up here inside of Windows 8. I’ll select a photo here. I’ll bring up the UI. I’ll click the button, and this function calls the exact same code that we wrote, and that Barat had written, to apply this grayscale filter.

So, as you can see, not only can we share code, you can write code that can be shared between Windows and Windows Phone. But you can easily integrate code from other sources. In this case, it was code written 10 years ago in C++ for a school project.

Now, I want to move on and talk about some of the new features coming to the Windows Phone 8 platform. The best part of my job by far is that I get to talk to developers like you and find out what you need to build great apps. Of course, you’re not shy in letting us know what you need. Well, we heard you and today we’re delivering.

See all these other features that we’ve been adding to the platform over the last release. I want to highlight a lot of them there. I want to highlight a few. You asked us to make it easier to build fast and fluid UI. We delivered. We’re writing more controls to the platform and we’ve dramatically improved the performance of the existing controls. Your apps will be noticeably faster when you use them. You asked us to do more with Live Tiles. We delivered. We now support Live Tiles in three sizes. We also allow you to show notifications on the launch screen, and you can create and update the wallpaper of the phone directly from within your application.

You asked for speech support. We now support having full conversations in your app. So, not only can you launch apps, you can control them using speech. We’ve improved  you’ve asked for us to improve our dev center and store. We’ve streamlined our store. It’s now more efficient to submit and update your apps, and you have more ways to monetize your apps in our store. You asked for deeper integration with the phone experiences. We delivered. We’ve opened up our camera and now we support a feature called Lenses. We’re actually better multitasking. We support location-based applications running in the background, as well as first-class support for VoIP and video chat.

You asked for us to improve and to give you advanced working capabilities. We’ve heard your request. For Bluetooth data transfer, peer networking with Bluetooth and Wi-Fi, as well as proximity connect with NFC. Our response is done, done and done. In total we’ve delivered on over 90 percent of the top developer requests. And over the next few days you will be able to have over 20 sessions to go into detail about how to use these in your apps.

Now, I want to move on and have a little bit of fun. And at the same time we’ll use some of the features I just talked about. So, Sam and Tim are going to join me on stage. This is an AR Drone Quadcopter. It comes with a native code library that allows communication with it. So, what Tim did is Tim built an app. He built out the front end in XAML, and he uses this library to connect and talk to the drone. So, the app will come up in a minute here. So, here you see the app. Tim is going to connect. And this will actually establish using Windows Runtime Sockets communication with the drone. Now, I know a couple of you guys are thinking out there, hey, can I hack this thing? Can I take control and have a little bit of fun with Sam and Tim? Yes, I know. No, we’ve locked it down. Nobody can do that. Only they can control it. Please don’t try.

So, now he’s going to press launch and it will take off and hover. This actually has a camera mounted to the front and you can see the actual live feed of it going as the background of the phone as Tim controls it.

Now, our lawyers wouldn’t let us fly a helicopter over a live audience. And I’m sure you probably appreciate that. So, we’re just going to pan it back and forth and get a good look at all of you. Cool. Thank you very much, Tim. (Applause.)

Now that we’ve had a little bit of fun, let’s move on and talk about native games. Over 75 percent of the top-grossing apps are games. With Windows Phone 8 Microsoft now has a common gaming platform across the entire Windows family. We support C++ code, which allows you to write high-performance physics engines, as well as audio libraries, and you get access to low-level, hardware-accelerated APIs like Direct3D, with fully programmable shader support, both pixel and vertex shaders.

So what does that mean? Well, basically “take a Dramamine and buckle your seatbelt”-type games are coming to Windows Phone 8. Our story is now global in 191 countries. We’ll also now support in-app purchase for both consumables, like in-game currency, and durables like game levels. We have more ways to make money on the Windows Phone 8 platform. Over half of all games use gaming middleware in some way. Back in June, I announced the support of some of the gaming middleware providers. Since then many more have announced support for Windows and Windows Phone, because it’s so easy to develop for both.

One in particular that I want to highlight today is Unity. Please join me in welcoming EVP, our biz development from Unity, Tony Garcia. (Applause.)

Tony is going to show us the first-ever demo of the Unity gaming engine running on a Windows Phone.

TONY GARCIA: Thanks for having me, Kevin. I’m really excited to be here today to showcase Unity’s support for Windows 8 and Windows Phone 8, as well as the entire Windows 8 ecosystem.

You know, Unity brings its own ecosystem of game developers and games to the Windows family. We’re not only the number one mobile game engine, but I think we’re also the fastest gaming engine, fastest growing gaming engine. Unity makes it easy to build great games, and this is made possible by our integrated IDE. It’s kind of a best in class, and we allow integration of other third-party middleware such as FMODs for audio support. In addition to that, we have our own integrated scripting engine, which allows you to build game logic.

You know, it’s been great to work with the teams here at Microsoft. Because of the shared architecture between the two platforms, actually building support for Windows 8 has been super easy. I would like to introduce Corey Johnson who works with me here at Unity, and help me show you a practical demo of what it’s like to build a game for Windows Phone inside of Unity.

Here we are showing a scene from our popular third-person shooter game, and it’s called “Shadow Guy,” and it’s actually running inside the Unity IDE. Using the IDE, you can manipulate game objects; you can modify scripts, which change game behavior or overall game play. You can see he’s scrolling around and moving live inside the project.

Now, we can run this scene inside the Unity preview window. And that makes it really easy to debug locally on the PC. I’ll let him play around here. Now, we can actually run this game inside the Unity preview window, and as he’s running it, you can be making changes, and modifying the game live.

Now, we’re going to deploy the game to the Windows Phone device. We select “build for Windows Phone 8″ to create a Visual Studio project for the game. It takes a couple of seconds here now. Once Unity has now put in the Visual Studio project, you can actually customize this game to create special features like Live Tile integration for Windows Phones. So, we deploy the game using Visual Studio, and can now run it on the actual device. So, we’ll just let him do that, and then we can switch over.

And what we’ll do is, we’ll show you live on the device running the actual game that he just deployed. And there it is. Pretty cool. (Cheers and applause.) As you can see, Unity brings a top-notch game development IDE as well as AAA graphics to Windows Phone. And, by the way, this very same deployment method can be used for Windows 8 slates. So, we’re super-excited about bringing Unity to Windows Phone and Windows 8, and we can’t wait to see a ton of great Unity games on these fantastic new devices.

Thank you so much. (Cheers and applause.)

KEVIN GALLO: Thank you, Tony.

That was awesome. Now, you remember when I told you that you had everything you needed to start building great games and apps for Windows Phone 8? Well, that wasn’t entirely correct. I want to invite one more guest to join me on stage, Richard Kerris from Nokia.

(Applause.)

RICHARD KERRIS: Some amazing stuff here this morning. Wow, I am just blown away.

I would like to show you this. This is the Lumia 920. (Cheers and applause.) I didn’t say anything yet. This is the device everybody is talking about with PureView technology. It’s got stabilization, optical stabilization. You can take photos in low light and look great with Blur Free. You can view it on the PureMotion HD display, even in bright sunlight. All sorts of stuff comes with it with services, maps that work, music, all sorts of great things. (Cheers and applause.)

And we think it’s the best phone that we at Nokia have ever made. And we’re really excited that customers are going to be getting it very soon, but we think developers should get it first. What do you think? (Cheers and applause.) So, you’ve got all this great stuff, I want you to commit that you’re going to build some great apps, and we’ll commit to giving you a Nokia Lumia 920. What do you say? (Cheers and applause.)

I want the people in Helsinki to hear you. All right. (Cheers and applause.) Thank you. Everybody is getting a Lumia 920 phone. Okay. So, develop these great apps.

Thank you, Kevin.

KEVIN GALLO: Thank you very much.

RICHARD KERRIS: Thanks everybody.

KEVIN GALLO: How awesome is that?

(Cheers, applause.)

Now that you have your Windows Phone you really do have everything you need to start building great apps and games for Windows Phone 8. But, there’s one more thing we want to do, because when you build your apps you also want to be able to get them into our store. And we know that not everybody can be here, and not everybody is getting a phone. What we’re going to do is we’re going to reduce the individual registration for our dev center from the normal $99 to $8 for the next eight days. So, we’re calling it Eight Break. Now, once you build the apps, you can get them into the marketplace and get them into the hands of end users.

So, in closing, go install the Windows Phone 8 SDK from Dev.WindowsPhone.com. Get your phone. Again, later tonight, and write amazing apps. Thank you very much. (Cheers, applause.)

END.