Embedded Application Development With Android
Before embarking on a new product development with an embedded processor, it’s typical to review the available operating systems to determine the best candidate for the application. Here we will discuss why you may consider Android, and review where the OS is today.
A compelling reason is that Android is so widely deployed already. According to Oracle, there are over 500 million phone activations of Android based units, and growing at a rate of 1.3 million activations per day, including 70k tablets per day. With the number of new products recently announced at CES’2013, this is expected to accelerate. As a developer, this means that there is a stable code base that has been deployed over a vast platform so there is no worry that the underlying system for the product may disappear. Also, for consumer based products the Android name is well know and has a solid reputation.
As to the suite itself, Android is Linux based. In general it is a software stack primarily used for mobile devices that includes the OS, middle-ware and key applications modules. It is Open Sourced and most versions are released under the Apache license. Google leads development through the Android open source project. This competes with the proprietary, or closed source, code bases from Windows and Apple.
The Android system architecture can be viewed as a four layer structure:
Linux kernel at the bottom
Libraries and Android run-time libraries
Applications at the top level
In addition to existing product deployment, there are a number of other reasons why developers should consider Android. In the new “internet-of-things” product development, many companies are working with smaller, more focused development teams. With Android, there is little to zero low level development required, so it’s possible to just concentrate on the application and end product, and not invest in additional resources for the underlying code.
Also, it is a ready to use infrastructure that can be targeted to a choice of different embedded processors and systems. It’s also very easy to change the hardware platform, even after all the code has been developed. For example, a designer can port the applications from one tablet hardware or phone to another, or to an entirely different embedded development system.
As an open source framework, there is an availability of development and application resources for coders and architects to draw upon. This is very different from just a few years ago when it was necessary to have a dedicated specialist on hand that understood all the nuances and complexities of the operating system and framework. Today, there are may forums and free assistance from other developers. For more information, please visit the Android Open Source Project .
There is also a readily available and talented pool of application developers, in case the forums are not sufficient.
Code releases are about every 6 months, to keep pace with new hardware and embedded processor platforms. Depending on your application, this can be quite beneficial as new features are continuously being added and updated, and there is an increase in the number of devices being supported. However, some developers prefer to have a longer term code base to work with. For embedded developers which require stability in software releases and longer term support, it may be useful to work with third party partners such as Digi International
A company such as Digi can be crucial for a developer to bring a product to market quickly and in a cost efficient manner. They can provide a feature rich hardware platform along with a stable code base so that the software team can start on application development while the hardware team is creating a custom system. This is in contrast to what was typically the development cycle of initial embedded software, then hardware development, the low level software drivers and finally a system level firmware / hardware development process in tandem.
Using a fully functional development system, with a modular software architecture can easily reduce the development time by 6 to 9 months. This not only saves on the cost of engineer time, but more importantly can get a product to market much quicker.
It’s also important to point out that Android is being used in more than just phones and tablets. In almost any media rich or user interface type system, it’s likely there is an Android version. Android has been deployed recently in products such as LG Refrigerators, Washers and Dryers; Home Automation Systems; Home Media Players; Video Game Consoles; Pet Trackers, Children Trackers and Asset Tracker units;
When selecting the Operating System, it’s about the overall ecosystem surrounding the code, as well as how well the code frame work itself behaves.
If you found this article interesting and informative, please be sure to sign up for our weekly e-newsletter as well as daily email / RSS Feeds at SourceTech411 .