|
|
Subscribe / Log in / New account

ABS: Android beyond the phone

By Jake Edge
April 20, 2011

The first Android Builders Summit (ABS) was held April 13-14 as part of the Linux Foundation's "two weeks of conferences" in San Francisco. ABS overlapped the last day of the Embedded Linux Conference (ELC), so many of the ELC attendees sat in on ABS talks, at least for the first day. On the second day, Marko Gargenta of Marakana gave a keynote that looked at uses of Android beyond its traditional consumer mobile phone (and now tablet) niche. He also outlined some of the reasons that device makers are turning to Android.

Advantages of Android

Gargenta is the author of Learning Android and has worked with various companies to help them with their Android plans. There are three main advantages that Android brings to the table which are important to device makers, he said. First that it is an open platform and it is relatively easy to get the source code and customize it. Second that it has "apps" and lots of developers are embracing the platform. And third that it is a "complete stack" that provides nearly all of the services that are required to create a product.

While Android is an open platform, as evidenced by Andy Rubin's famous tweet—though the tweet is missing two important steps (envsetup.sh and lunch) as Gargenta and audience members pointed out—it isn't much like other open source projects. There is no Git tree that contains "whatever was checked in the night before"; instead there are somewhat infrequent code drops. With Honeycomb (Android 3.0), even those have stopped, which is something that concerns some companies who are basing their products on Android. It may eventually cause them to reconsider using it.

Applications for Android are important, but it's not really the existing applications that are interesting, rather it is the "model for developing applications" that attracts the device makers. Many existing applications may run on a modified Android, but that is just a "bonus", he said. When you look at Android as a whole, it has all of the pieces from the hardware up, including the Linux kernel, libraries for many of the things the device vendors need to be able to do, Java, and the application development model, which is what makes it a complete stack. This stands in contrast to standard embedded Linux or Java ME, which aren't a complete stack.

Case studies

Gargenta then launched into several case studies of devices using Android. The projects were ones that he had worked on, though some were not public (or not public yet), so he didn't reveal the company behind them.

The first was a multi-function printer/scanner/copier device where the user interface would be built with Android. The application development framework was one of the most attractive parts of Android, not because they would be putting Market applications on the device, but because they could have independent developers work on the interface. There are lots of developers out there who can write to the Android APIs.

The complete stack approach of Android was also appealing because the system already has support for graphics, touchscreen interaction, and networking. There were some missing pieces, of course, including drivers and C libraries to talk to the proprietary printer/scanner hardware, Java interfaces for that hardware, and a new "home" application. Instead of the usual Android user interface, a custom application was written that didn't include things like an application drawer or status bar. In fact, users of the device may never know that they are using Android, he said.

Two different device types that Gargenta described had similar requirements and had many of the same reasons for going with Android. The first was a "public safety solution" for handling communications during catastrophes that was developed by a major OEM, while the other was a device for the US Department of Defense (DoD). In both cases, the availability of "off the shelf" hardware that runs Android was attractive. For the public safety application, it's important that multiple kinds of hardware can be used, as various different agencies need to be able to coordinate their efforts.

Once again, the application framework provided by Android is appealing because it allows multiple developers to work on various parts of the problem, more or less simultaneously. The large developer base is attractive as well. Both projects were concerned with stopping installation of "unapproved" applications, either from the Market, or by restricting which repositories the devices could access.

As might be guessed, the DoD project had further security concerns. It is important to ensure that the device is being used by an authorized person, so attaching a USB device as part of the authentication process is required. The existing Android code did not support application access to the USB ports, so that was added. In addition, device management was added so that devices could be tracked or remotely wiped, and so that password policies could be enforced.

Both projects had an interest in the priority of Android services. In general, radio communications should not be interrupted by text messages or a game, so the assumptions needed to be tweaked from those of a consumer device. Determining which services are critical can be difficult, Gargenta said. For example, "are media services that critical in a life or death situation?", he asked. They may or may not be, depending on the media in question.

The Cisco Cius was another example that Gargenta presented. It is meant to be an "iPad for business" that looks something like a desktop video phone, but the video screen part can be removed to become a mobile tablet device. The "open and portable" nature of Android was one of its selling points, but the company is rethinking Android because of the Honeycomb availability issue. The "open and portable" nature of Android was one of its selling points, but the company is rethinking Android because of the Honeycomb availability issue. Google is also not helping adoption in the enterprise market because it is not telling anyone what its plans are for things like device management and security, he said.

