0% found this document useful (0 votes)
159 views8 pages

Android Compatibility and Development Insights

The document contains a question and answer session about the Android operating system. Key points discussed include: - Android will provide a compatibility test suite to ensure APIs work across devices and apps are not broken or disabled. - Developers will be able to create apps that require certain APIs like location to encourage keeping those features open on devices. - Google has considered content distribution and there may be an Android app store in the future. - The user has control over granting permissions to apps on their device. - Future versions of Android may have tighter security policies and fewer things running as root by default. - Native code and Linux apps may run on Android devices depending on support from OEMs and carriers. - The

Uploaded by

madhuri_mary
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
159 views8 pages

Android Compatibility and Development Insights

The document contains a question and answer session about the Android operating system. Key points discussed include: - Android will provide a compatibility test suite to ensure APIs work across devices and apps are not broken or disabled. - Developers will be able to create apps that require certain APIs like location to encourage keeping those features open on devices. - Google has considered content distribution and there may be an Android app store in the future. - The user has control over granting permissions to apps on their device. - Future versions of Android may have tighter security policies and fewer things running as root by default. - Native code and Linux apps may run on Android devices depending on support from OEMs and carriers. - The

Uploaded by

madhuri_mary
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

Q. Should we jump in to Android? Whats the guarantee thats what I will see on a phone?

Will service providers turn off things? Were going to provide a compatibility test suite. A. Keep in mind it hasnt shipped yet, This is the most interesting time. Once its open source, it could be locked down they could create a derivative work. Were going to provide a piece of technology that tests the APIs. No time frame yet. The script will exercise the system. Its a compatibility test suite, to make sure nothing got disabled or broken by accident, and also ensure that apps will work across OEMs. Q. What if my app uses location api, and service provider shuts that off, can they? A. They can do that its not a perfect world. Rather than having us dictate what carriers and OEMs support, we let developers develop killer apps that will require it. We want to ensure all the application development that goes on for Android we want to give OEMs an incentive to keep things open. Its a positive, self fulfilling vision. Q. If Im a game developer and Im building piece of content and I want to sell it, how do I do that and realize revenue. We wouldnt have done our job if we didnt consider distribution. A. Content distribution weve thought of that. Itd be great if there were a place where people could go to safely download and pay for content. Q. What about copy protection? A. We wouldnt have done our job if we didnt consider distribution. [Note, at the opening session Google showed a new version of the Android home screen, which featured an icon for "Market". Presumably this is the as-yet-unannounced Android application store. -Ed] Q. (Question from Verizon). We use SMS interception for system signalling. Is there a mechanism for an app to respond and stop the signaling chain? Is there security around that so that one vendor cant hijack a message and respond to it? A. Theres a mechanism where an application can register to receive a message with a certain signature and prevent others from getting it. We have a system of permissions apps are able to declare, enforce, and require to perform certain operations. Things like dial the phone, get to contacts, etc.. But these arent things that are baked in the core of the system. An arbitrary app could declare custom permissions. As far as restricting another app, the model weve been going by the phone is not controlled by the application vendor, its controlled by the user. Whether or not the permissions are granted is up to the user that owns the phone. If you created a protocol that intercepts an SMS and another party wrote an app that intercepts the same SMS and the user wants to use that, the user could be free to stick that in.

Q. Can the user set a priority? A. Dont know, post your question to the developers community board. Q. (Question from Media Power Group). In a previous release, XMPP was turned into GTalk. Will a future version have XMPP? A. Goal is to have XMPP support after 1.0. [Later they said both GTalk and XMPP were post 1.0 features. -Ed] Q. Java is more than a language. Google implemented its own VM. Could we use the Sun JVM? Explain the reasoning behind having your own. We needed something with an Apache license. A. We can have a more efficient interpreter and less memory pressure (by having Dalvik). You have to consider the holistic system performance. We had no choice but to run multiple VMs and processes. Share read-only memory across processes was important. Dalvik does that. Also we needed something with an Apache license. At the time, nothing was available. Q. Does Android support the Bluetooth serial port profile? A. Yes. Q. Can an application be started on powerup? A. Yes. Q. Is Bionic (Googles version of libc) dynamic linked? A. Yes, all libs are dynamically linked. Q. Does Android have USB support? External keyboard, etc.? A. The hardware should support it but its not enabled in the software. Maybe in a point release. Q. (My question). Whats in the next version of the SDK? A. No major suprises. Were cleaning up APIs. Making sure things are named consistently, parameters all need to be there, etc. so theres some churn. Ensuring what goes out is something we can support until the end of time. For example protected members might go package private so we have the option of changing later. On the system side, were moving towards a tighter security policy. In M5 lots of things run as root, but in the next version almost nothing runs as root. We use the minimum privileges necessary. What we demoed at the keynote had more apps and a different user interface but the changes are minimal. Q. Will there be a central registry for intents? A. That shoulds like a perfect opportunity for a 3rd party developer. Intents use package naming conventions to prevent collisions, like com.google.something.

