hi. my name is mike cleron. i'm an engineer on the androiddevelopment team. android is an open softwareplatform for mobile development.
Android api, it is intended to be a completestack that includes everything from the operatingsystem through middleware and up through applications. now i'm going to focus in detailon a few of the apis
that i think provide fertileground for innovation. the first is the locationmanager. this is a set of apis thatallows you to get geographic information. it will let you find out yourcurrent location, and it will also let you register to receivenotifications if you get close to somethinginteresting. so you can actually registeran intent with the location manager that will be fired whenyou get close to a point
that you specify. and that lets you do things likebe notified when you get close to one of your friends. or it lets you be notified whenyou get close to, say, an ice cream shop that hasparticularly good ice cream in it. that's kind of interestinginnovative application that this kind of api enables. the location manager will usegps if the device comes
equipped with gps. if it doesn't, it will make duewith whatever information is available. that might be gettinginformation from cell tower ids, or if there's a wifinetwork that has geographic location information in it, willuse that information to try to at least narrowdown where you are. while building applications forthe android platform, we found that it was useful tohave them always on data
connection so that the servercould send notifications to devices running theandroid platform. it turned out this is sucha useful piece of infrastructure, that we decidedto package it up and make it available as partof the public framework. and that has been doneby creating the xmpp service apis. the xmpp service allows anyapplication to send device to device data messages to any userwho's running android on
their device. now that data can be whateverinformation makes sense for the application. so for a multiplayer game, thatmight be that i've moved my knight to a particularlocation, or whatever makes sense for the game. but it could also be somethingelse like geographic so with appropriate permissionsand security, the user could send their locationto their buddies so that their
buddies can actually see wherethey are at any given time and plot that informationon a map. again this works with anygmail account, so any application can send this typeof peer to peer messages without having to build anyserver infrastructure. the next api is oneof my favorites. it's called the notificationmanager, and it allows any application to puta notification into the status bar.
we use the status bar for thingslike sms notifications, voice mail notifications, allof the typical things you'd expect to see on the phone. however, we make that samefacility available to any application. so that means that developerscan have the same power to alert the user to interestingevents as what have traditionally been builtin applications. this has a lot of benefits.
first, it means that allnotifications have a consistent presentation. the way we do it in the ui, wehave a visible preview of what the notification means. so, if an icon appears in thestatus bar, you can click on it or touch it tomake it active. so you can see a preview of whatit means which means you don't have to figure out whateach of 30 different hieroglyphics means.
then, if you want to act onthat notification, you can simply touch on it, and you'llbe taken to whatever application is responsiblefor that notification. this allows a lot of reallyinteresting scenarios. it means that applications cannotify you of things like, when an auction is ending, or ifsomeone has invited you to be their friend on a socialnetwork, or if a bus is coming, and all of thosenotifications can have the same level of prominence inthe ui as something like
voicemail or the other builtin notifications. and, finally, i'd like to takea minute to talk about the view system in android. android provides a really richtool kit of built in views. you can use those to assembleyour applications out of standard parts. so we provide things like alist view, a grid view, a gallery view. we provide all the standardwidgets like
buttons and check boxes. by combining those things, youcan build your applications really quickly. we've also done a lot of workin the framework to support multiple input methods, andmultiple screen sizes, and multiple keyboard configurationsin the new system itself so that you don'thave to worry about that in your application. so, for example, our list viewswork with touch, but
they also work if youwant to drive them with a five way epad. and that's just a built in facility of the view framework. in addition to that sort ofviews, we also are introducing two really innovative views. the first is a map view. this is and implementation ofthe same map rendering engine that's in our mapsapplication.
but we decided to make thatavailable as a view so that applications can have reallytight integration with geographic data. so it's, of course, possibleto always launch the map application to display aparticular location, but what the maps you let you do isactually embed a map view in your application so you cancontrol it from your own code. so you can set it to aparticular location, zoom in, zoom out, pan the map, controlall of that from your own code
to build whatever kind ofapplication you want to build based on that. we've done something similarwith the browser. there's a browser applicationthat you can launch to display a web page, but we also have aweb view that enables you to embed html content as a view inyour application that you can then fill with whatever datamakes sense for your app. personally, what i'm hoping tosee come out of the android effort is the kind of innovationthat comes from,
what i call, themassive effect. we really had two goalsin mind when we set out to create android. the first was to providedevelopers with a powerful tool kit for building newtypes of experiences. this tool kit includes thingslike the application framework, the view system,things like the maps in view, the web view, that you can getembed in your application. device to device messagingthrough xmpp, location
services notifications,and all the other pieces of our api. but the second, and moreimportant, goal was to be sufficiently open and extensibleto allow these pieces to be combined in waysthat we really haven't imagined yet. if you're interested infinding out more about android, i encourage you tovisit the developer site and download sdk.
in the sdk, you'll find a lotmore documentation and sample code, and you'll also be ableto try building applications of your own. there's also a developer groupthat you can join to find out
more information. i also encourage you to checkback frequently because we'll be posting updates to the sdkas the platform matures. thank you for watching.