The Cius has its own Market where applications are much more carefully vetted and generally have higher quality. The Cius also adds multi-user support, which is not something that Android does, but is, of course, available in the underlying Linux kernel. The device also provides video conferencing and Voice over IP telephony support; the latter was added before Google released Gingerbread with SIP support, because there is no Android roadmap.

Android set-top boxes were another use that Gargenta described. Google TV is not available as an API, so it can't be used for television applications. Android is attractive for the usual reasons, but has some drawbacks as well. Appeasing content providers with DRM solutions is one area that needed to be addressed in the two projects he worked on. The Android user interface is also not usable for TVs, but it is relatively straightforward to create one, partly because Android was designed to support multiple devices.

The last case study from Gargenta's talk was for "networked cars". Visteon has created a prototype of a Android-based dashboard for cars. One of the more interesting characteristics of such a device is that it requires multi-screen support, which is not something that comes out of the box with Android. But it does make a good platform for doing user interface development quickly, he said.

He listed a number of other Android-based products that he knew of, including home security systems, scientific calculators, microwaves, and washing machines. One thing that Gargenta didn't mention was whether any of the changes being made by these device makers were being pushed back to Google for possible inclusion into Android. One gets the sense that, in keeping with the secrecy that often shrouds the embedded world, those changes may well be held back. It's also not clear if the custom Linux drivers for various hardware devices are being released in source form, as Gargenta didn't really address the kernel in his response to an audience question about licensing.

It certainly was interesting to hear where Android is being used, especially in devices that stray far from its roots. In many ways it is just an extension of the enormous penetration that Linux has made into the embedded world. Whether other "full stack" solutions, like MeeGo or WebOS, can make inroads into devices over the next few years will be interesting to watch.

The conference

While ABS definitely had some interesting talks, some of which I hope to write up in coming weeks, it was rather different than one might have expected. The first two keynotes were essentially extended advertisements for the speakers' companies (Motorola and Qualcomm), which is not at all the norm at technical conferences. In addition, it was rather surprising to see a complete lack of Google speakers—and sponsorship. Some noted that the Google I/O conference was scheduled a few weeks after ABS, but that doesn't seem like reason enough for that level of non-participation. If the LF plans to reprise the conference next year, fixing the keynotes and working with Google would likely result in an even better conference.


Index entries for this article
ConferenceAndroid Builders Summit/2011


to post comments

ABS: Android beyond the phone

