Remarks by Steve Ballmer, Chief Executive Officer
Professional Developers Conference
October 28, 2010
ANNOUNCER: Ladies and gentlemen, please welcome Steve Ballmer. (Music, applause.)
STEVE BALLMER: Well, thanks. I am pumped up to have a chance to be here today. I may not do the developer prance since I don’t think I could ever do it as well as I did it many, many lean years ago. But it is great to be here at what is actually the biggest PDC we’ve ever done.
We changed our format this year. We decided, hey, look, in recognition of the fact that most of the people who want to get at the key information and what’s going on from a developer standpoint at Microsoft, we said, hey, look, how do we really orient this as much to people who can’t travel as to the people who can? And so we have over 30,000 people joining us in events around the world live. We’ll have many, many more be able to watch. We put the same infrastructure behind this event, in fact, that we did behind the streaming of both the Olympics and March Madness this year so that everything we do at this PDC can be captured, recorded, broadcast, not just to 1,000 people here and the 30,000 people at events lives, but also to many, many others — colleagues, people that you and others need to touch with the material that we’ll cover over the course of this PDC 2010.
So to everybody who either watches delayed, is watching live in events, and certainly the folks who took their precious time and came and traveled to spend with us here in Seattle, it is really an honor and privilege to have a chance to welcome you, share some things we’re pretty enthusiastic about. We’re going to have a lot of focus this year. We think we’ve got some exciting things to talk to you about with Internet Explorer and where it is with Windows Phone, with Windows Azure, but I’m going to start by trying to give you a little broader context, and then focus in some.
As the people who are here live saw, I dropped my clicker, so I’m going to bend down and pick it up. (Laughter.) That probably didn’t work too well for Webcast, but anyway — let me start with the sense I have of how much incredible innovation our industry and our company is driving and what I think that means to all of us as developers.
It’s almost unbelievable, in a sense, that despite the fact the computer revolution is 50 years old, the personal computer revolution is about 30, 35 years old, we’re sitting here today and the ability to do wild, impressive, amazing things with software technology is greater today than at any time in history. The move to more smart devices — little screens, big screens, medium screens, PC, phone, TV, slate — blah, blah, blah, blah, blah — but smart devices of all kinds.
The cloud is a back plane on which to program and rapidly deploy applications. These are powerful new platforms that are creating a wave of new opportunity to do another set of exciting applications with user interfaces that are more and more approachable than ever before. Certainly, we’re driving hard. We’re driving hard on the redefinition of the device types. The PC: you’ll see a range of exciting things that people are doing with Windows as we move forward. The phone: couldn’t be more excited to have Windows Phone 7 now in the market in a number of countries and coming to the United States here very soon. Xbox: For those of you who haven’t seen yet, take a look at this new Xbox Kinect. It is really remarkable how we can change the way in which people get a chance to interact naturally with systems, with voice, with gestures, with camera recognition. It’s remarkable.
You know, we’re driving on a broad set of fronts. The devices and then on the back end, the Azure platform, Windows and SQL Azure. The experiences, Office 365 including SharePoint as a core building block and platform. Bing, which increasingly we’re taking a look at the ways to open up and make more of a platform on which developers can create applications that program, if you will, against the data that’s out on the Internet. Windows Live and Xbox LIVE as fundamental services that support the devices.
The glue that I think allows this world to come together and allows for amazing innovation is HTML5. HTML5 becomes, in some senses — it’s not all the code that will get written, but it’s a way of allowing and facilitating a level of independence and innovation between the back end and the front end, even as people continue to invest in new front-end user interface and ways to write applications to smart devices that build on and go beyond what might be in HTML5. And people build applications on the back end that, increasingly, think about that as their Lingua Franca for talking to all of these smart devices across the planet.
At Microsoft, this kind of all starts with Windows. Windows PCs are our most popular smart device. In just the last 12 months, the last 12 months, the world has bought approximately 350 million new personal computers and we’ve sold 240 million new Windows 7 licenses in just the last year — 240 million.
Phones are going to be very important, TVs are going to be very important. The PC is the No. 1 smart device on the planet today, and there’s lots of innovation going on. You’ll see a range of new form factors for this holiday season, after this holiday season, and throughout next year in the Windows personal computers, if you will. Netbooks, tablets — you’ll see people push. They’ll build on the ink and touch support which is built into every copy of Windows 7.
And with new devices, you as developers will say, “Hey, look, I now see that device that makes sense to me to really have my application exploit the inking and touch capabilities that are built into Windows 7.” The momentum of Windows 7 with developers is unparalleled. There’s a lot of things out there that people are targeting, and yet every website and every application, the first thing you say is, “How do I get this thing to really render well, to make sense, to look good?” Whether I take advantage of unique capabilities in Windows or I’m simply writing a website talking HTML5, how do I make sure that my work looks beautiful and matters on a Windows PC?
With the work that we’re doing with Internet Explorer, we’re trying to make that a whole lot simpler for you. With Internet Explorer 9, we made our focus on a couple of things: No. 1, doing HTML5 — standards-based HTML5 — really, really, really well. And No. 2, asking the question: How do we improve on the user experience for HTML5 applications based upon the fact that we know Internet Explorer runs on Windows? How do we integrate, if you will, applications and websites from a user experience perspective? How do we take advantage of the power of Windows and the Windows PC to improve the performance of HTML5-based applications?
We tried to make the Web feel more like native applications. We’ve worked hard on interoperability so that you can apply more of your energy on innovation and less on just rewriting sites. We committed to the W3C and the standards process. We’ve been helping to co-chair the HTML5 working group. There are 70-plus participants and over 40-plus different groups that we’ve applied to trying to really help drive the standards forward. We think the modern Web, in some senses, gets a chance to really take off with HTML5, and that’s why with Internet Explorer 9, we’ve put so much energy into really making HTML5 look great and perform great, unlocking the full power of the PC and the full power of the Web kind of in one seamless exercise, if you will. Great graphics, great interactivity and consistent markup across sites.
I’m pleased to report to you that after six weeks — we launched Internet Explorer 9 about six weeks ago, we got very good reviews. We launched with over 70 partners that have some of the most popular websites on the planet, but we’ve already passed now in just six weeks 10 million downloads on Internet Explorer 9, making it the most downloaded beta release of Internet Explorer certainly ever, and we’re very pleased with the acceptance we’ve seen not only from end users and reviewers who love the features, but developers who are saying, “Hey, not only do I like IE9 and the way it embraces standards, but I see ways for me to enhance my website in terms of the way it renders itself on IE9, on the PC, and really kind of comes and fits together.”
I’m going to have Dean Hachamovitch, who runs the Internet Explorer team, come on stage, remind you a little bit about IE9, and then have a chance to show you some of the cool things that developers are doing to build upon HTML5 standards, and the way we allow you to take that into the Windows environment. So please welcome Dean Hachamovitch. (Music, applause.)
DEAN HACHAMOVITCH: Thank you, Steve. Thanks. Thanks, Steve. It is exciting to be here at the PDC to show IE9. In the six weeks since we released the beta of Internet Explorer 9, we’ve seen 10 million downloads and a lot of enthusiasm from developers.
Today, we’re going to talk about three things: First, the developer opportunity of HTML5, of hardware-accelerated HTML5 on Windows. We’re going to talk about developer opportunity for your site to feel more like an application on Windows 7, and we’re going to talk about how that developer opportunity gets better today.
Let’s take a look at the product. So here is IE9 and what you see is a browser that puts the site at the center of the user’s focus and the user’s experience. IE9 as a browser says, “Look at the site.” not, “Look at me.” Now, the site is from KEXP. KEXP is a Seattle radio station, it’s independent, it’s local, and all the DJs have their own style. I think you heard DJ Riz earlier this morning, and the DJs get to pick their own music. And we work with them on 10 years of playlist data to find a great way to visualize that in HTML5 and that’s the site that you see here.
So let’s take a look at this. This is all HTML5, and you see that these are interactive, this is using the canvas tag. What you’re actually looking at here are albums and playlist data. So I can go through and choose a particular album, maybe this one, and I can click on it and I’ll get information, how many times each song was played. I can scroll through. I can go to websites because it’s the browser, it’s HTML.
I can go through and look at what DJs have done, so here’s DJ Riz and these are the top five albums played by DJ Riz during these dates. Again, it’s a website. I can click in, I can see what DJ Riz played the most, I can check out these others as well. Now, again, this site is a great example of how full hardware acceleration makes a difference for the experiences that you build. It’s very rich. I mean, it’s HTML5, right? There’s great typography. There’s a custom font that’s downloaded using the WAF standard. There’s animation, and it’s a big canvas. Not just one little canvas in the middle of the screen, it’s an enormous canvas. In fact, it doesn’t feel like a Web page, and that’s why it’s important to use the whole PC and graphics hardware to accelerate the page.
Now, this is nice. Why don’t we ratchet it up a little bit. I’ll close this, and let’s see what else we can do here. Well, first, I’m going to add some video. So this is a full HD video using the HTML5 video tag playing in the background. And you’ll see that the frames per second really hasn’t budged because we’re using the whole PC.
Now, I can still interact with the page. Here I’m clicking and dragging on these elements, and you can see that they’re lighting up and following my mouse. I can still interact with all the albums, and that’s great. Let’s make this a little bit more taxing. Why don’t we add some alpha blending to the albums. Why don’t we have them scale up and down and even rotate.
Now, here’s the point: HTML5 enables you to make engaging and interactive sites. With full hardware acceleration of the browser, HTML5 pages feel and run like an app or a game. Now, why don’t we take a look at another example, and this one also illustrates the impact of full hardware acceleration. It’s called Track Splash, it’s a little less sophisticated visually, but why don’t we take a look at it?
I’ll go ahead and I’ll start the race. And what you hear is HTML5 audio, also hardware accelerated. I’ve got to talk over the motor, but it’s really exciting. Now, the reason this surface back here looks so realistic is that it’s a video, it’s HTML5 video of water, it helps the realism. If you look in the background, perfect timing, the buoy, the beach, the trees, the sky, that’s all canvas. You’ll see that it’s running at 60 frames a second. Even with the opacity and the alpha blending that’s going on in the background.
Now, it can run at 60 frames a second even though, again, it’s HTML. I can do view source on this and it’s Web standard markup, and it can run at 60 frames a second because of the hardware acceleration.
Now, I’m going to put that away and we’ll try this in another browser. Let that load up, and this the latest stable Chrome beta. The first thing you’ll see is that it runs. Refresh here. The first thing you’ll notice is that it runs. And that’s because of this Web-standard markup, it’s HTML5. The HTML5 video plays, you’ll see the performance differences are a little bit different. It’s now at around 40 frames a second, the video’s been a little bit jerky, but that difference is huge in using the full power of the PC.
IE accelerates the whole Web — video, audio, text, SVG, canvas, and all the other graphics on your page. Accelerating only pieces of the browser holds back developers and your sites. Now, let’s look at the opportunity that sites have to feel more like an app on Windows 7. All right, so if you look down across the bottom of the screen here, you’ll see that on the Windows 7 taskbar, I’ve got a bunch of websites. There’s Bing, that’s Wall Street Journal, not a separate application, but the actual website that I’ve pinned — that any user can pin — down to the taskbar.
Now, developers can program jump lists. Here you see the Bing developers decided what items should be here and how they should look. You can see the iconography matches the Bing site. Here is what Twitter chose to put, you can see that’s completely up to them and the look and feel is theirs. Here’s what Hotmail has chosen. Now, they’ve looked across Windows Live and said here is what we want in the jump list to make available to all of our users.
Let’s take a look at how a user does this. So I’ll bring up IE and I’ll navigate over to Amazon.com. Here I am at Amazon, and I can just take the tab and drag it down to the taskbar. I drag it. I’ve pinned the site. Now, it’s great, I have the Amazon logo, the fave icon is nice and big and down on the taskbar. Windows provides a nice thumbnail preview. You see the Amazon icon is in the browser frame as well, and you see that the back and forward buttons have picked up the color of the website, and you can actually have a developer program that color specifically if you want to.
Now, I’ll put that away and let’s see what it takes to do all this. So I’ll bring up a site that I’ve been working on. It’s HTML5 Radio. It’s a bunch of songs about HTML5. See, “Div and Conquer” get it? OK. We’ll try that later, really.
So here’s my site and I’m going to drag it down and I’m going to pin it as well. And you’ll see that the save icon shows up down in the taskbar and the back and forward buttons look great. I get a thumbnail preview. And when I right click, there is a jump list, but there’s nothing to it. So that’s what you get for free before you do anything specific for IE9. In Windows 7, users can pin your sites and have that.
Then there’s a dynamic jump list. So depending on what song you just listened to, the jump list will change and offer you different options. Finally, there’s some notifications. And these notifications are great because as people are doing stuff on the site and there is information and stuff changes, the user can then find out about it.
So I’m going to save this code change and I’ll put that away. I’ll go back to my HTML Radio site now and I’ll pin it again. And it’s down there. In fact, now, even when I minimize the site, I can come over and I have a thumbnail preview and I can just hit “play.” (Music plays.) That’s a great song about HTML5. I can hit pause, which is very important right now. I can skip ahead. I can say that I really like the song. I can right click and get a jump list. There’s that static jump list that we programmed, and here’s the dynamic one that’s based on the song I last listened to, “Consistent Line Endings.” And you’ll see that I had this notification that came up — some people got that. On the way home you’ll figure it out, right? You see this number came up because I have three friend notifications coming into me because all over the “interwebs” people are communicating.
So, you know, that’s great. This code is straightforward to write, it’s very easy to reuse, and it benefits you and your users in huge ways. Your website participates with Windows applications on the desktop. They are more available, they are more interactive than regular sites in old browsers. The sample code for this and much more is available at www.IETestDrive.com.
Now, we looked at the dev opportunities of HTML5, hardware-accelerated HTML5 on Windows. We looked at how to make your site feel more like apps, now let’s talk about how the opportunity gets even better today.
Today, we’re updating the IE9 platform for developers. IE9 Platform Preview 6 is available now for download at IETestDrive.com. The new platform preview build brings better performance, brings better quality, and it brings increased standards support. For example, IE9 now supports CSS3 2D transforms, which is very cool. It also supports HTML5 semantic tags, and why don’t we take a look at it right now.
So I’ll come over here and here is the platform preview. You can see that it is the thinnest possible wrapper around the Web browsing platform. And it’s meant for developers. It’s got the F12 dev tools so that you can check out the code and debug your site. It doesn’t have an address bar or a back button because it’s really for your code and for samples like this. It’s not a general browser. So here’s the sample. What you’ll see is that it’s a very rich experience put on top of Flickr. As I hover over any of these images, you’ll see that they rotate and zoom in.
Now, this is using Web-standard markups, CSS3 2D transforms. And, in fact, you’ll notice that the text on both sides is rotated as well. Now, these are custom fonts that are actually not installed on the machine, they’re downloaded through the WAF standard in order to make your website look exactly the way that you want it to look.
Now, you can do queries. In fact, there are a lot of fun things I can do. I can put more text up here because it’ll just query more information. I have a messy layout, and that’ll do even more CSS3 2D transforms. You see it’s just great. It’s very fast, it’s high-quality implementation. You can see all the text rotates as well.
Again, this uses Web standards. So the same markup, the same HTML, the same CSS, the same script will run in other browsers. Now, you can try this and other samples at IETestDrive.com. Please download the beta if you haven’t already. Try the new platform preview build. Start taking advantage of HTML5 and full hardware acceleration on Windows. Make your site feel more like an application when users pin it on Windows 7. There’s lots of big excitement around HTML5, thanks for trying it out on IE9 and on the platform preview build. Thank you. (Applause.)
STEVE BALLMER: In case that wasn’t clear, IETestDrive.com.
I want to turn now and talk a little bit about Windows Phone and have a chance to show you and kind of give you a little update on where some of that work is.
We launched Windows Phone 7 about two weeks ago. The phones are on sale in a number of countries, coming to the United States here over the course of the next few weeks. We tried to do a number of things with Windows Phone, particularly given that we’re entering a market in which there’s already a lot of activity. I think we really kind of nailed it. Windows Phone is a different kind of phone. It looks different, it works different, it has all of the diversity of hardware selection that people would hope for, because people really have very individual tastes in phones, and yet it has all of the coherence from the user experience standpoint and particularly from the developer experience standpoint that make it possible for it to be a broad ecosystem that is really coherent for your work. From the user interface standpoint as well as from a user presentation standpoint.
We put a different kind of design point. We said, hey, instead of putting the application as the only center point, yes, there are a lot of applications that people are going to want, but how do we take the things that the users care about and love and make them the center point of the experience. The people I care about, the places I care about, the music and entertainment I care about, and then how do we give a framework into which you as developers can paint in and add into the users’ world as opposed to just have a chance to write applications, and we think we’ve done some very good things in that regard.
Windows Phone 7 certainly from a user interface standpoint is thoroughly modern. I mean, you take a look at a Windows Phone 7 and you just say, “Woo.” I mean, I happen to be carrying one of about five that I’ve been carrying regularly today, and anytime I just have it out and show it to sort of and you’ll all get a Windows Phone 7 today, that’s part of what we talked about. (Cheers, applause.) But the consistency with which we delight people I think is amazing. (Laughter.) That was probably the easiest form of delight on the planet.
You know, the whole goal here is to get people in and out of their phone and back to whatever they’re really trying to do and to have that happen pretty quickly. We have hardware from LG, from Samsung, from HTC, from Dell. We have phones that will be available from over 60 different operators in 30 different countries. You’ll have bigger and smaller screens, devices with keyboards and without, devices that are a little bit more rugged for the kind of pounding certainly some users deliver to these phones, and devices that are more refined and gentle and elegant for some of the other constituents who are going to want to come into the world.
I thought maybe we’d show you — we just debuted the ad campaign for Windows Phone 7. I thought we’d just show you just a little bit of a clip because it tells you a little bit how we’re going to communicate, and why we think, then, we’ll drive a lot of users for your applications. Roll the video, please.
(Windows Phone 7 Ad Campaign Video Segment.)
STEVE BALLMER: (Applause.) And, man, are we going to pump and thump. You’ll see a lot of those ads over the course of the next several months. We think we’ve got a great product with a great story to tell, and one of the keys now for us is really to get all of your great work, to get the applications built and into the marketplace and to talk to you a little bit about that, to show you some of the applications that folks like you and others around the world have already written and to show you how easy it is to build applications, please welcome up on stage Scott Guthrie. Scott runs our development platform group. (Music, applause.)
SCOTT GUTHRIE: Well thanks, Steve. Windows Phone 7 delivers a great developer platform that enables you to build amazing applications and games. Better yet, it includes an integrated marketplace so that anyone that has a phone can easily browse, download, and buy any of the experiences that you deliver.
We launched Windows Phone 7 about a week ago and in that time, we’ve already had over 1,000 applications and games uploaded into the marketplace. What I’d like to do is kick things off, before we get into the details, is actually invite Brandon Watson on stage who is actually going to show us a sampling of just a few of them that are out there today. Please welcome Brandon. (Music, applause.)
BRANDON WATSON: Hey. It’s a funny thing, I never get phone calls, and I’ve gotten two in the last 30 seconds, so we’ll see how this goes. So, thanks for having me here, Scott. I’m going to show a couple things today. I want to start off with an Xbox LIVE title from PopCap, this is Bejeweled. It’s a funny thing about this game. I was talking to Andrew Stein over at PopCap, the guys who make the game, and he said that despite the fact that they had no previous C# experience and very limited experience with the phone on the dev tools, they actually think that this is one of the best iterations of Bejeweled that they’ve ever had.
So as you see, it’s a pretty frenetic game. It’s actually a lot harder to demo this on stage in front of all these people, but lots of animation, good particle effects — it’s a really engaging game play. You’ve got the Xbox LIVE integration for achievements, trust me, I’ve put about 16 hours into this game since last week trying to get one, but it’s just a great, very engaging game play.
So what I’m going to do here is actually pop out of the game and go back to the Xbox LIVE hub because, again, it’s not just about the games, there’s a consumer experience here as well, and as a game developer, you can integrate with the hub. This is where customers will have access to the games, some spotlight where we can do some merchandising, and of course I can pull my phone out — that’s my actual Xbox LIVE avatar, LooseCannon74, that’s my gamer tag, LooseCannon, surprise, surprise, and my achievements. I can pull my phone out and share that with my friends. It’s very, very cool, nice, integrated experience with Xbox LIVE.
This is the LG Quantum phone. I want to actually show you, this is my personal phone. This is always a bit risky. This is the Facebook app running on the AT&T Samsung Focus, this will be available on November 8th, and this is the Facebook app. These guys wanted to build a great first-party application that really showcased the distinctive user interface of Windows Phone 7 and their app as well, so I have all the things I would expect to see — my news feed and photos — and as you see, it’s a very smooth UI. I have access to photos, very pretty, very visually arresting application.
As I move through this panorama, I’m actually going to go in and look at my profile. I’ve got some greasy fingers, been sweating a little bit. So I can go in and actually take a look at my wall or I can do an update. So I’m actually going to go ahead and trying not to screw up. (Laughter.) Hey, look at that, it worked. Good. So we get the updates to Facebook status, hey, that’s pretty cool.
But they also take advantage of the pivot control. Look at those very smooth animations, right? You get that for free with the pivot control as part of Windows Phone development tools. And so here they make all of the things that you’d expect for Facebook available, including my photos. Now, the photos is interesting because as I jump back out here to the start screen, you’ve got these live tiles you can see. I’ve got the two phone calls, a couple text messages, it’s about the glanceability of the data. I can look at my phone, have a sense of what I need to do, and back out.
But the photos hub here, as a developer, you can actually integrate with the hubs. So I don’t have to think about was I using the PhotoBucket app or the Facebook app, I just want to show photos to my friends. It’s about understanding what the consumers want to do.
So here I’ve got a picture, it’s pulling from my library. These are my three kids. It makes the phone more personal to me, but I’m actually going to just jump in here and show you that all of these photos, I’ve got my camera roll, my library, but I’ve got photos here from Facebook, I’ve got photos from SkyDrive, I’ve got photos from Windows Live — so it’s all of my photos being located in my hub that we can take advantage of with these integrated experiences and really smart design.
So these photos live up at Facebook, it’s pulling down the data, and you can see that I can go ahead and leave comments, the whole thing that you’d expect with Facebook, but it’s integrated into the photo hub. This is actually a photo of me at the Orange store on Oxford Street last week when phones went on sale holding me a newspaper. It makes me think about reading, reading on a mobile device.
When I read on my mobile devices, I have an Amazon Kindle, I love it, I actually bought one of the new ones for my wife last week. The guys at Amazon actually are going to let me share a little secret with you. We have the very first look of the Amazon Kindle app on Windows Phone 7. (Applause.) Yeah. Save the applause for how beautiful this app is, right? I mean, if you take a look at it, it makes me want to read. Again, they take advantage of the distinctive user interface and styling of Windows Phone 7 to build this really good-looking app, but it also has a very familiar user interface, the panorama, swipe, you know, I know how to use the app, despite the fact that it is very clearly an Amazon Kindle app.
This is a unique to Windows Phone 7 feature, the Kindle store, they make recommendations. I have three kids, no surprise it’s kid books. But I’m going to go back here, show you the reading experience. This is Tony Hsieh’s book about his experience at Zappos, Delivering Happiness. So, you know, bring up the text, very fast, very fluid. Look at how crisp that looks. But maybe you’ve got bad eyes or you guys in the audience want to see the text a little better, so I can go in and just make it bigger. It’s just that fast.
But Amazon being Amazon, you know, they want people to read the books. So, Scott, I’m going to go ahead — they’ve got this nice feature where I can share a link, and I know you want to be delivering happiness to your developers. You guys have built a great set of tools and app plat here, so Scott Gu. at Microsoft, it pre-loads the e-mail, off it goes, and hopefully you buy a box of these for your dev team, they’ve done such a great job. So that’s the Amazon Kindle app on Windows Phone 7.
Now I’m going to jump out. I already showed the one game, Bejeweled, I’m going to show you guys an app for another game, it’s called How Much Do I Owe the Government? (Laughter.) Intuit’s built a really great — this is their first Windows Phone 7 app. It’s a companion app, a brand builder on top of Turbo Tax, the industry-leading tax software. As you can see, it’s a way for me to enter my personal information and to give me a sense of how I should be planning for my taxes for the year.
I owe a little bit of money, I’ve pre-loaded some information here. But I actually forgot a couple deductions. I’ve got those kids, and it turns out, the government wants me to have kids, which is nice, going to give me some money back. So, again, you’ve got the pivot control, very smooth, very clean animations. I’m going to jump in here and just add the family tab and go ahead and add one child here on the slider control. What this is actually doing is it’s going up to the cloud, hitting their tax tables, doing some calculations, and coming back down to the phone to accurately reflect how much I’m going to owe or get back, but it’s a good thing I have three kids, because I think I actually am going to get a little bit more money back, and hopefully this might be a good way to start the morning. I find out, hey, I actually get money back, so I’m feeling pretty good about that.
So, look, those were a few apps on Windows Phone 7. Again, you’ve got the smart design and the integrated experiences. Very beautiful apps, very consistent user interface. Hope I’ve inspired you guys to go download the tools and show us what you can create and build great things. Thanks, Scott. (Applause.)
SCOTT GUTHRIE: Thanks, Brandon. Great tools make it easier to build great applications. And with Visual Studio and Expression Blend, we think we have the best tools out there now for doing phone development. Best of all, they’re available for free. So you can go ahead, download the tools, install them, build your first app within minutes, and all the experiences that you saw Brandon just demo, you can build yourself and upload into the marketplace.
What I thought I’d do is actually just talk about how they’re great. Instead of just talking about how they’re great, actually show building an app from scratch. So let’s actually switch over here and write some code.
What I’m going to do here is use Visual Studio Express for Windows Phone. This is the free version of Visual Studio that you can download and I’m just going to go ahead here and build a new project. I’m going to say file new project within it. And you’ll notice I have two templates. I can actually use some XNA templates if I want to build a game, and I can use the Silverlight templates if I want to build an app.
You’ll notice that we actually have a bunch of pre-populated templates that you can start off with. So if you want to start with a completely blank application you can. Alternatively, if you want, you can start with something like, say, the Panorama application, which will give you that nice Metro look and feel. So we’ll just say PDC demo today. Hit OK, and this is going to go ahead and create a new application for us. You’ll notice that we have a nice design view surface that we can use. I’ve got a source view XAML experience here, and my standard project explorer and so forth.
Now, before we write any code, let’s actually just run and see kind of what we just got by default. Now, I can use — if you have a device, which Steve hinted you might have one soon — you can actually go ahead and change to the drop-down. Alternatively, we also provide a built-in emulator. What the emulator does is it basically runs the Windows Phone operating system and gives you the ability to actually build your apps without even having to have a device.
So what you’re seeing here, we just ran that app we just started. I can slide back and forth. I got that nice silky smooth kind of panorama experience and without having to write any code, I got a basic app up and running.
Now, let’s actually do something a little bit richer. What I want to do is build a simple data snacking application that’s going to consume some data from eBay and allow me to see some hot auctions that are currently closing on the site. So to do that, I’m going to do a couple things. The first is I’m going to go into my XAML view and update my UI subtly here, to begin with. I’m going to change my header, so instead of first item, we’ll make this something a little bit easier like, say, hot deals.
You notice as I change my source, my design view updates. Likewise, if I change my design view, the source will update. Because we’re going to be showing auction items, I’m going to get rid of the kind of default list box that’s in the template by default and instead I’m going to add one that’s actually going to show off some auction data.
And so here’s basically a list box I just added. It’s got a data template inside there with some data binding expressions. I got image control and a couple text blocks there. And now all I need to do is write some code to go retrieve some data and bind against it. Now, you can use a variety of different ways to get data with Windows Phone 7. You can use Web services, you can use REST, you can use JSON. One of the things I’m excited to announce today is we’re shipping a new OData library that you can take advantage of. (Applause.) It allows you standards-based OData to consume data and query data on the Web.
It turns out, eBay actually has an OData endpoint now exposed, and I’m just going to basically reference our new OData library as well as a simple eBay wrapper that we’ve created to save me a little time.
All I’m going to do then is write a little bit of code in order to call that eBay service and bind it against the list box. Here is three lines of code I’m doing. Again, all I’m doing is creating that eBay deals collection, I’m binding it to the list box, and I’m asynchronously loading it from that feed.
Now, when I run this app again, my emulator pops up. Now instead of having the default list, I now have a nice hot deals (Laughter.) — yeah, people are wondering what’s up with this. Someone asked me earlier, like, “So is this something you wear?” No. This is actually for my son, who’s four weeks old. Anyway. (Applause.) I thought it was very odd that someone asked me that last night if I wear this.
Anyway, you got a simple app up and running. Now, we could obviously go further inside Visual Studio and add a lot more features to it. In the interest of time, though, I’m going to skip ahead slightly and show a slightly richer version of the app and I’m actually going to switch into Expression Blend, which is another free tool that you can download for phone development, and you can see the nice thing about blend is I can actually open the same project file format that Visual Studio uses and I can actually have both tools working on the same app. This is sort of, again, an advanced version of the app that we’ve been building. Nicely skinned and stylized, so this looks a little prettier.
You’ll notice here, I can even drill in, things like this little fire. Instead of being a picture, it’s actually a nice storyboarded animation. So I can actually do all the animation timelines, all the customization directly, makes it really easy in order to have a really nice-looking app.
Now, I can use the emulator in order to run the app, or I can actually just go ahead and hit F5 and deploy it directly to my phone device. And so you can see here now, it’s coming up on this phone and now what I have here is my hot deals loaded. You’ll notice the nice flickering animation, and I’ve got really nice, smooth scrolling, with a nice panorama-style experience all on the phone. Again, you can deploy directly from the tools onto the device or use the emulator.
So simple data snacking app that was kind of built. Hopefully what it shows is kind of from start to finish how easy it is to get started. We’ve had more than 500,000 downloads of the tools already and, again, all the apps that Brandon showed, you can actually build with these free tools and actually start uploading into the marketplace.
So everything I showed here so far is already shipping. What I want to do now is switch gears slightly. And talk about some new capabilities that we’re adding to the tools going forward as well. Specifically, I’m going to talk about and demo for the first time some nice profiling tools that we’re going to be adding into the tool set. What these profiling tools let you do is actually run an application on a real physical device, measure it, and be able to identify any performance bottlenecks that you have within the application, and better yet, this profiler is pretty user friendly and it will actually help pinpoint the problems within your apps and help identify how to fix it.
So to kind of show this off, let’s actually switch to this other machine which has the profiler loaded. So this is the slightly updated version of the app again. The difference here is I actually added some bugs. So I added a bunch of perf bugs into that app just to simulate why a profiler is pretty useful, and some of the capabilities of this one in particular that we’re building.
Now, what it means is instead of just hitting F5, I can now actually go ahead and just say I want to start his performance analysis tool. So what I’m going to do here is run that, and what this will do is basically deploy the app, an instrumented version of the app onto the device. So we switch now onto the device here. You can see it just loaded. Again, this is the version of the app that has some performance bugs, so this is by design.
You’ll notice here that the scrolling is not nearly as smooth, it’s a little glitchy there. Again, that’s because I added some bugs into it. But the nice thing is the profiler is capturing all the data. So when I actually exit out of this and switch back to my profiler, what it’s doing right now is it’s stopped, it’s actually going to analyze the profile data, and it’s going to give me a profile analysis report as to what exactly happened.
What you’re seeing is at the top level just a summary data. It’s actually looked throughout the time we were running that app at the frame rate that was actually being painted on the screen, and it’s identifying what the frames per second were. Green means the frames per second is pretty good, red means bad. We’re also monitoring the CPU utilization on the box and then also the storyboard animations that are firing throughout the app. So you can sort of correlate, hey, everything was green here, we did something down here, and basically our frames per second or CPU spiked.
Now what’s nice about this I can actually select any region within the overall summary and drill down to see exactly what’s going on and what caused the problem. So I’m going to select this region here. We went from green to red. Scroll down here now and you can actually see detailed steps on exactly how much time we’re spending in the CPU versus the GPU on the box. You can also go ahead and see details where we actually look at your app and the instructions that are happening within the app, and try to identify what was the problem. And so we have a bunch of friendly warnings here. We’re basically saying, hey, there’s 35 instances of this color animation running, that’s probably a problem, you want to investigate it because it’s bouncing you into the CPU.
We want to go one step further, so that would actually fix the problem, but if you want to go one step further, we can even drill in to actually see what are all the controls that are running in that particular selected scene. And I can actually see it highlighted in red the controls where we looked at the draw time or the layout time looks like it’s actually consuming too much resources.
If I want to go one step further, I can even go down on a per-frame basis. We can analyze each of the individual frames that occur during that 20-second sample and you’ll notice here if I have some green, red means the frame’s taking an awfully long time to render. And if I scroll down, you’ll notice we’ll actually show you at that particular frame every visual element that was being painted onto the screen, how much time was being spent in the CPU, how much time was being spent in the GPU, and the profile is even smart enough to actually identify what we think are the likely culprits that are actually bringing the perf down and how to fix it.
So this is the early sneak peak kind of at some of the profiling tools that’s coming out. There are a lot more features that are going to be added, but we think the combination of that plus all the other tools that we’ve already shipped really gave you kind of an end-to-end experience both for building apps and really making them sing.
So just to wrap up, today we saw a couple great applications that are already in the marketplace, and hopefully you saw sort of the productivity and the ease with which you can actually build your own Windows Phone applications. The great thing is you can start building these apps, you can upload them into the marketplace, and you can start to make money. There’s a big opportunity there for the first couple apps that get into the marketplace, and you’re going to see a lot more talks throughout this event on how to do it. So thanks a bunch, hope you enjoy. (Applause.)
STEVE BALLMER: Yeah, we’re early. There’s no question we’re early. And yet, if you look at time to launch, we’ve got more applications than the guys who’ve been in a market now a while, but we need your best work. We think the tools are great, we think the phones are great. We think we’re going to put the muscle behind the phones for the marketing and sales perspective to really help them sell, and we think there’s just a phenomenal opportunity for people to get out there and build applications that have been conceptualized in other environments and on other phones, and a set of applications that really make sense because of the different pivot we’ve taken — even pun intended — the different pivot we’ve taken on how to really put the user at the center of the experience.
On the cloud, which we’ll talk about later, we’re all in, but make no mistake about it: When it comes to Windows Phone, we’re all in. I’ve gotten asked various questions, well, what will you do if this or that or blah blah blah blah blah. Boom, baby! That’s what we’re going to do. (Laughter.) Continue to work, continue to drive, continue to improve, but man, I think we’ve got a great opportunity for you and for us with the Windows Phone and I think the opportunity to get after it together and to build with the kinds of tools and the improvements that Scott had a chance to show and some of the applications Brandon had a chance to show really gives you something of a conceptualization.
I had a chance two weeks ago, I was in France. And our French team had organized an event. They’d invited developers from around France to show their Windows Phone applications. And you had to do a submission on Facebook and then they took a vote and then they brought in the seven guys with the most votes for kind of an American Idol-style judging competition.
But I saw some of the most interesting applications, fantastic work. I saw a lot of developers in that case building their Windows Phone applications with a Windows Azure backend because that seems to be a very convenient thing for people, once they’re comfortable with our tool set. It seems like a very logical thing that I’m sure many folks will choose to do and I think the opportunities here are just fantastic.
You can take a look at what some of the reviews have looked like. Some of them have been way off-the-charts positive, some of them have pointed out we still have an opportunity to add a couple features. But I’ll tell you, you show a Windows Phone to anybody you know and you’re going to get a great reaction.
For those of you, as I said earlier, for those of you who are here physically, you will actually get a Windows Phone. The distribution is in the registration area. (Applause, cheers.) Just load ’em up with applications, that’s all I can say. You write those apps, drive them forward. But there will be a range of different models from a range of the different manufacturers, and I think give you all a great opportunity to drive forward. Also, all paid attendees will get a free registration in the Windows Phone Marketplace, which is a $99 value. (Applause.)
I wanted the opportunity to talk to you a little bit about Windows and Windows Phone and what we’re doing. The other major part of the platform and when where, frankly, I think we are really propelling the ship very quickly in terms of capability and really transforming from a world of on-premises or hosted servers to a world of platform as a service is the work that we’re doing with Windows Azure. The uptake, the adoption, the acceptance has been really phenomenal from developers around the world.
Bob Muglia is going to have a chance to talk to you a little bit about what has happened and show you some things that are coming in the world of Windows Azure and SQL Azure, but it’s certainly been a real pleasure for me to have a chance to talk with you today. I hope we have really piqued your interest. Take advantage of IE. Build those Windows Phone applications and I think you’re going to continue to fall in love with Windows Azure. Thanks everybody very much. (Applause.)