The Linux Foundation recently relaunched our Android Internals course and we’re offering a Android training class in Silicon Valley in October. Early this year, we also launched a new Introduction to Embedded Android course and the reason we did is simple - the interest in utilizing Android is growing.
The recent BusinessWeek article, Behind the 'Internet of Things' Is Android—and It's Everywhere, gives a great window into ways that Android is being utilized and just how easy it is. In the article, The Linux Foundation’s Executive Director, Jim Zemlin, was asked to share his thoughts on the growth of Android,
“Every screen variant, mobile chip, and sensor known to man has been tuned to work with Android,” Zemlin says. “There’s this network effect, so that now anyone who wants to make a custom product can take Android and morph it into anything.”
With Linux at the core of Android, and as a provider of Android training courses, the Linux Foundation has had a front row seat to the growing interest in Android. We hear from, and provide training for, companies of all sizes, but also the biggest tech companies in the world. We can tell you that there are times when using Android just makes more sense. And yet, there are times when using embedded Linux is the better route. If you’re considering using Android, we encourage you to reach out and let the experts at The Linux Foundation talk with you about your project.
Before we outline some specific times it does make sense, let’s talk about why Android has become so attractive. In our Growth of Android in Embedded Systems publication, author Benjamin Zones deep dives into these and other concepts, but let’s discuss some highlights.
- Rich Application Framework. Android comes with a stable long-term API, provided through an excellent SDK, which brings a somewhat standardized ecosystem and framework to third-party partners, who are able to deal with every part of the system. Designing and building applications and packaging them once for multiple targets can allow companies to drastically save costs and efforts.
- Aggressive Time-to-Market. Grab the sources, adapt them to your particular piece of hardware and start selling it. That’s the idea anyway. While bringing your product to market could be faster than with traditional embedded Linux, we can tell you that it’s not quite as easy as it sounds. That said, with some guidance, decreasing your time-to-market is possible.
- Focusing on “What Really Matters.” By bringing the practical framework to the table, Android allows embedded developers to focus on areas that will add commercial value. Board bring-up can be time-consuming and one wants to avoid wasting more time on re-inventing yet another embedded distribution on top of it.
- Open Source. The Android development procedure is often referred to as “clopen” (i.e. closed-open), as the drop of the source depends on Google’s willingness to share and comes only after the new version has been announced and advertised. That said, Android remains 100% tunable and provides companies a feeling of safety regarding potential legal threats and licensing.
So, When Does Embedding Android Make Sense?
If your product design is based around an LCD screen with a touch-capable display and/or your intending to be apps-driven, you should seriously consider Android, even if the product is not a smart-phone. The existing ecosystem, along with the framework’s off-the-shelf capabilities, provides developers all the necessary tools at hand to build great products. Android brings a single framework that allows application developers to deal with every single part of the system.
When Can Embedded Linux Be The Better Choice?
For many, embedded Linux still remains the operating system of choice, especially in areas such as headless product design. While remaining possible, hacking Android to run on headless devices such as routers, probes and sensors, servers and network access points, is a painful path.
While the idea of apps might seem like a compelling reason to consider using Android, it’s not hard to understand that many devices will not get any value from an apps-ecosystem. For devices that are expected to perform very specific functions the way the developer wants them to, embedded Linux distributions built from the Yocto Project are a much better choice.
If you’ve been using embedded Linux, have a team with a strong level of expertise, and your code is mature and based on strong software bricks, it might make more sense to keep on this track, as Android would require a fresh start.
Whichever way you go, you’re going to run into pros and cons. While going with Android can sound appealing and can definitely be the right decision, it’s the kind of decision that should be made carefully. The Linux Foundation is happy to help if you need us.
For those interested in learning embedded Linux, we’re offering Embedded Linux Development (LF411) in Silicon Valley August 19 -24. Our instructors are also constantly on the move and provide corporate Linux training to teams of developers around the globe.