Google I/O 2008 - An Introduction to Android

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

This will never catch on

👍︎︎ 65 👤︎︎ u/isaychris 📅︎︎ May 30 2016 🗫︎ replies

Android used to be so fugly, it's come a long way.

👍︎︎ 41 👤︎︎ u/JonyIvy 📅︎︎ May 30 2016 🗫︎ replies

What's with all these nostalgia posts coming up recently?

👍︎︎ 22 👤︎︎ u/pongo1231 📅︎︎ May 30 2016 🗫︎ replies

Feedback sheets on seats replaced by what he was introducing.

👍︎︎ 4 👤︎︎ u/sex-with-strangers 📅︎︎ May 30 2016 🗫︎ replies

Um...

👍︎︎ 9 👤︎︎ u/arturod8 📅︎︎ May 30 2016 🗫︎ replies

The presentation technique was so bad.

👍︎︎ 6 👤︎︎ u/[deleted] 📅︎︎ May 30 2016 🗫︎ replies

I personally love that older look.

👍︎︎ 1 👤︎︎ u/speel 📅︎︎ May 31 2016 🗫︎ replies
Captions
oh no I have it you want me to do it okay so I've got a couple of housekeeping announcements the first one is if you are sitting in a row and there's some empty seats next to you can you stand up squeeze in so we can get people who are standing in the back into some seats a couple other housekeeping announcements they've given me to give on your seats there's a feedback form so we'd really appreciate it if after my session you could fill that out there's a box in the back right over there that you can drop that in let me know how I did in my given this talk to other things we let everyone in without having to pick up your badge for the keynote so but we'd like for you to pick up your badge and your wristband for the after-hours by no later than 2:00 p.m. and the other thing is since we're running a little behind they've extended lunch all the way out to 2:30 so that's all the housekeeping give that back to you and yeah we'll get started so let me introduce myself I'm Jason Chen I'm a developer advocate here at Google and I'm here today to give you guys an introduction to Android I met a couple of goals for this session I want to give you some background both about mobile in case you're not well-versed in the mobile space talk and then give dive into the meat of the content which is really talking about what is Android giving you a high-level overview of the technical bits and setting out some of the big ideas that we'll be talking about over the five other sessions that are happening over the next two days and then last but not least I'll catch you up on the latest news about all things Android sound good so we'll get started so the first thing that I want to talk about is to give you guys some perspective in terms of mobile you know if you were at the keynote you saw Vic and and also the quote from Eric Schmidt about the importance of mobile but I want to give you guys a real picture of how to think about that so there's slide up here you'll see in the orange that's a total number of Internet users PC based Internet users worldwide and the blue line is the growth in the number of mobile phone users worldwide so 2007 which is about the latest year that we have good data for there's about 1.1 billion Internet our PC based Internet users worldwide and three times that number of mobile phone users so if you you as a developer thinking about where new opportunities are going to be coming mobile is a very big space in a very big market that you can play in and one of the things that or one of the trends that we see is that as we move forward the trend for handsets is going to be more powerful more open and more ability for you all as developers to be able to build innovative applications on the plat on those handset devices one of the ways that Google along with its 34 other partners in the Open Handset Alliance are doing this is by developing Android the Open Handset Alliance consists of what we like to think of as five really broad categories of companies the first of course are the mobile operators those are the companies that you know do the hard work of building the networks and selling consumers the service they're the handset manufacturers these are the companies that build the handsets and the devices that get India to users hands there's also software companies so companies that build software that goes into these mobile devices there's semiconductor companies they build the chips and last but not least there's commercialization vendors and these are the companies that work with handset manufacturers and mobile operators to integrate software into hardware and bring that to market and of course Android is being developed as an alliance initiative by all of these companies and they're all contributing something towards bringing this bringing Android to market so some really quick background most of what I want to talk about today is really answering the question what is Android so to start I think I thought I'd run through a typical system stack diagram at the bottom you can see here we've got Linux there's a Linux kernel that we've we've taken the Linux kernel and really what we're using it as is a hardware abstraction layer provides us a driver model of memory management memory management process management and a security model as well as a networking stack that's well known that hardware companies can adapt or you know write drivers to and we can work with so that's at the at the low level and then everything up the next step above that are the libraries so we've got a variety of different libraries both open-source as well as written custom for Android they're mostly written in native code so C and C++ there you can see up there there are things like sequel light WebKit freetype SSL OpenGL and implementation of OpenGL ES these are all things that are open source that are well-known that we've integrated into the software stack that is Android in addition of those things you'll see a couple of other things that are that you may not be familiar with things like the surface manager SGL and these other things are those two in particular actually graphics libraries that we've written for Android in addition Lib C is up there I call it out because we've done a custom implementation of Lib C that is optimizing and made efficient for embedded use then next to this next to the next on the list are of course the is of course the Android runtime so there's dalek the virtual machine as well as the core libraries that we provide dalvik is going to be discussed in great detail by Dan Bornstein the tech lead in a session called inside the dalvik VM which is I believe happening tomorrow afternoon and then also the core libraries here the core library is approximate what you if you're a Java developer which you might most of what you might find in Java to se so next in the stack is the application framework this is what you as an application developer will be interacting with most there's a series of system services as well as system managers that manage of provide a variety of different services things like installation of the packages telephony manager managing of resources thing a service to tell you that you can query to find out the location of the device these sorts of things and of course last and most important are the applications themselves so these are the apps that you see up there are things like home contacts phone browser these are all apps that are built into the platform they use the same api's that are available to you as developers there's no hidden tor secret or privileged api's that that they have access to that you don't but they are included with the platform for a handset manufacturers and operators to take advantage of however if someone if you as a developer or if someone else wanted to take those applications and replace them that's certainly possible as well so that's a quick run-through of what the stack looks like the next thing I want to talk about is really the application building blocks so things that you're going to be using to put together an application and the sort of capabilities that you'll be able to build in as you can see up there there are really four main components there's activities intent receivers services and content providers and I'll get into a bit more detail about each of these things in my follow-up talk where we'll talk much more about developing Android applications today really what I want to do is talk about layout a lot of the big ideas the activities are really correspond to screens they're a UI component them as a screen that you might develop intent receivers are ways to respond to outside notifications from within the system and then their services services as you would expect on other operating system as on other operating systems is a faceless task that you can use to do work in the background and then there's content providers this is a concept that I think is unique to Android it's a way for applications to share their data and a canonical example of this is really the address book the address book that's built into Android implements a content provider and enables you as application developers to go and query that contact book you know pull in the data if that's what you want you could read write update through these sorts of things so that's a construct that you can use to share the data that your application might even be accumulating so that's a so that's a bit about you know application or application building blocks what I want to get into a bit or show you really quickly is the developer tool chain after all you as developers will be building applications do you know what can and will you be working with day to day so the first is the emulator if you've downloaded the SDK you've seen this it's a QEMU based arm emulator that runs the same system image as a device so there's no surprises when you move from developing on your computer to actually putting something on a device so it's the same exact code the same exact runtime it also you can also use the same tool chain so if you've got you can do debugging within the emulator you can also do that same debugging when devices are available from that same tool chain so it's it works seamlessly it's transparent and hopefully to make your life as developers easier there's also an eclipse plugin we picked Eclipse to build a plugin for largely because the team likes Eclipse and really what I want to emphasize here is that because Android applications are written using the Java programming language you can use any of the standard Java IDs you can I know that there's open source work being done on an android plug-in for NetBeans as well as IntelliJ so there's a there's a plugin for Eclipse this automates a lot of the manual work you might have to do either running an ant script or or you know doing running the command line tools to do the installation of applications there's really no magic with the Eclipse plugin other than that it ties together all the command line tools that we provide into a nice sort of tiny package that can make things much easier and much smoother for you to develop just a quick picture of what it looks like the debug looks like debugging of any other sort of application that's written in Java you can examine your local variables you've got breakpoints you can single step through lines point in showing this is really I want you to I want you to understand or know that debugging an Android application is just like debugging any other application so we talked a lot about open and we talked a lot about you know it's called the Open Handset Alliance it's not the closed handset alliance so the the big question that I really want to answer or talk about today in this session is really what is open mean and what are we being for you as developers when we talk about Android being open well Android is really opened on three axes if you think about it because in mobile there's really I think three groups of actors that that are important the first is the mobile industry you know when I say industry I'm talking about handset manufacturers operators commercialization vendors anyone who's really involved in bringing a device to market and when we say that Android is open for the mobile industry it means a couple things first and we've talked a lot about this the software stack will be open sourced under the Apache to license and that source will be available after the first hand side ship now some of what we're doing with Android is not we can't license it under Apache so things like our work in the Linux kernel our Eclipse plugin some of the other work that's GPL there or licensed under other licenses and we've released that code already but everything else in terms of the runtime the framework all the libraries that I showed in that system stack all those things will be open sourced half or will be available after the first handset ship in the second half of this year and the last point really to make is that once it's open sourced anyone can take that code and build a system image so the next factor in this triangle that I've got up here that's important are the users and when we say Android is open for users it's a couple things and this impacts you as developers as well the biggest thing is really that users have the end users have full control of their experience and what that means is they control what gets installed and they control the defaults after those applications have installed so if you want to use a different mail client or if you want to install a different browser you don't as an end user you don't have to ask permission to do this you can go ahead and if you can get that application download it have it installed on your phone so and what that means for you as developers is it's a it's a great there's less friction between you and your end-users and last but not least of course the important thing the important third part of this triangle is of course developers and when we say Android is open for developers it's a couple of important things the first and foremost is that for developers use developers don't need to get permission to ship an application there is no application certification for Android there and there's also like I mentioned earlier no hidden or privileged api's so there's no additional level of access or things that you have to do to get your device or your application out into the market and to be able to take full advantage of the Android platform and also so that's at a you know at a kind of a business level in terms of well you know how do you get your apps out how do you interact with with your end-users and and provide your product to them the other thing that the other way that Android is open to use developers is at a technical level and the way that we like to sum this up is really there's three key things that you can do that in three key ways that androids open to you as a developer and that's that you can integrate extend and replace existing components in the Android stack and I'll get into what that means here yeah in the next couple slides so the first is integrate what we mean by integrate is really there are components on the system things like let's say webview or map view which which Steve mentioned it when he was demoing things in the keynote and there's also other applications things like browser maps on the platform and so if you write an application let's say in my example you know I've written a browser and we can see up there I search for 1,600 amphitheatre Parkway which is the the address for the Googleplex down in Mountain View and when I clicked on that link in the one box which is what Google search returns when we know you're looking for an address it's a link directly to maps and what the browser or what the system is showing right now is for me as an end user I get the opportunity to select an active an activity to open that particular link is it do I continue to open in the browser or do I use the Maps application for you as developers what this really means is that when there are so if I pick Maps of course Maps as an application opens up as opposed to in the browser what this means for you as application developers is that if there are things like so you write a mail client and you want to know where to direct hyperlinks when a user clicks on them you can integrate with the browser that's built in and so you can launch those URLs in that browser or like we showed up in the example you can open maps and show them a location so that's really a quick example of how you can integrate with a an existing component or application on the device the next concept that I wanted to introduce here was extend so extend is pretty simple you see you've seen the Maps application up there the other thing that you can do as a developer is take the map view and customize it so you can put your own custom logic you can and the app that I have up here is call a cab it's one of the from the Android developer challenge 50 they I think the app is meant to make it easy to call a cab and so they've put up a bunch of UI widgets to make it - for their application and they're basing that on one of the components that we provide in the in the platform called map view there's other components you can do this with and so you can do this with your own applications as well so that's integrate and extend the third concept that ayah that I mentioned earlier was replaced so replaces um is I think also straightforward but something that I think is is might be new to you in the mobile space and that's really let's say I'm I've got the address book here and it's it's the standard contact book that comes in the Android platform you know I'm showing my contacts but if I didn't like that or if you as a developer I thought you know what this is kind of boring we can do a lot better with this you could write your own at your own address book users could download it they could install it they could choose that to be their default and like a team did here from also from the developer challenge this app is called phonebook - OH when Android devices are on the market they'll be able to make that available and if you dig this whole concept that they've got going with integrating presence and a bunch of other things you could install that as well so let's replace that's really if you you can replace components you can and supersede them on the device if that's what you want to provide the other thing that's important about this is that if a new bit of functionality or new application gets installed that provides an existing service that's relied upon by other applications the system will instead redirect those requests to your app that new application as opposed to continuing to go to the old contact book so let's say for example I was in the browser and I clicked on a phone number and I wanted to add it to my contacts instead of going into the old address book it would end up of course in the new address the phonebook 200 which I had just installed so that's a bit about how Android is open now the the next thing I you know you've heard about how it's open the next question that you might ask is well what about security you know the phone is open people can install stuff how do you keep bad things from happening well it's a couple of things in the runtime environment for you as developers every application is sandboxed and it's sandbox starting at the process level there's process level separation for every application every application also gets its own user ID in the on the system so that if your application writes out files those files are private only to your particular application nothing else can get to them in addition the in addition every application process gets its own instance of the dalvik VM so your if you if something goes awry you're not about to crash out other applications there's the GSM ticking ticking sound let me take my phone out of in addition to that there's also application permissions so if you as a developer want to do things that might be that the devote the end-user should know about say things like make a phone call access the the phone book or any other sort of permission that in application defines your application has to declare that in the manifest so when you package up your application you'll say this application wants to be able to make phone calls so and the way that we surface these sorts of permissions to the end-user is that at install time we'll show them a screen that says you know this application wants to be able to make phone calls and also send SMS is and access your phone book and you as an end-user might think hah that's kind of funny for an application that's supposed to help me find restaurants so you might say no but the general philosophy really is as opposed to having to get permission every time we show that at install time so that for use it as a developer end users can interact spend more time interacting with your with your application so we've talked through you know kind of big concepts or some of the big ideas around Android here what does this really mean for you as an end developer as a developer it's a couple things like I mentioned earlier applications are written in the Java programming language they get converted at compile time to dalvik bytecode that dalvik bytecode then gets packaged up into something called an apk and that's how it's there's a single file that gets distributed for installation also for you as developers though you have access to a rich set of API s like I mentioned earlier the core libraries is most of what you would expect from j2se in addition as I've mentioned there's are other sorts of rich components and functionality things like map view web view both of which you can embed in your own applications customize and extend as I've shown and you can also of course convert third-party libraries and also package them up and install them provide them with your own application there's also capabilities things like OpenGL also a 2d rasterization library as well and then the last thing that I'll briefly touch on now but Dan Morrill really will really get into in a session about inside the android framework is that application lifecycle is managed by the system and what this really means is that in order to have applications that can work seamlessly and also provide a great end-user experience we need you as developers to cooperate with the system and we do that by managing the lifecycle for your applications the end user never has to you know think about starting and then quitting an application to manage the memory on their device Android can manage that manages that for them but we need your help as application developers to implement the various lifecycle callbacks so that so that we can your application will cooperate within the ecosystem so the next thing the last thing I really wanted to cover here was talking about latest news so it's a quick timeline in terms of where we are back in November Android was announced as well as the Open Handset Alliance we released a early look of the first early look at our SDK in the middle of November we've updated that sense in in December and then in January for those of you who may not have heard about it we started accepting submissions for the Android developer challenge part one and this is a overall it's a 10 million dollar purse but for an part one it's 5 million dollars we also released an updated SDK in in mid-february we got we were overwhelmed by the number of submissions that we got for the challenge almost eighteen hundred submissions and in mid-may we announced the the top 50 of those applications that that that were judged by over a hundred judges worldwide very few of most of which came from our Open Handset Alliance partners and a bit more about the challenge you know the goal really is to help you as developers turn your great ideas into great code both challenge one and challenge too because I mentioned part one there's also a part to have each have a five million dollar purse it's too late now for challenge part 1 but challenge 2 will will begin sometime after devices are available in the market so if you're you as a developer are thinking you know how can I make it worth it for me to do something aside from the great opportunity building on an open platform the challenge is really there to help provide some incentive so with that I know that we're pushing me to end a little early I'm going to jump into Q&A so we've got mics up front there and there if you want to come up please use the mic and we'll be happy to take your questions so my question concerns the some of the security features especially when it comes to data sharing and stuff like that so what if somebody wants to build some sort of an application that essentially is similar to it's analogous to a JVM sort of a thing you know so that I can abstract out the Android code to actual developers say for example I have a mashup i serialize it to some language and then I say okay and I have a container inside which this application will run and that container will interface with the Android code see you see what I'm saying right so what sort of an implication do you see of this to such applications which are essentially sort of platforms that have built on top of the Android OS not just as a mobile device um I think that I think is certainly possible you know obviously Android it's an open platform so if that's something that you wanted to do it could happen I haven't really thought you know deeply about that particular issue there is a a large security team that's working on Android to help make sure that the platform is secure for the you know for end users as well as developers so you know I'd really have to take it to them and see if they thought about it so not an area of my expertise but I do know also that speaking of you know VMs and other languages that there are languages that are working to port their bytecode to the dalvik VM so that's also another approach that people have taken traditionally carriers or operators take a phone and then they rip out stuff customize it break things since this is an open platform what kind of steps are you guys taking to prevent likes a singular taking it who's not an open Alliance member right making it for themselves so it's like you know sort of like Android but it's not not compatible well the there's a couple things right first is you know it's available under the impact that will be available under the Apache 2 license so in your example if that's what they wanted to do they could certainly do it we would hope that they wouldn't part of what we think will keep a lot of companies from doing it is largely you know this is going to be a complete stack of software why would you you know expend the effort the economic effort to take that and break it in ways where you couldn't take advantage of things like all the applications that you as developers will be building so we think that there's a lot of value in providing a full stack and also a lot of value in providing having a lot of applications that will be available for that platform so that you know there's really no incentive to alter it in ways that couldn't be wouldn't be compatible that being said you know the platform is open we also think that you know manufacturers and operators should be able to customize in ways where they can differentiate but also maintain compatibility so just because it's open doesn't mean that they're going to have to all have the same home screen or I'll have the same you know look and feel but they will all be compatible in terms of being able if if they are compatible they should be able to run the applications that was essentially my question okay take one form over here so I got two really quick questions first one you said that you could replace an existing applications would it be possible to completely replace like the browser view and the map view that mean it would completely replace it or would it mean that the existing one the map view in the browser will view would be there but the user selects which one to use so there's a there's a couple okay so there's a distinction to make so there's the views that are provided in the framework and those are our framework you know features so those are api's those you couldn't necessarily replace but you could replace or provide an alternative to the map application or the browser application so if you wanted to take the map view or the web view take that and build your own chrome around it to make a different browser that has a great UI that you think would work well on mobile that's certainly something you could do as a developer okay the second question is I was trying out the what would the I mean a couple of couple of weeks ago I downloaded the emulator and I tried it out the iPhone to do for example talks about the fact that they're going to canvas at the first release of Safari browser and there they're gonna have SVG at the next release is the Android browser also going to be able to support canvas and SVG or that's a good question I don't know about the specifics we are taking the same drops from the WebKit open source project right but you know but they are customizing it for the iPhone so that's that's my question well that's a good question I don't know specifically but I can find out all right thank you hi Jason um it was just curious if you could talk a bit why why Google and the Open Handset Alliance chose this way of developing instead of building upon Java and me or existing platforms you know I think what we wanted to do was provide an open and powerful platform and a modern platform for developers and really it was about you know at least from from Google's perspective Google look you know like like Vicky mentioned in the keynote you know Google looked at at the mobile landscape from a perspective of an ISV or someone who as a developer and said wow you know this is really hard wouldn't it be great if there was a platform that was open that everyone could use and that we could provide that we could build on so that was really I you know I think that was really the motivating factor as for you know specific the technical decisions that would be something that I think the engineering team could really answer so it's a bit curious because Java and me is by definition an open platform with the jsr process and it just seems a bit odd to change the way people develop I think that uh you know i I'd well so the questions they're very similar ways of developing with Android and Java and me that's true I think that you know both use the Java programming language I think really what at the way Android is different is that it's a full stack of software everything that you need from kind of you know media codecs you know implementations of 2d and 3d it's the kind of everything from the kernel up and I think that's what we wanted to provide so that you could have more of a consistent environment for your applications from device to device fair enough Thanks hi my question is related to actually hard work some devices will be available in July however you're capable well if we have the kernel right so you can modify the kernel add your drivers get your own hardware to work with the kernel when you have a curtal created then you can act basically extract the image from the emulator and load the file system and then you have your phone my question is is like is it part of the open Alliance and or open agreement here too to be able to do stuff like that so you can customize your own hardware and make your own phone so like people besides the people on the open hardware Alliance can make their own phones or is something that is close to the members of the open hardware lines so it's the Open Handset Alliance sensitive and if I like if I was parsing your question correctly the question was you know will people be able to build their own phones yeah basically like is it open absolutely to any other like small business manufacturers to make making their customized version of Android and put your own applications put their own stuff and commercialize it's like an open open device right well when you know after the first devices are available on the market in the second half of this year the all of the code for Android will be available under the Apache 2 license and that you can take as anyone could take and build as a system image install it on hardware customize it to what you need and if you know if you want to build handsets it's possible to do so so it's not restrictive okay so haven't haven't done it in the mind like basically its own restriction to have any sort of particular profile that kept seen oh the hands are pretty much touched base they have like a very large screen can we make like is there in a provision front front front or from Google to actually define a some sort of profiler or requirements for let's say a keypad phone like flip phone with very maybe like a slow data pipe so it's not Google but the Open Handset Alliance all the companies in the Alliance are working together to define profiles for pen sets and those will be something that you as developers can also use to you know kind of figure out okay well what type of device is this application running on Sarah thank you you mentioned about the applications that a user can just download it and then they'll get asked the questions on whether they want certain information to be sent to the application but how are they going to get the application are they going to be able to download it from a website or from the phone itself or for free just how is it going to reach everyone because there's a lot of cool ones that were announced through the top 50 and right how would they learn about it okay so I think your question is really about kind of distribution of applications which you know Google knows and and the Open Handset Alliance knows is a challenge in the mobile space now I think if you as a developer wanted to distribute your own applications on a website you could do that all the user has to do is really click on that particular APK you have to you know send it to the phone and that's it installs so so they have to go to that website they can go to that website beyond that I think you know there are I think I've heard of other companies that are thinking about well you know how can we help do distribution and provide portals for Android applications and beyond that I think you know also we know that distribution and monetization of applications is really hard for in the mobile space so I don't have anything I can really get into now but it's something that we're working on and hope to be able to talk about later hi Jason hi is there any focus or effort on internal internalization features for the Android platform or movement and breaking down the language barrier there is for let's say spanish-speaking users um so when you say internationalization you mean making it easier for so not only the platform but also the information available so you're talking about things like translating the documents into Spanish these problems yeah translating the information available and development wise well at the moment unfortunately it's only in English that's something we know we realize has to change right now we haven't expended the effort to start to do the translation into other languages largely because things are changing under our feet in terms of the code being written things being changed but you can expect that out kind of once things settle down translation of materials and those sorts of things are something that we'll focus on if I wanted to help out or accelerate the process is there any suggestion you have on the best way to proceed the process of well not only translating information but getting everything available to everyone in the world I guess well I would say that it's available to everyone in the world because it's on the web I think really you know I think it's great that you can help out if you're can do something in another language and there's another you know Spanish language Android forum um you could answer questions in there if you speak you know know things it's really kind of gated from a product perspective because we are trying to bring the devices in the platform to market and once that settles down that's when we can really kind of dig into start things like translation and other stuff cool thanks seems like the the Android platform does offers a lot of good ways to take advantage of the data channel in pulling information into applications and pushing information back out but the vast majority of the way that cell phones are used is the voice Channel and I'm curious what ways the voice channel is used by Android beyond simply initiating phone calls I think there are so you can your application could get notifications about you know we're in a phone call or you know phone call has come in from this particular number so those are things that you can so those are ways you can work with the voice Channel if you're looking to do things like implement an application that will make you sound like Darth Vader when you're talking on the phone sadly that's not going to be something that you can do probably in the OneNote product but it is something that we've heard a lot from developers in terms of being able to do more with the phone and the phone like you say the voice Channel so the team is thinking about that those sorts of particular features and you know hopefully we'll see them in the future yeah I was wondering what media codecs are you expecting to support out of the box and how you would actually get an additional media codec on the phone or is that going to be hardware related like in h.264 so it would depend on the phone or kind of what's the strategy there sure thing so for media codecs the media codecs are actually being provided by packet video packet video is providing their codecs to be open sourced along with the rest of the platform right now as far as particular codecs list has been finalized but things that you would expect like mp3 AAC h.264 mpeg-4 these sorts of things are look like they're going to be in the strategy I think right now for getting other codecs on the onto the device is I don't think it's something that we've we've thought through largely because you know it's a sea library because you really want do this stuff efficiently so it's something that hasn't been figured out yet okay thank you when do developers get hardware when do developers get hardware at the same time that everyone else had or devices are on the market well Steve presented us the nool nice-looking SDK this morning when do plan to rule is to publish that's a good question it's something that we haven't determined yet the build that Steve showed you know showed a bunch of new things the home screen a lot of that has dropped only very recently so it's pretty unstable and so I don't know it's a it's an engineering schedule question that I have to ask them okay and the second school a small question about the voice recognition error more informed always has a voice recognition API so it accepts commands over the forum and do plan to put their stuff into the forum to in standard it B also is the key so you're talking about the the voice recognition API is like you know the modern cars you can command something you can initiate the call from the forum it's not like that it's a good question I don't really know about that specific feature I think if it's available as an API we'll have to see kind of where the end-user applications end up in terms of taking advantage of that all right thank you with regards to your Java support do you follow a specific jsr model you have a roadmap to share and with respect to the support do you get it certified by sun so to be clear Android is not Java Java technology its applications are written using the Java programming language but it's compiled to the dalvik bytecode which is not a VM not a JVM it's a doll Vic VM so there's there's no certification from sanh it's not claiming to be Java technology so what about the dollar books how do they get access to the api's is it following the jsr model or which api's let's say media API is for exam so it not being Java it's not really following a particular jsr model if you look at the core libraries they're probably 98 percent of what you would see in j2 I see and then there are you know Android there android got something packages for things that are Android specific so it's using its really think about it as programming in using the java programming language and you know the other things that you might get from a java technology platform may or may not be there largely because it is different from that one more good question early how support for the flashlight plan a support for flashlight i not at the moment there's no there's nothing there's no support for flashlight hi is there any chance till the version of the sdk will be released for PPC max for PPC max um i don't think so i think we have the team is settled on on only doing the the intel builds some of it is a resource issue because there's an indian difference between PPC and intel and not only are we doing Mac but we're doing one X and we're doing Windows and we can only stretch ourselves so far in terms of different builds so if you have a PC Mac I apologize but unfortunately we won't be doing one okay thanks hi I'm just wondering and what thoughts have has Android put into the discovery applications ones they're downloaded to the device by the end-user and the reason I ask this is because existing applicator pad forms like j2me brew Symbian already allowing users to pick their applications download them the problem is once they're downloaded discovery becomes really difficult so the way I see it is without resolving that issue I feel like we're just reinventing the wheel and just basically adding to the fragmentation problem that mobile developers face today so your question your concern is about discovery once it's on the device so if you've seen the emulator you know the the emulate the SDKs that we put out and also the home screen that Steve demo today if you install an application if there's a all applications for you that shows all list all of your applications so if you're concerned about applications being buried in some submenu that's not likely to be the case so they'll be displayed in the home UI there is part of the home of the home UI that shows all applications and so if you go into that all applications you can find whatever there in that submenu of all applications yes yeah okay thanks hi my name is Stefano I have a short question on monetization and meaning about the advertisement integration so suppose I was going to develop a health application giving me the information about where I can get health services in San Francisco or other cities will there be a possibility what kind of type of integration with the advertising engine would be possible if there is there a possibility or how would it work so if you look through the SDK there's no right now there's no hooks into like an advertising engine but if someone wanted to build one that's certainly possible so if you wanted to hook into existing web services it's something you could probably do for your application okay so the only advertisement integration and location-based services the one that you have in Google Maps or would be part of Google Maps I'm sorry can you repeat the question well when I use Google Maps on the on the Internet then you can have an advertisement which is related to the location and I'm searching for is that the kind the only kind of kind of no I mean the platform is open so if you wanted to you know show ads in your own particular application you could build it that way if you know we're certainly not discriminating in terms of how you could monetize or with your application so if you wanted to you know every other screen to show an ad in your app something you could do but you know we certainly hope you would think about kind of end user experience so I think the thing to think or the thing to take away is really we're not discriminating in terms of what you can do with your application I will with a platoon submitted to Android will they have to be open source circuit levy close source as well no they can be whatever license you want so if you have a commercial application like you saw with pac-man that's going to be closed source they're not going to open source it so if you want if you want to provide been application and you want to sell it and don't want to give away the source certainly possibly are there any standards like aesthetic standard similar to what iPhone requires or is just open to anything so there are Android set of widgets so you could you if you use those widgets you'll have a similar look and feel that being said you can customize those widgets for color or text these sorts of things I believe also we are working with our UI designers to try to put out any interface guideline to help you get your you as a developer get your head wrapped around well what should the end-user experience be like and how can I develop towards that last question hi I'm harsh I'm wondering if you would envisions creating some kind of an eco environment for testing particularly these Android challenge 1 and challenge 2 applications now you evaluated this application could actually testing you know terms of stress testing and scalability and things in this so um I don't I don't know that we think in terms of an ecosystem I think that the team has developed some tools to do application testing there's hooks in the frameworks for doing things like instrumentation also I know that you know you can run things like j-unit but also there are tools that will I can do things like simulate input so you can just you know randomly push a bunch of buttons and see you know how does this application break or how does it behave so right okay cuz any app any device in any carrier kind of interoperability those kinds of things also be interesting Thanks all right so I'm going to wrap up here thank you for uh thank you for coming by and i'm viviane such a 4 by 9 p.m. on Monday after shot all night
Info
Channel: Google Developers
Views: 508,727
Rating: undefined out of 5
Keywords: Google, I/O, IO2008, Android, gcvio052008, plid6D9B701069B4F2F4
Id: x1ZZ-R3p_w8
Channel Id: undefined
Length: 52min 2sec (3122 seconds)
Published: Thu May 29 2008
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.