Q. Have any advice on general portability strategies; Android, Brew, etc.? A. Emphasize the commonality between platforms, common profile support, separation between main logic and front end interface. Eventually somebody will add J2ME APIs into the Android platform. But at the user interface level you will want to tie into platform-specific things (for the best user experience). Access to the web is standard across all platforms. Q. Can I deploy Linux apps on real handsets? With a modified Qemu? Expect the Android framework to run on top of other mobile Linux efforts. A. Qemu depends on OEM or carrier. Its possible that upgrades may have to be signed by carrier. As far as native code goes, we dont currently have a bunch of the standard Unix X type stuff in there. Command line stuff compiles and runs as is. Expect that once this is open sourced, people will bolt on an X server and traditional Unix/Linux into the framework. While Java is the primary development language for Android 1.0, the system has been designed to support multiple platforms including native. Also expect the Android framework to run on top of other mobile Linux efforts. Example: Web browser WebKit is C++ based, and theres Java chrome on top of that. For debugging I use gdb server to debug native code. JNI layer talks between C++ and Java. Q. (From wapreview.com). Is the magnifier widget shown in the opening session specific to the browser or can I use it in my apps? A. That one is specific to browser. Its implemented in the native part of browser. Q. Gears will eventually be supported on Android. Can we expect that in 1.0? A. Its under investigation. Cant guarantee on 1.0 but wed like to have it there. Q. Do you plan to support an extension mechanism like plug-ins? For example secure web site user certificate storage is not supported, and there is no mechanism to add it. A. We dont have the full plug-in support. Partial MPPI support were still working on it. Probably not finished by 1.0. Note we do have the HTTPS support now. Q. (From Tivo). Is there info on the UI toolkit, animation effects, composition, effects, and what is it based on? A. We have a couple different approaches to drawing. We have full support for OpenGL ES, and use hardware support if its there. For more conventional UI, apps use the View system documented in the SDK. This sits on top of a graphics layer, Canvas SGL. Q. Does Android compete with JavaFX Mobile? A. The world doesnt need another operating system. The world needs an open embedded

operating system, open source. (Andy:) I havent seen anything that encompasses as much as Android. Q. We do social apps. We have Javascript expertise but not Java. Is there an API running on localhost to fetch geo locations? A. Theres a browser and a web view. If you want to write local . If you use the embedded web view you can have Java binding. Javascript calls Java in embedding app. You get your own icon, your own storage, your own world in which to operate. Q. (From an Android software company). Will there be any Android developer events in India? A. That makes sense but Im not sure if any are planned right now. Q. If a small device manufufacturer wants to run Android, can they just download it and go? Once its open source, anyone can download and port Android without joining OHA. A. Once its open source, anyone can download and port Android without joining OHA. Android will be open source before the end of the year. Q. (From 7 networks mobile messaging software). Can you comment on power management features? How can developers extend battery life? A. At the kernel level, it goes into low power states even when running. Android supports wake locks. Does it at the platform level so apps dont have to request that from the kernel. Were trying to be smart about it. For example, a network event wakes up system, but may not even wake up the screen. There are two classes of timers - real time timers that can trigger even when device is asleep (like alarms), and free-running timers that only run when device is awake. Were also working on some visibility to the user, so they can tell what apps are contributing to the device being awake. Were hoping to set some good examples with core apps, and also provide a way for the end user to see whats keeping their device awake and be able to uninstall badly behaved apps. Similar to finding out whats using storage space or CPU time. Q. Were working on seamless mobility between cell and wifi calls. Can apps trigger WiFi scanning? Search for SSIDs? A. WiFi support, weve been adding. Theres the connection manager that can see SSIDs, associate, and it supports a number of authentication schemes. Q. Can a 3rd party application initiate a WiFi scan? A. Yes, if it has permission. Q. I want to use native phone dialer to make voip calls, can I do that? A. We already have hooks for that. System sends an intent, which can be intercepted. Q. Can I intercept incoming calls too? A. Not sure, there are security issues.