Posted Apr 21, 2011 16:50 UTC (Thu) by iabervon (subscriber, #722) [Link] (3 responses)

I'm not sure it makes sense to have kernel drivers for the embedded hardware at all, let alone have them in the mainline kernel; these aren't drivers for a printer, they're drivers for a collections of motors, valves, and sensors arranged to be useful for printing. I think it would make most sense to have a userspace daemon that knows how to use the particular arrangement in this box to print things, and have the kernel consider it all a bunch of uninteresting GPIO. (Uninteresting in that it doesn't even reflect or affect kernel state, so it's less relevant to the kernel than a caps lock LED or a battery voltage indicator.) This would also be the key to allowing the kernel (and other userspace programs) to be replaced separately from the device-specific stuff. Sure, someone might be able to improve the quality of the printing by replacing this code, but it's orthogonal to improving the network stack or UI. It's important that I am able to change some code to be able to solve my problem; it's even more important that solving my problem doesn't require me to change all of the code that there is.

ABS: Android beyond the phone

Posted Apr 21, 2011 17:14 UTC (Thu) by wsa (guest, #52415) [Link] (2 responses)

It is not about "if it makes sense" (besides, I think it does). To the best of my knowledge, vendors will in most cases simply have to ship their changes to the kernel. The question to the speaker was if those vendors are aware of this and are prepared to have the necessary infrastructure. The fact, that the even he, being a consultant as far as I understood, did not (or did not want to?) understand the question gave a good picture of the current situation IMO.

Why should they ship anything

Posted Apr 22, 2011 0:21 UTC (Fri) by khim (subscriber, #9252) [Link] (1 responses)

Well, the literal reading of the GPL will of course mean that drivers should be shipped but when there are literally hundreds of millions of devices where drivers and binary-only blobs (I mean routers)... will any court really accept the theory that it was not the intention of developers in first place - what with EXPORT_SYMBOL_GPL and everything?

Why should they ship anything

Posted Apr 22, 2011 3:41 UTC (Fri) by mjg59 (subscriber, #23239) [Link]

The point of EXPORT_SYMBOL_GPL has always been to indicate that the authors feel that there's no possible way that you could use the functionality without being a derived work. But it's also always been explicit that this is not intended to mean that avoiding EXPORT_SYMBOL_GPL means that you're *not* a derived work. At that point you're just in a slightly greyer area.

ABS: Android beyond the phone

Posted Apr 21, 2011 17:02 UTC (Thu) by linuxjacques (subscriber, #45768) [Link]

I too thought it was strange / discouraging that there was no Google presence.

Behold the power of marketing

Posted Apr 26, 2011 2:37 UTC (Tue) by jmorris42 (guest, #2203) [Link] (1 responses)

Android is a 'full stack' while OpenWRT or OpenEmbedded isn't? What we are seeing is the power of marketing.

And a win for Android is not a win for 'Linux.' Above the kernel is an all alien stack that would run just as well on a closed kernel or the BSD one. I suspect this isn't lost on a lot of the OEMs who are falling over themselves to adopt Android.

Behold the power of marketing

Posted Apr 28, 2011 11:25 UTC (Thu) by Duncan (guest, #6647) [Link]

> Android is a 'full stack' while OpenWRT or OpenEmbedded isn't? What we are seeing is the power of marketing.

True, altho to the corps the enormous resources behind android suggest that much like MS Windows, it isn't going away anytime soon. Once someone's that big, even a fatal wound won't take them out immediately -- the zombie tends to continues moving for years, often decades, long enough for dependent companies to make other arrangements. (How long has it taken SCO to die? How long has Novell been headed down? Even the DOJ's actions didn't take out IBM or MS, tho neither one is the factor it once was, but not many companies can survive a patent onslaught from IBM.)

OpenWRT and friends... not so much, at least from the perspective of the corps. From the FLOSS perspective we know there's enough *WRT projects around that even if a couple die there's all sorts of alternatives, but that's not the view the corporate types see.

> And a win for Android is not a win for 'Linux.' Above the kernel is an all alien stack that would run just as well on a closed kernel or the BSD one.

While I agree with the sentiment, both the general consensus kernel community and the GNU/FSF folks (well, at least Stallman, one wonders if that meme would die out if he did...) would disagree, tho for different reasons.

To the GNU/FSF folks or at least Stallman, the system as a whole is GNU/Linux, with Linux being just the kernel. And while it might not exactly be a /win/ by his freedomware perspective terms, Android deployment of the kernel into millions of additional devices isn't something to laugh at, regardless of one's viewpoint on the rest of the stack.

As for the kernel community, Linus specifically but in general the consensus of the community as a whole, really doesn't care about userspace that much, both with the kerne's explicit userspace exception to the GPL, and in repeated confirmations over the years. Additionally, they explicitly don't even care if the kernel as deployed is user replaceable or not, see both the tivoization lockdown and GPLv3 debates. As long as the kernel sources are available under the GPLv2 to be hacked on for deployment to /other/ devices (which may or may not themselves be locked down), Linus and by consensus the community in general explicitly don't care if they can hack and replace the kernel binary as shipped on specific hardware, whether as hard/firm/soft-ware.

So from that viewpoint, Android is indeed quite a win for Linux, regardless of wehther an end user can do anything with the kernel firmware image in the device he actually has and regardless of what the userspace stack looks like, as arguably, only the kernel is "Linux", and Android seems to be quite a win indeed, for the kernel.

That said, regardless of whether it's a win for the Linux (kernel), from the perspective of a freedomware lover, Android is a rather mixed blessing, indeed.

(Since the Google/Oracle legal fight became public, I've thought, and previously posted here, that perhaps the best outcome might be that Android continues gaining market share as the legal issues wind their way thru the courts, so it's well established by the time the decision comes down, but that when it does, Google loses in its attempt to skirt both Java's GPL and commercial licenses and is forced to either call a halt to further deployments or go full GPL (in this scenario, Oracle refuses a commercial license on terms Google can live with). True, that won't /force/ a copy-lefting, but given a large enough share of the market, they'll go GPL rather than call a halt to their money printing machine. That in turn will force all the heretofore servantware folks on the platform into similar decisions, ideally with similar outcomes since it's a money-machine on a smaller scale for them too. But for that to work, Andorid must not be just comparable but have a huge lead over the nearest competitor, or the money machine simply won't be big enough to overcome the inertia. But imagine the fallout from an either-GPL-comply-or-stop-ship order if Android has, say 60% of the market by then!! Of course it's unlikely to turn out that ideally, in part because even if the Oracle/Google thing happened that way, some will certainly not be able to get the required releases from their upstreams no matter what they'd do if they could, but one can certainly dream. And if it did happen, the vacuum created by anyone unwilling or unable to go GPL and thus continue shipping would be quickly filled by others! Anyway, one can certainly dream, and if one's going to dream, might as well dream big! =:^)


Copyright © 2011, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds