Is the Android OS morphing into a new form of embedded Linux?
Android is a Linux OS derivative perched to make inroads beyond its growing user base in smartphones and tablets. Some auto makers are considering the potential for Android-connected communications systems in their vehicles. The Android OS is already available as an all-in-one desktop computer powered by System on a Chip circuitry.
So how much potential is there for Android-powered gadgets to sprout in devices as the Internet of Things gathers steam? Some Android product developers have thrown down the gauntlet, at least philosophically, in a discussion of whether the Android OS can become the new embedded Linux.
A panel of developers at last year’s Android Builders Summit rejected that notion. Their reasoning: The litmus test is that Android must be used in classic embedded projects. Based on that qualification, Android fails, they concluded.
That logic seems to agree with the premise that Google custom-built Android as a mobile operating system that comes with its own ecosystem, separate from the classic Linux ecosystem.
“It is nice to think about Android being that one platform that is good for everything, but at the moment this seems unnecessary and unsuitable for Android,” Tuong Huy Nguyen, a principal research analyst at Gartner Research, told LinuxInsider.
Nevertheless, some Android application developers remain open to the idea that Android fits the task of embedded Linux functions, and they see potential for the Android OS to become an alternative to embedded Linux.
Shut the Door
The lack of support for an actual movement to build in an embedded nature for Android is significant. The Android Builders Summit is a technical summit for OEMs, their device manufacturers, integrators, custom builders, and the growing Android and Linux Kernel developer communities.
It would seem counterproductive for efforts to rise outside of this quasi steering committee for Android development. The Android platform is expanding into an increasing number of industry segments in addition to smartphones and tablets. The Summit as an organization of Android developers recognizes that a need exists for the ecosystem of builders to collaborate on a common solution for existing limitations and desired features across all of these device categories.
Not all Android app developers share the view of the Android Builders Summit regarding what it takes to be an embedded OS.
Embedded versions of Android can be a very workable classification, in the view of Ron Munitz, CTO of Nubo Software.
“Android is an embedded Linux distro simply because it has the Linux kernel. It has become more popular among all kinds of devices and already has the largest developer community and a huge ecosystem of apps,” Munitz told LinuxInsider.
Android not only is becoming the leading embedded Linux platform, but also is penetrating other categories, such as workstation OS, and even running on servers, he explained. In fact, Nubo is developing Android on a server.
A Matter of Interpretation
In a classic sense, qualifying as an embedded operating system entails meeting some rigid technical standards and the ability to serve multiple purposes. That has long been a forte of the Linux OS in embedded appliances.
In a broader sense, multiple definitions of “embedded operating systems” exist today, noted Matthias Eckermann, senior product manager for enterprise server at Suse. What may be seen as an embedded OS with Android on a consumer device might not be considered an embedded OS in the enterprise space.
“Embedded consumer devices would be Android on a television screen or Android as the user interface system for an automobile. These are some areas where embedded Android might have a place,” Eckermann told LinuxInsider.
Vendors and consumers like Android because they are looking for compatibility and accessibility across their devices. To be able to provide that, the OS would need to be flexible, noted Gartner’s Nguyen.
“When you look at single-purpose machines, consumers do not need that degree of flexibility with an ability to load applications,” he said.
It is that single-purpose ability that is so demanding for an embedded operating system in the enterprise. That is where the concept of embedded Android falls short.
“With single-purpose and single-use devices, the suitable OS tends to be in the opposite direction,” explained Nguyen. “Embedded Linux already provides that. It is very clean-cut and focused. At the moment, Android is not designed to do that. It has not been designed to do specific tasks on an embedded level.”
More Than One Embedded Type
There are many different types of embedded operating systems. There are also different needs and uses for each type of embedded platform.
“Many embedded OSes do not need to have apps, per se, and certainly do not need to have Android certification. So I think there will always be a need for a general purpose Linux embedded operating system,” Al Gillen, program vice president for system software at IDC, told LinuxInsider.
Think along the lines of robotics, machine control, vending machines and white box appliances, he suggested, where the ability to be Android certified/branded and capable of running generic Android apps would be of zero value.
“In applications such as those, the app portfolio will likely have a total count of one, and it will be highly specific to operating the device it is embedded within,” Gillen said. “If a given device intends to somehow compete in or function in the mobile device space, using an Android-compatible build becomes a lot more important and has tangible value, and may open up a portfolio of Android apps that have applicability to the device.”
A line should be drawn between the notion of true embedded Linux distros and adapting Android’s solitary distro for embedded consumer functions, said Suse’s Eckermann. He does not see Android going into enterprise areas involving integrated systems.
“With flexibility, Android is one stack and one purpose. That is not the case with a full-fledged embedded Linux used for multiple purposes,” said Eckermann.
In areas of consumer orientation, Android has options, he noted. These involve cars, televisions, tablets and phones. On the other hand, there are many Linux use cases in which Android would not be suitable for embedded use.
One example of Android not being up to speed is in the auto industry.
Android will not be everywhere in cars, said Eckermann. Why? The embedded systems in cars have much different requirements than Android can produce.
“From that perspective, we can say that most uses in cars beyond user interface will not be a good choice for Android. Even on the user interfaces, there are other embedded systems that will challenge the use of Android,” he explained.
Enterprise grade is something much different, noted Eckermann. Android is end-user ready, but as good as Android is, it lacks that enterprise-grade quality, he added.
Another drawback to developing Android as an embedded OS is its lack of timely upgrades. At best, there are just one or two upgrades per year.
That is a critical limitation for using embedded Android in the enterprise, Eckermann said.
“It is very constrained. It gets one image rolled out. Linux is component-oriented on the updates,” he pointed out. “With Android, the only updates you typically get are the ones for the apps you run on it.”
Google took Linux and made a special-use case from it. They did not make a Linux distro, which requires continual work.
There will always be real, honest-to-God nerd wannabe engineers who don’t understand that the essence of engineering is simplicity: one REMOVES everything possible when implementing a design.
Android was never meant to be an embedded general-purpose operating system; but rather a special-purpose, CONSUMER-ORIENTED operating system which Google can tweak once every year or so, and then basically just forget about. Sweet deal, huh?
A real operating system, Linux or no, is NOT a low-maintenance operation.
The answer: NO; HELL NO! Embedded Linux is in no danger of being replaced by Android, no matter how hard the wannabe engineers work at embedding Android devices into projects they won’t be able to maintain.
Go get yourself a Raspberry Pi. It’ only $35, and you just MIGHT learn some real Linux.
Here’s another way of looking at this situation:
Android already IS an embedded Linux application, VERY tailored to perform a specific set of tasks.
Do you want the grief of FORCING an "already-designed-for-one-application" embedded application, to fit YOUR SPECIFIC, different embedded application?