Q. A VoIP app wants to route audio to earpiece. Normally apps dont use earpiece. Possible? A. Post to forum or bug request. The system can do audio routing but I dont know if its been exposed to top level APIs. Q. Can apps get extra GPS data beyond latitude/longitude? A. Dont know if you can get access to the NEMA channel. With M5 we didnt have full integration but the new version will have more. Theres no reason not to expose it. Q. What is Androids business model? If we ever fail to delight users our core business will go away. A. Somebody could rip out the Google stuff and put in Yahoo stuff. Thats ok. Our job is to continue to create killer apps that people will want to use. Google search, GMail, maps, etc.. If we ever fail to delight users our core business will go away. Thats why we felt comfortable using the Apache license. While were showing demos with Google applications, but there is no requirement to use them. Q. (From a mobile linux startup). Im concerned about giving user complete control over permissions. Wont users just accept permission dialogs without thinking? A. Providing a useful security UI is something nobody has done well. We recognize that as a crucial component since we delegated the decisions to the user. Were working to come up with something better. The #1 goal is to come up with something that provides real security for the user. One way is to educate users, to call things out. Also we can provide info upstream about what are good and trusted applications that a community has validated as being ok. [I think this is a reference to the Google Android Market -Ed] There will be a circle of trust, communicating what other users are doing. One star vs. five star ratings. Q. On application signing, I cant find any tools? A. These will be provided. Before last SDK went out it wasnt implemented yet. Tools for signing will be built into the developer plug-in. Note: Applications will be self signed, no chain back to root certificate. [Signing is only used to make two sibling apps be able to share local data. -Ed] Q. How synchronous are we going to be able to get with Android? A. We have an http stack, and you can build whatever you want on top of that. Were not providing a general sync service. We have sockets. At some level, 1.0 doesnt have a general synchronization API, but there is nothing to prevent you from building an app that uses a server to talk to other instances of itself or other apps. Given limitations of network of course. For example GPRS is effectively NATd. Latency is on the order of 200-400ms for a GPRS network; UTMS is getting <100ms.

Q. (From Alex Myscat(?)). Will Android support data from router/WiFi? A. Yes. Its not fully enabled in 1.0 but you can even use bluetooth as an interface (ethernet over bluetooth). Ethernet over USB too, on Linux it works great, but some driver work is needed for Windows and OSX. For VoIP, all you need is an application. Q. Can you make telephone calls over bluetooth or WiFi? A. For VoIP, all you need is an application to do that, its just sockets. (Somebody please write that up) (laughs). [Can you say "skype"? -Ed] Q. If app is self signed, can I use GPS on a real carrier like Sprint? A. By default, there is no central certifcation authority, so you dont have to go thru Verisign. Permissions are not based on certificates, theyre based on what the user has chosen to give to that application. The only thing certs are used for if two apps are signed by the same key, then they presumably came from the same place. We use that to allow apps to work more closely, for example live in the same process. Apks from the same key can share a process and userid. Also we test it to allow you to upgrade an app because it must be from same source. We dont have to ask the permission questions again (unless the set requested has changed). Q. Can the carrier stop this? A. Its open source, so anybody can do what they want with it. Were trying to make this open not just source but user control. Were leading by example, showing its ok to do this stuff. Lets show all the dangers others are trying to avoid dont really exist. Signing is to protect the end user. I cant ship a v2.0 of your app and hijack your users. Trust the user is one of the 10 things Google takes to be true. Give the user enough info to make good informed decisions. Q. Any details on next round of the Android developers challenge? A. For part 2 we dont have a lot of details. It will be the other half of the $10 million, and will be after devices are on the market. Probably early next year. (heads nod) [This was the first time I heard a timeframe for the 2nd challenge. -Ed] a Fusion). Which tools will developers have to handle memory leaks, gc, profiling, etc.. A. We have a lot of hooks for debugging on the device. If youve seen the emulator, you can run your favorite IDE with that. Its connected over a socket transport, and can be turned into using USB transport. The tools worked on real hardware first, and then on the emulator. We make it just as easy if not easier to debug the device itself. We encourage development on a real device. [Then how come we can't get real devices? -Ed]

A long term goal is to put Android on set top boxes, car navigation system, sensors, etc..One developer mentioned traceview, a graphic profiling tool. We run a VM in each process. You target the debugger at a particular Java process, but you can get an overview at what other processors are doing. Another developer mentioned he uses GDB every day for native code debugging. One tool not in the SDK yet will give you a live dump of the views, and let you inspect the view hierarchy and the state of all the views. Q. (From Boston university). Will Android have UMA support? A. The platform cant depend on it but OEMs and carriers are working on it. UMA is based on SIP, handles the handoff from cell to WiFi. Q. Regarding OTA updates, what tools are available for the application developer to ensure the user has the right version of the platform? A. Compatability is very important. Its not done right now but its a crucial component. We have tools in place to track changes, version differences. Q. Can application developers deploy and patch their programs? A. Distribution is one of the most important needs to support 3rd party developers. Cant say more strongly how important it is but we have nothing to announce right now. Q. Can you have incoming commands from server? A. You can have active connection without a power drain, waiting on data. Android devices are designed to be always-on devices, always have an IP address. Q. Will GTalk and XMPP be supported in 1.0? A. Post 1.0. Q. How do we get Android on our platform? A. Easiest thing would be to wait until we open source it. Were not encouraging violation of the early view SDK. Q. Apple says iPhone will sell 10mil by the end of year (2008). What are the projections on Android? A. We cant predict the future. A lot of OEMs can build a lot of phones on that. We felt the industry needed a cross-OEM standard operating system. A long term goal is to put Android on set top boxes, car navigation system, sensors, etc.. There are 1.2 billion internet connected PCs, and 3.2 billion phones. Open source eliminates the barrier to entry. It reduces the cost of phones by 20%.

You might also like