Application development on Android today
Sponsored content [Wednesday 11 July 2012]
Android is the mainstream platform in the non-Apple camp but various versions of Android limit the possibilities of developers' transplantation of Android apps. Microprocessor heavyweight MIPS is committed to cooperation with Google and OEM companies to help develop a fee calculation mechanism for Google Play, more secure protection of digital copyrights, more open and diverse architecture options, and once-for-all code writing that results in convenience of cross-platform execution. MIPS is also committed to the high performance and low cost provided by the ecosystem of Android devices.
Platform transplantation as new thinking for ISVs
According to Amit Rohatgi, VP of Mobile Solutions, MIPS, Android is now able to support MIPS, Intel, and ARM processor architectures, and near 100% of the codes of apps can probably be transplanted. Dalvik Virtual Machine, which uses Android Core Library, has about 80-85% of Java transplantable and another 15-20% of Java need to be recompiled by Android Native Development Kit (NDK). Even Renderscript functions used by 0.1% of Java are also transplantable (but this is not the subject matter today). Based on functional needs, some contents can be executed on the Java Virtual Machine, while some are executed as native codes. Transplantation is the thinking for Java code development at present, and each procedure has its independent, exclusive virtual machine. Java codes converted into Dalvik Byte Code (dex) are free from hardware dependence and can be transplanted to MIPS, Intel, and ARM architectures completely.
Now MIPS, Intel, and ARM all use the standard gcc and bionic libc in the NDK for code compilation. C/C ++ Library can be used and acceleration is enabled by the Java Native Interface (JNI) or direct native execution. Google Play has established an automatic mechanism for architecture screening, so that smartphones and tablets of different architectures are able to have exactly correspondent apps downloaded.
Moreover, through the JNI, Android Java classes can use System.loadLibrary to call native classes for execution, while checkJNI provides debugging support. The strength of the JNI lies in its repeatable use of codes to enhance efficacy under certain circumstances, but complication of code writing is an issue and codes may have hardware dependence on specific architectures.
Another way to enhance efficacy is to have developers informed by NativeActivity in the Android framework, so that developers are able to know the execution cycle of return from last call. Developers can also perform the return from last call function when there are onCreate(), onStart(), etc. Services and contents other than radio still need to use JNI/native code.
Challenges facing Android platform development
Andy Rubin, Senior Vice President of Mobile, Google, hopes to establish a unified app ecosystem on the Android platform, but the challenges facing Android platform development are various versions of Android, i.e., 2.3, 3.0, and 4.0 and API unification is required; how fees should be calculated; and how SoC suppliers and OEM companies choose a specific version or choose between various versions while factoring copyright protection and an understanding of GPU. As newer Android APIs are increasingly mature for smartphone and tablet applications and have become transplantable, Google has noticed the issue of various versions of Android and started to work towards unification. Many workshops and training programs have been arranged for developers and OEM companies for them to achieve the greatest transplantability. The unification principle for Android enables developers' once-for-all code writing.
According to Rohatgi, Amazon App Store's revenue is 89% of that of iTunes App Store, while Google Play only makes 23% of iTunes App Store's revenue. Google Play has recently made some improvements such as blocking malware, providing apps to 130 countries, and announcing expansion of in-app purchasing. Developers can automatically update subscription and pay in lump sum. Last year there were only two direct carriers responsible for billing but there are 15 now.
Moreover, apps, books, music, and videos have been vertically integrated into Google Play, whose log-in page has been changed, too. On the other hand, cooperation between MIPS and an OEM partner has launched affordable but high quality Android devices. A MIPS architecture 7-inch tablet is priced at US$79 only. Rohatgi has bought this model for his two children.
More options provided by MIPS to SoC suppliers and OEM companies
Support from different MIPS, Intel, and ARM architectures enriches the choices for SoC suppliers, OEM companies, telecom carriers and consumers. The Android platform allows OEM companies to pursue differentiation such as UI customization; multi-touch panels with different definition options; and multiple CPU, GPU, and GPS cores. There is also a Compatibility Test Suite (CTS) to ensure a consistent user experience across a variety of Android devices. Each app has its exclusive UID to ensure independent maintenance authorization for each app and avoid affecting other apps. For data sharing, users must be clearly informed during app installation. Widevine's Digital Right Management (DRM) provides a unified solution to key content protection. Android provides a graphic acceleration API to developers to enrich user experience, as the software executed by CPU must be optimized in order to smoothly work with GPU.
According to an IDC survey of what would make Android tablets successful in July 2011, 62% of the respondents noted the user experience; 46% transplantability from smartphones to tablets; 45% unification of various Android versions; 39% pricing; 33% how many apps on Google Play; and 29% hardware specs. Android will continue its hardware architecture neutrality, API diversity, and a consistent user experience to help lower device costs and accelerate time-to-market
Rohatgi concluded that, after tablets and smartphones, Android is going to expand into the markets of set-top boxes (STBs) and smart TV. At present, the brand name companies embrace Android include Motorola, Samsung, LG, Acer, Asus, and Philips, while chipset suppliers are Nvidia, Qualcomm, TI, Ingenic and Rockchip. Many platform and OS versions as well as three CPU architectures (MIPS, Intel and ARM) also support Android. He encouraged developers to embrace differentiation and use Dalvik or NDK r8 for code transplantation.
MIPS' contribution to Android platform industry
MIPS' contribution to the Android platform industry, according to Rohatgi, is the availability of low-price Android devices with the best licensable microprocessors running Android OS to help everyone enjoy tablets and smartphones. The demand created by MIPS would be an incentive to developers to convert existing contents into new contents that can be widely accepted by the public. There are 1.8 million MIPS microprocessor-based tablets in the market and the number is rapidly increasing.
The microprocessors MIPS launched for Android include:
(1) The high-end ProAptiv, which is renamed from the firm's existing 1074K and 74K series. It is a fused triple-dispatch single-thread superscalar core and a core-speed floating point unit. With up to six cores can be used for multi-processing, ProAptiv achieves 4.4Coremark/Mhz 3.5DMIPS/MHz.
(2) The medium-level interAptiv, which is renamed from the existing 1004K, 34K, and 24K cores with multi-threading, EVA, and one to four cores on a chip. Benchmarks are 3.2CoreMark/MHz and around 1.7Dmips/MHz.
(3) The entry-level microAptiv, which is renamed from the M14K series with DSP and micro controller core design. It delivers 3.1Coremark/Mhz and1.57DMIPS/MHz.
In May 2012, Google announced NDK Release 8 to start to support MIPS ABI. With the complete support from Android 4.0, MIPS codes are directly submitted to Google for review and approval and then placed on Google Play. A total of 85% of apps can be executed on MIPS architecture devices, and workshops such as Gameloft, Rovio, Halfbrick, Opera, Marmalade, Xamarin and Unity now help transplant Android apps.
In 2009 MIPS first launched its quasi tablet running Android; in 2010 the company launched its set-top box also running Android.
In the second half of 2010, Google licensed Honetcomb (Android v3.0) to MIPS, which launched the world's first ever Android 4.0 ICS-based, MIPS architecture tablets in cooperation with a Chinese company in December 2011. The tablet runs at 1GHz and its retail price is only US$99. In 2012, Philips announced its 100% CTS-certified, MIPS architecture tablets in China. At present MIPS is a leader of digital home applications, and the company's share in the mobile device market is gradually increasing.
Amit Rohatgi, VP of Mobile Solutions, MIPS Technologies