{Android}+{Linux}={Device^n}


For a while now, I have been looking at the evolution and expansion of Android on the market and have been able to understand its increased adoption, dynamic and performance. So through this post, I really want to explain the platform a little bit and emphasize its potential in powering a multitude of various devices and machines we are and will be using.

According to research predictions, 115 Google Android phones will be on the market by the end of 2010, along with 50 non-phone Android devices. Regardless of these predictions being exact or not, truth is, Android is beginning to move beyond its beginnings in the smart phone form factor to a broad range of embedded devices that span multiple industries and segments. Product managers and chief technology executives are making the move to this hot platform and capitalizing on it to generate tangible revenue from the devices roll outs.
Now with such a growing popularity, we are to understand first what exactly is Android and why it is an attractive technology, with a great potential for devices other than phones.

Android is a software platform destined for the building of smart phones. It is open source based and therefore freely available and highly configurable. More precisely, it is a software platform for building connected devices. Android is an application framework running on top of a Linux kernel. We will look at the details of the layers of the framework, shortly. It is supplied as open source code, but does not bind the user with the constraints of the GPL " there is no requirement for developers to make public any code developed using Android.
Android History
As Android seems to be a hot topic of discussion at this time, it is hard to remember that it is quite new. It really started when Google acquired Android Inc. in 2005. They established the Open Handset Alliance and announced Android in 2007, with the first handset appearing the following year. The source code was released at that time.
Android has now reached version 2.1 and enjoys widespread support, as more devices " mainly handsets " have been announced. The latest, and certainly the most talked about, being Google's own Nexus One device.
Let's explore Android's Architecture
An Android system consists essentially of five software layers:
1- Linux;
2- Libraries;
3- Runtime;
4- Application Framework;
5- Applications
At the core of the Android Platform is Linux kernel version 2.6, responsible for device drivers, resource access, power management, and other OS duties. The supplied device drivers include Display, Camera, Keypad, WiFi, Flash Memory, Audio and IPC (interprocess communications). Although the core is Linux, the majority if not all, of the applications on an Android device such as the T-Mobile G1 (which I currently use) are developed in Java and run through the Dalvik VM.
Sitting at the next level, on top of the kernel, are a number of C/C++ libraries such as Open GL, WebKit, FreeType, Secure Socket Layer (SSL), the C runtime library (libc), SQLite, and Media. The system C library based on Berkeley Software Distribution (BSD) is tuned for embedded Linux-based devices. The media libraries are responsible for recording and playback of audio and video formats. The WebKit library is responsible for browser support, it is the same library that supports Google Chrome and Apple's Safari. The freetype library is responsible for font support. SQLite is a relational database that is available that is available on the device itself.
Most of the application framework accesses these core libraries through the Dalvik VM, the gateway to the Android Platform. Dalvik is optimized to run multiple instances of VMs. The Android Java API's main libraries include telephony, resources, locations, UIs, content providers (data), and package managers ( installation, security, and so on).
The fact that hitherto dedicated devices such as mobile phones can now count themselves among other venerable general-computing platforms is great news for programmers. This new trend makes mobile devices accessible through general purpose computing languages and therefore increases the range and market share for mobile applications. The Android platform embraces this idea of general-purpose computing for handheld devices. It is indeed a comprehensive platform that features a Linux-based operating system stack for managing devices, memory and processes.
Now on top of the advantageous technological structure, we will provide and examine five good points that make sense of the platform as being much more adopted in the market. These range from business to usability, not meant to reflect all Android drivers but certainly some compelling reasons for choosing embedded Android.

1. Licensing: Embedded system development using open-source technology requires that the developer/seller understands the licenses for embedded software components. Android is very attractive because all core packages are open sourced under the terms of the Apache 2.0 license, which allows the usage of the source code for both commercial and free open-source applications.

2. Source code: Android provides a comprehensive set of source code, specifically created by the Android team, that leverages existing open-source projects to provide a complete and cohesive software stack. There are currently more than 200 separate Git trees in the public Android repository. Not only is there source for the core packages, but many hardware-component vendors have decided to provide source code for specific drivers.

3. Release cadence: Android has a relatively frequent cadence for major releases. Its heritage in the mobile world mandates a much more rapid release cycle, with multiple releases per year being quite common now. While Android seems to be settling in on a biannual release cycle, this rate of innovation can clearly benefit the Android adopter.

