 Good morning, everyone, and welcome to the Android keynote at I.O. 2012. Last year on this stage, we talked about momentum, mobile, and more. Momentum, accelerating of Android across the world. Mobile, everything we're doing to innovate on smartphones and tablets. And more, extending the Android ecosystem well beyond the typical mobile device. This year, we're continuing with the same three themes and picking up right where we left off. Let's start with momentum. Last year right here, we announced that Android had crossed the mark of 100 million devices. 100 million was a huge milestone for us back then. It's been a pretty busy year, and I'm thrilled to announce our latest milestone. Ready? 400 million Android devices. 400 million is a pretty huge number. But we're definitely not slowing down. Last year right here, we announced that we were seeing 400,000 new Android devices activated every day. Well, today, 1 million new Android devices are activated every single day. That's about 12 new Android devices every second of every day. Thank you. More devices in the hands of more people in a truly global phenomenon. Take a look at this chart. What you see here is a heat map representation of the growth in Android devices throughout the world over the last year. Places like Japan, South Korea, and France grew between 200% and 300% in these 12 months. But what's even more impressive is that the developing world is adopting Android at an even faster pace. Very large markets like Brazil, India, Thailand, and Indonesia all grew around 500% over the last year alone. Really, really exciting. And we're continuing to build and innovate just as fast in the Android team. Today we want to share with you what we've been working on since we launched Ice Cream Sandwich late last year. I'd like to introduce you to our newest release. You guys ready for this? Android 4.1 Jelly Bean. Jelly Bean builds upon what we created with Ice Cream Sandwich. We want things to be simple, beautiful, and really smart. There are few things about Jelly Bean we wanted to cover today. Project Butter, a performance-focused effort that went deep into the guts of the platform. We'll then talk to you about a number of delightful improvements that we've made throughout the entire system. And finally, we'll show you the new Google search experience on Android. To tell you about Project Butter, please welcome Android engineering director Dave Burke. Thanks, Hugo. Our brand's visual cortex is especially sensitive to the physics of motion. It notices delays of as little as 10 milliseconds. So in Jelly Bean, we put a lot of effort into making the user interface fast, fluid, and smooth. This is the project that we call Project Butter. The first thing we did was improve the system frame rate and make it consistent. We took the display refresh signal called vSync and extended it to drive the entire Android framework at 60 frames per second. That's one heartbeat about every 16 milliseconds. And now everything runs in lockstep. Application rendering, touchscreen processing, screen composition, and display refresh. In Jelly Bean, we also introduced triple buffering in the graphics pipeline. This allows the GPU, the CPU, and display to all run in parallel without waiting on each other. The result is a more consistent rendering framework, and everything feels a lot smoother. Scrolling, paging, animations, they're all buttery smooth. Next, we focused on improving touch experience by solving two problems. The first problem is that touch events are reported independently of screen update. In Jelly Bean, we now actually anticipate where your finger will be at the time of screen refresh and use that position to draw on the display. This results in a more reactive and uniform touch response. The second problem relates to how devices conserve power. They actually dial the CPU back to a lower frequency when there's not much activity in the system. And if you interact with the system and that state, it can potentially take tens of milliseconds for the CPU to ramp up and respond. And this can lead to a sluggish UI. So in Jelly Bean, we introduced the concept of touch input boost. Now, when you interact with the screen, we'll instantly ramp the CPU up. It's literally putting the full power of the CPU at your fingertips. Now, one of our goals when we started to work in Jelly Bean was to be able to measure and improve interactive performance in a scientific way. So we created a new tool called SysTrace. And SysTrace collects data directly from the Linux kernel and uses that to produce an overall picture of what the system is doing. The data is represented as a group of vertically stacked time series graphs. And in this particular application example, you can see that there's a rendering interruption that's much longer than 16 milliseconds. And this results in dropped frames. When you look at the data, it's pretty easy to correlate that with the database interruption here. So you know what to fix. SysTrace comes with a Jelly Bean SDK. And it's a really useful tool for device manufacturers and for you guys to optimize the performance of your application. So how noticeable are these changes in practice? Well, we got out a high-speed camera to compare a stock device running ice cream sandwich against a device running the latest Jelly Bean. Let's take a look. So this is a really sophisticated camera capable of capturing 4 million pixels at a rate of up to 300 frames per second. Device on the left is running ice cream sandwich. Device on the right, Jelly Bean. So let's take a look at the launcher animation. So the Jelly Bean device has a much higher frame rate. It feels a lot smoother. Let's take a look at another example. Let's look at the Quick Contacts animation. And again, the Jelly Bean device on the right, it animates much more smoothly and much more consistently. And it just feels much more siltily smooth. And that's the triple buffering and desync in action. So these improvements apply across the whole system. And they apply to all applications. And it's something that we're going to continue to improve on in future Android releases. If you want to learn more about this, we've got a really good session tomorrow called For Butter or Worse. And to butter you up even further, I'll let me pass you back to Hugo. Thank you. Thanks, Dave. Well, Jelly Bean is not only the fastest and smoothest version of Android yet, but we've also made a ton of improvements throughout. We've touched every corner of Android, and it all comes together in a way that's really delightful. So let's jump right in. I have Randall here from the Android product team to help me with demos. And first of all, people spend a lot of time on the home screen in Android because we've always let you customize it the way you want with apps and widgets. But when you've got a lot of stuff on your home screen adding another widget or getting things to fit just right can be a little bit difficult. So we solved that problem in Jelly Bean. Let's go to the device. So here's a home screen with a bunch of apps. Now Randall's going to pick up a widget from another home screen and move it to this one. Now watch what happens. Everything gets out of the way and aligns perfectly around the widget. But what if the widget is too big and there isn't enough room for it on the home screen? Well, here's another home screen that has even more apps. Watch what happens now when Randall moves that widget to this screen. It magically resizes on its own. And if you want to do some spring cleaning in Jelly Bean, you can just pick up a widget and toss it off your phone with a familiar gesture. You can do the same thing with apps as many as you want. That's probably enough for him. Thanks. OK, let's go back to slides. So we also made text input on Android a whole lot better. In Jelly Bean, we refined and retuned our dictionaries. They're much more accurate, more relevant, and the keyboard learns intelligently over time. We've also added a by-gram prediction algorithm, which guesses the next word you're going to type before you start typing it. It's really cool stuff. But sometimes your hands aren't free to type, which is why Android supports voice typing. Now while voice typing works really well when you have a data connection, if you don't have one, it doesn't work. And it can actually be slow if you have a bad connection. So in Jelly Bean, we shrunk the Google speech recognizer that runs in our data centers to fit with shrunk the Google speech recognizer to fit on the device itself. So if you have a poor connection, or if you're offline, you can still type with your voice. Why don't we go to the device? Let's show you that live. So Randall's going to put his phone in airplane mode, and he's going to use his voice to write an email. Now watch what happens, and do listen carefully, because this is one of the few times when we let him speak. This is a demonstration of voice typing, period. Words appear even though I don't have a connection, period. All right, let's go back to slides. We're launching offline voice typing initially for US English, and we're going to add more languages pretty soon. Now we also wanted to make sure that Android works well for everyone, particularly given how quickly Android is growing around the world, like I showed you earlier. So in Jelly Bean, if we could go back a couple slides, please. So in Jelly Bean, we've improved support for Arabic and Hebrew. We've added a new Arabic font to the platform, and we're also adding 18 new input languages, including Persian, Hindi, and Thai. OK, let's go to the next slide now. There you go. Making sure Android works for everyone, also means improving accessibility. With Jelly Bean, we're introducing gesture mode, which enables blind users to reliably navigate the UI using touch and swipe gestures in combination with speech output. It's really, really awesome. Thank you. We've also added platform support for external braille input and output devices via Bluetooth. And if you want to learn more about accessibility in Android, stop by the sandbox just outside to see some awesome Android devices with integrated braille support. So that's accessibility. Now let's talk about camera. In Ice Cream Sandwich, Ice Cream Sandwich made it possible to snap photos really quickly. The Jelly Bean Camera app makes it possible to review photos you've already taken really, really quickly as well. Let's show that light. Let's go to the device. So Randall is snapping some photos here. And you'll notice that there's a new animation of the photo flying out to the right. So that tells you with a simple wipe, you can bring it back into view and look at the photo you just took. Thank you. From here, you can tap and share this photo, as you know. Or you can keep swiping to look at the other photos you took. If you want to go through these photos really quickly, just pinch to go to Film Strip View. And then you can scroll much faster from here. And if you don't like a photo, you can easily get rid of it by just swiping it away. Pretty cool, right? And if you delete a photo by accident, you can always tap Undo and bring it right back. So that's camera. Pretty cool. In Ice Cream Sandwich, we introduced Android Beam, which lets you share things like web pages, contacts, maps, and so on between devices using NFC by just tapping them together. Today, more than a million NFC-enabled Android devices are shipping every single week. And that number is growing quickly. In Jelly Bean, we're introducing two new Android Beam features. First, you can send someone a photo or video by just tapping your phones together. And second, you can instantly pair and connect your phone with an NFC-enabled Bluetooth device like a speaker or a headset by just tapping it with your phone. It takes one second. Absolutely brilliant. Let's keep going. Thank you. One of the signature features of Android is notifications. Android notifications are great. They show you what's important, they never get in your way, and they're accessible from anywhere. In Jelly Bean, notifications show you more information. They're actionable, they expand and collapse, they have full-blanked photos, they're beautiful, and they're customizable. So you guys can build amazing notifications into your apps. Really wanna show you this. Let's go to the device. So here at the top, there's a missed call from Hiroshi. Rather than opening the phone app and calling him back, you can do that right from the notification itself. Just tap on call back. It's really quick and easy. Now, if you leave the phone app while you're in this call, when you're done, you can just go back to notifications and hang out straight from there. Awesome. Now, the Gmail notification moves up and automatically expands. You no longer need to open the Gmail app at all to see what's going on in your inbox. It's all right there. Nothing important right now, so random item would just swipe that away. Okay, now here's a calendar notification and you can see that there's a meeting here at 10.30. Now, if you're running late, or you can't make it to the meeting, you can easily email everyone in the meeting and let them know. Just type in your guests. And because you'll usually be in a rush when you do this, we'll give you a set of canned responses. You choose any of these, or of course, write your own. Thank you. Let's go back to notifications. All right, so we can see that Romain shared a photo on Google+. Now, you can actually see the full bleed photo right here in notifications. And you can plus one it, or even share it right into your circles all without opening the app. Here's a notification from Foursquare. You can quickly like or comment on a friend's check-in, again, without having to open the app. This is TuneIn Radio. It's a great Android app for listening to radio stations from around the world. When I have a song playing, I can see this beautiful album art. I can control my music and I can actually quickly favorite a song from here without opening the app. Now, let me also show you a quick trick. Notifications expand on their own as they bubble up to the top, as you've been seeing so far. But you can also make them expand or collapse whenever you want with a simple two-finger gesture. Watch this. And the expanded post-news notification here, I can see news stories complete with photos and headlines. Really, really powerful stuff. So those are Jelly Bean notifications. They expand and they collapse when you need them. They're actionable and they can show you a ton of new information. And just like an ice cream sandwich, you can dismiss all notifications at once with one simple tap. Android makes your life easier. Simple tasks should never require complex procedures. Now, let's talk about search. From the very beginning, Android had searched at its core. With Jelly Bean, we took a hard look at search and redesigned it from the ground up. First, a new UI. Second, faster and more natural voice search. And third, a new feature we're calling Google Now. Let's start with a new UI. Last month, we introduced the knowledge graph in Google Search. The goal is for Google to understand that the words you use when you're searching are not just words, but real things in the real world. In Jelly Bean, we're using the power of the knowledge graph to show you search results in a new, richer way. For example, if you wanna know what movies Angelina Jolie has starred in, we'll show you this card. Or if you ask how much the Earth weighs, you'll see an answer like this. If you're searching for the weather in New York, we'll show you a card with a weekly forecast. If you wanna find a nearby Starbucks, we'll show you a card with a quick map of some stores close to you and a shortcut to take you to Google Maps. Now, let's show you what we've done with voice search. You know, sometimes you'd rather just speak your search query or ask a question. In Jelly Bean, voice search is much faster. It's also better at understanding natural language, and it speaks answers back to you using the power of the knowledge graph. Let's go to the device and show you this live. Randall, why don't you show us a few more examples? You can't talk. Okay, I'm gonna ask a few questions and Google will respond. Who is the Prime Minister of Japan? The Prime Minister of Japan is Yoshihiko Noda. All right, got you more. We'll try another one. What is the definition of robot? Robot, a machine capable of carrying out a complex series of actions automatically. It's pretty appropriate. Try another. How tall is the space needle? Space needle is 604 feet tall. Okay, we'll give it one more try. Show me pictures of pygmy marmosets. That's great. Now, notice that if you go back to the results, if you swipe away that card, there's a wealth of additional information from the web on pygmy marmosets, which, as I'm sure you know, are the smallest monkeys in the world. Google will always give you web search results for all of your questions. Thanks, Randall. Let's go back to slides. The third part of the new Android search experience is called Google Now. Today's smartphones are powerful. They can do pretty much anything you ask. Search the web, give you directions, traffic info, anything. But smartphones are only as smart as you tell them to be. They rely on you to do everything. You have to enter a search query, you have to type in a street address, and you have to ask for traffic in a particular area. But with Google Now, that starts to change. Google Now gets you just the right information at just the right time, and all of it happens automatically. So how do we do this? If you choose to, Google Now uses things like your search history, your location history, and your calendar to figure out what information you might need and when. Let's see a few examples on slides. Traffic. Google Now figures out when you commute from home to work and back. It'll then tell you how long the commute on your usual route is going to be, and it'll give you a faster route if there's a lot of traffic. Next, public transit. When you're near a bus stop or on a platform at a subway station, Google Now tells you when the next bus or train will arrive. Places. Google Now will show you bars, restaurants, and places of interest around you as you walk down the street, and when you're in a restaurant trying to figure out what to order, Google Now will tell you what that restaurant is best known for. Next, appointment. When you have a calendar event, Google Now will help you get there on time. For example, if you normally take the bus to get around, Google Now will tell you when to leave based on how long it'll take you to walk to the bus stop, when the next bus arrives, and how long that bus ride will take. So we get there on time. Flights. If you have an upcoming flight that you've searched for, Google Now keeps you up to date on the status. It tells you which terminal to go to, and it updates you if there's a delay, all automatically. Sports. Google Now keeps you updated on your favorite sports teams in real time. You'll see scores and upcoming games, and the best part is you don't need to set up your favorite teams. You've already done that by searching for them on Google. Travel. Google Now knows when you're traveling, and if you're traveling internationally, Google Now will give you interactive cards for currency conversion and translation. It also conveniently tells you what time it is back home, and there's tons more. I'd like to welcome on stage Bearish Gudtekin, Google Now product manager. Bearish is gonna show you how Google Now helps him navigate his day. Bearish. Thank you. Hi, everyone. I'm really excited to show you how Google Now can work for me. So let's get started. The easiest way to get to Google Now, there are two ways. You can either tap on the search box, or you can simply swipe up from the bottom of the screen. And when you do that, you see the familiar Google Search box. You also see a beautiful header that changes based on your time and location. You also see the Google Now cards beneath it. So let's start with the first one. Google Now is telling me that I have a meeting at 10.30 a.m. today. It's also telling me that this meeting is 16 minutes away from where I am. Google Now also notifies me when it's time to leave so I'm not late for my meeting. Here, it tells me that I need to leave by 10.14. Google Now knows that I'm a Giants fan, and right now it's telling me that there's a Giants game coming up in a few hours. And this card is going to keep me updated with the scores and I know what's happening in real time. If I wanted to, I can buy tickets from here really easily. All right, let's think about when you want to figure out a place to get lunch. Google Now knows that I'm not here too often and I don't know the area too well. So it's showing me a few places nearby, including some restaurants. Let's take a look. Zero-zero looks pretty good. So I'm going to tap on it and get more details. This takes me to Google Maps and from here I can get wealth of information. I can also book a table if I wanted. Let's go back. And Google Now has also figured out that I go to the gym usually around lunchtime and it's telling me that the gym is 29 minutes away. So I want to get a workout but I was going to take a flight and it looks like my flight is delayed. So I have enough time to actually go and squeeze in the workout. Google Now is also telling me that my flight is delayed and I'm only 19 minutes away from the airport. It's also telling me that when I get to the airport I'm going to go to terminal two. Well, that's a quick demo of what Google Now can do for me today. Your cards will get smarter and more accurate as you use them and we're just beginning. We'll be adding more cards over time. Thank you. Back to you. Thanks, Parish. That was great. So that was an overview of Jelly Bean for you guys. Project Butter, a bunch of delightful improvements like easier home screen organization, offline voice typing, a new camera app and awesome expandable notifications. Lastly, you've got a preview of the new Google search experience on Android. Can't wait for you guys to actually try that. Now, I'm sure you all want to know when you can get your hands on Jelly Bean. We're going to roll out over-the-air updates to Galaxy Nexus, Motorola Zoom and XSS and also release Jelly Bean to open source starting in mid-July. But we're making the SDK available to you today as a developer preview. You can download it right now from developer.android.com, Jelly Bean SDK developer preview. The SDK is built for you guys, Android app developers. But as you know, chipset vendors and device manufacturers develop for Android too to bring us their awesome hardware. So today we're announcing the Android platform development kit or PDK for short, which is like the SDK, but for Android hardware developers. It contains the necessary source code and low-level API documentation required to port Android to your hardware if you are a hardware developer. PDK will be available, thank you. PDK will be available to Android device partners two to three months before the platform release date of all future Android versions. Thanks. And we've actually started with this release. A beta version of the Jelly Bean PDK has already been available to a few partners for the last few weeks and they've been providing us valuable feedback. We've incorporated that feedback and now it's available to everyone on an ongoing basis. PDK enables Android OEMs and chipset makers to innovate in parallel with Google and ensure the latest Android release can be well optimized for their hardware.