Tip:
Highlight text to annotate it
X
>> CLERON: Hi, my name is Mike Cleron. I’m the engineer on the Android Development Team.
Android is an open software platform for mobile development. It is intended to be a complete
stack that includes everything from the operating system through middleware, and up through
the applications. Now I'm going to focus in detail on a few of the APIs that I think provide
fertile ground for innovation. The first is the location manager. This is a set of APIs
that allows you to get geographic information. It will let you find out your current location,
and it will also let you register to receive notifications if you get close to something
interesting. So you can actually register, you can register an intent with the location
manager that will be fired when you get close to a point that you specify. And that lets
you do things like being notified when you get close to one of your friends, or it lets
you be notified when you get close to, say, an ice-cream shop that has particularly good
ice-cream in it. It has that kind of an interesting innovative application with this kind of API
enables. The location manager will use GPS if the device comes equipped with GPS. If
it doesn’t, it will make do with whatever information is available that might be getting
information from cell tower IDs or if there's a Wi-Fi network that has geographic location
information in it, we'll use that information to try to at least narrow down where you are.
While building applications for the Android platform, we found that it was useful to have
and always on data connection so that the server could send notifications to devices
running the Android platform. It turned out that it’s such a useful piece of infrastructure
that we decided to package it up and make it available as part of the public framework.
And that has been done by creating the XMPP Service APIs. The XMPP Service allows any
application to send device-to-device data messages to any user who's running Android
upon their device. Now that data can be whatever information make sense with the application.
So for a multiplayer game, that might be that I’ve moved my knights to a particular location,
or whatever make sense for the game. But it could also be something else like geographic
information. So with appropriate permissions and security, the user could send their location
to their buddies so that their buddies could actually see where they are at any given time
and plot that information on a map. Again, this works with any Gmail account, so any
application can send this type of peer-to-peer messages without having to build any server
infrastructure. The next API is one of my favorites. It’s called the Notification
Manager, and it allows any application to put a notification into the status bar. We
use the status bar for things like SMS notifications, voicemail notifications, all of the typical
things you’d expect to see on a phone. However, we make that same facility available to any
application. And so, that means the developers can have the same power to alert the user
to interesting events as what have traditionally been built-in applications. This has a lot
of benefits. First, it means that all notifications have a consistent presentation. Now the way
we do it in the UI, we have a visible preview of what the notification means. So if an icon
appears in the status bar, you can click on it or touch it to make it active so you can
see a preview of what it means, which means you don’t have to figure out what each of
30 different hieroglyphics means. Then, if you want to act on that notification, you
can simply touch on it and you will be taken to whatever application is responsible for
that notification. This allows a lot of really interesting scenarios. It means that applications
can notify you of things like when an auction is ending, or if someone has invited you to
be their friend on a social network, or if a bus is coming. And all of those notifications
can have the same level of prominence in the UI as something like voicemail or the other
built-in notifications. And finally, I’d like take a minute to talk about the view
system in Android. Android provides a really rich toolkit of built-in views, and you can
use those to assemble your applications out of standard parts. So we provide things like
playlist view and a grid view, a gallery view. We provide all the standard widgets like buttons
and check boxes. And by combining those things, you can build your applications really quickly.
We've also done a lot of work in the framework to support multiple input methods and multiple
screen sizes and multiple keyboard configurations in the view system itself so that you don’t
have to worry about that in your application. So for example are list of views work with
touch but they also work if you want to drive them with a [INDISTINCT] D-pad. And that’s
just a built-in facility of the view framework. In addition to that sort of views, we also
are introducing two really innovative views. The first is a map view. This is an actual,
this is an implementation of the same map rendering engine that’s in our maps application.
But we decided to make that available as a view so that applications can have really
tight integration with geographic data. So it’s, of course possible to always launch
the map application to display a particular location. But what the maps view let you do
is actually embed a map view in your application so that you can control it from your own code
so you can set it to a particular locations, zoom in, zoom out, pan the map, control all
of that from your own code to build whatever kind of application you want to build based
on that. We've done something similar with the browser. There’s a browser application
that you can launch to display a webpage, but we also have a web view that enables you
to embed HTML content as a view in your application that you can then fill with whatever data
make sense for your app. Personally, what I’m hoping to see come out of the Android
effort is the kind of innovation that comes from what I call a mash up effect. We really
had two goals in mind when we set out to create Android. The first was to provide developers
with a powerful toolkit for building new types of experiences. This toolkit includes things
like the application framework, the view system, things like the maps view and the web view
that you can embed in your application, device-to device messaging through XMPP, location services,
notifications, and all the other pieces of our API. But the second and more important
goal was to be sufficiently open and extensible to allow these pieces to be combined in ways
that we really haven’t imagined yet. If you're interested in finding out more about
Android, I encourage you to visit the developer site and download the SDK. In the SDK, you
will find a lot more documentation and sample code, and you’ll also be able to try built-in
applications of your own. There's also a developer group that you can join to find out more information.
And I also encourage you to check back frequently because we’ll be posting updates to the
SDK as the platform of your choice. Thank you for watching.