4. Ecosystem support: While the ARM architecture was the focus of most early Android product efforts, virtually all major embedded silicon providers have created and actively maintain an Android base port. These hardware providers are helping speed your time-to-market and are opening up their architectures for you to take advantage.

5. Documentation and training: The time it takes for your engineering team to become proficient in Android is not free. Clear, concise, up-to-date documentation is critical to get your team enabled. The Android community offers a wide variety of instruction content, videos (some user-created, some from commercial vendors), extensive blogs, and independent companies providing Android academies, best practices, and tutorials.

I think Android is here to stay. It really has a place in this space. We are seeing so much potential in the platform as to penetrate and well serve diverse market niches such as consumer electronics. I believe we will be seeing Android in about any device that has can be connectivity-enabled with an IP network: televisions, set-top boxes, media phones, etc.
Picture for example your home internet router or access point would come with an Android OS on top of it. You would I then be able to access it via the browser, or an Android phone for that matter, and install specialized applications on it. Maybe novel utility apps such as a small SIP server, VPN, a micro web browser. It in fact makes so much sense, given the ability to tweak and customize, as a user, my devices simply by having an application store attached to them – with or without a dedicated monitor.

Android is a disruptive technology, which was introduced for mobile handsets, but has much wider potential. When Google kick-started Android™ as an open-source platform in 2007, it was designed to provide rich applications and functionality for mobile handsets. Now, thanks to Android’s well-defined software stack (which allows easy application development and portability across embedded devices), Android is penetrating other consumer markets. Android can bring an incredibly rich Internet experience to devices like DTVs, set-top boxes (STBs), Blu-ray players, and more with functionality and business models that were not previously possible.
It won't take too long to see Android being rolled out in different devices and that's the exciting part. Because there will be so much potentialities, feasibilities and uses. So let's explore the concept of Android beyond the mobile handset. Seeing Android as a device power fuel! How about that?

Android removes the barriers created by the fragmentation of Linux development and creates a single framework on top of Linux to allow applications to be written once and run on many devices. Android has the potential to bring a vast array of applications to consumer electronics devices that weren't previously possible. With it, companies no longer need to invest millions of dollars in feature and application development to compete with the world's largest OEMs.
Availability of a wide range of applications for a large number of platforms leads to broader industry adoption. This success is driving consumer electronics companies outside the mobile handset space to consider this model for device development. Until now, digital home devices such as DTVs, set-top boxes and Blu-ray players have primarily been closed systems with limited applications such as program guides, DVR, and service messages. Android will bring a full Internet experience to these devices, enabling compelling platforms for internet content such as digital pictures, video, music, news, weather, calendar, and traffic. Existing Android applications can be downloaded for a customized user experience, and as Android continues to develop for devices beyond handsets, developers will create a broad set of new applications.
Developers are also looking to Android to enable user interfaces in a number of other embedded platforms that require user interactivity and visual presentation, such as multi-function printers, kiosks, point of sales systems, and digital signage. Android provides a license- and royalty-free way to create simple user-intuitive interfaces for these types of devices. For example, multi-function printers, which have historically been peripherals to PCs, are becoming more intelligent, standalone devices where the PC is potentially not even needed. For example, people can connect their digital camera to a printer, then view, edit, upload to Facebook, and print their pictures without going through a cumbersome PC boot-up. Android can help drive this transition as it enables a rich, intelligent, and user-friendly experience.

Android makes development much faster, easier, and less expensive—leveling the competitive playing field. Since Android was originally targeted for mobile handsets, functionality doesn't necessarily migrate seamlessly to other consumer electronic devices. Much of the functionality must be extended to handle different feature sets and usage models. Take, for example, a set-top box, where Android must be enhanced to provide the ability to play content-protected HD video and multi-channel audio on a large, high-resolution flat-panel display. Enhancements are also necessary to take advantage of the hardware accelerators typically found in SoCs for these devices. Working groups of the Open Embedded Software Foundation (OESF), a consortium striving to bring Android beyond mobile devices, is undertaking the task of making Android viable for set-top boxes and other consumer electronics devices by developing standardized frameworks and defining interactions with existing middleware stacks.
The benefits of Android are clear. It eliminates concerns developers may have about "free software" with its full, rich platform for application development.

User login

newsletter

Syndicate

Syndicate content

Navigation

Search

Loading

Calendar

Stay Connected

Who's new

  • catalyst_one

Sponsored Links

Volutpat Consequat

Pharetra Sed Tempus

More…

Donec Lorem Interdum