Home » Cloud client SW platforms » Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum

Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum

Prerequisites (June 2015⇒):

Welcome to technologies trend tracking for 2015⇒2019 !!! v0.7
5G: 2015⇒2019 5G Technologies for the New Era of Wireless Internet of the 2020’s and 2030’s
Networked Society—WTF ??? v0.5
Microsoft Cloud state-of-the-art v0.7
• Service/telco for Networked Society
• Cloud for Networked Society
• Chrome for Networked Society
• Windows for Networked Society

Opportunity for Microsoft and its Partners in FY17:

As progressed since FY15:

Or enter your email address to subscribe to this blog and receive notifications of new posts by email:

Join 93 other followers

2010 – the 1st grand year of:

3.5G...3.9G level mobile Internet
• system-on-a-chip (SoC) and
reflective display technologies

Why viewed most (till Feb 1):

Marvell SoC leadership
Android 2.3 & 3.0
Hanvon's strategy
Welcome! or Home pages
Treesaver (LATELY #2!) and
IMT-Advanced (4G)
MORE ON THE STATISTICS PAGE

Core information:

Ars technica had two articles in the last 3 days which have created quite an excitement on the web (66K+ hits):

  • This is, however, just “the tip of the iceberg”.
  • To understand that you could read first my two previous infonuggets on the subject if you want to grasp the extent of the current Android momentum:
    Beyond Android 2.1 [July 4]
    OPhone OS (OMS) 2.0 based on Android 2.1 [July 5]
  • The mobile Internet technology momentum behind the Android in general could be well understood from my another infonugget:
    3.9G TD-LTE rollout in 2012 with integrated 2G, 3G and 4G? [July 19]
  • In addition, Android has just joined the ranks of the 1st tier cloud client software platforms, as has been indicated recently by my another infonugget, titled:
    E-reading SaaS wars next to e-reader wars [June 30]
  • Finally, below is the whole discussion of Android 2.2 (Froyo) significance which will make the whole “iceberg” completely visible.

Ars reviews Android 2.2 on the Nexus One [July 6], giving the following conclusion about this latest release:

Android 2.2 is an incremental update, but the performance enhancements alone make it an important upgrade for Android enthusiasts. The improved responsiveness and smoother interface transitions really boost the user experience.

Several of the new features—particularly batch updating—offer immediate and obvious benefits. Other features, such as SD storage and cloud backup, aren’t going to start delivering real value until they get broader uptake among Android application developers. I’m particularly enthusiastic about the cloud messaging service—it seems like a capability that will deeply enrich Android and open the door for some innovation in the application development community.

Google’s aggressive development efforts are moving Android forward at a rapid pace. The platform has matured considerably since its initial launch two years ago. The introduction of a JIT [just-in-time compilation] in version 2.2 has largely resolved Android’s performance problems, making it more competitive than ever. As Google works towards version 3.0 and a rumored user interface overhaul, it’s likely that we will see even more innovation.

Android 2.2 demolishes iOS4 in JavaScript benchmarks [July 8] because:

In our recent review [i.e. the previous article] of Android 2.2, we conducted some tests on the Nexus One to measure the extent of the JavaScript performance improvements. SunSpider and V8 benchmarks show that JavaScript execution in Froyo’s Web browser is almost three times faster than in the previous version of the platform.

We compared these findings with that of our tests of Apple’s mobile Safari browser on the iPhone 4. The results show that the Android device delivers significantly faster JavaScript execution than the iPhone, scoring over three times better on V8 and almost twice as fast on SunSpider.

It is worth to combine the results of those two tests in a single chart (recalculated in order to show the performance improvement vs. the performance of the benchmark on the Nexus One with Android 2.1 as the baseline):

The performance improvement is especially remarkable for v8 benchmark which is quite understandable since the V8 Benchmark Suite by Google is:

… a suite of pure JavaScript benchmarks that we have used to tune V8 [JavaScript engine brought to the Android browser as part of 2.2]. …

With this the browser in Android 2.2 (Froyo) is having the same JavaScript performance as Google’s mainstream browser since:

V8 is Google’s open source, high performance JavaScript engine. It is written in C++ and is used in Google Chrome, Google’s open source browser. [see: V8 JavaScript Engine]

SunSpider is just delivering about half of the performance improvement of the V8 benchmark suite which could be because:

This [SunSpider] test mostly avoids microbenchmarks, and tries to focus on the kinds of actual problems developers solve with JavaScript today, and the problems they may want to tackle in the future as the language gets faster [see: SunSpider JavaScript Benchmark].

Note: The main characteristics of a microbenchmark are the following:
• Small program
– Datasets may be large
• All time spent in a few lines of code
• Performance depends on how those few lines are compiled
• Goal: Discover some particular fact
• Remove all other variables
[See: slide #8 of the How NOT To Write A Microbenchmark presentation from JavaOne 2002]
The V8 benchmark suite used for tuning the engine might be more “microbenchmarkish” than the SunSpider benchmark which is explicitly trying to avoid microbenchmarking!

Developers of Android are themselves declaring that:

This has resulted in a 2-3X improvement in JavaScript performance vs. 2.1. See: Android 2.2 and developers goodies [May 10, 2010].

which seems to well correspond to the performance improvement result by the SunSpider benchmark suite.

Ars technica, however, didn’t carry out benchmarking of the Java engine used in Android 2.2 (so called Dalvik, which is not a regular JVM) albeit vast majority of Android applications are coded in Java, and:

The new Dalvik JIT [just-in-time] compiler in Android 2.2 delivers between a 2-5X performance improvement in CPU-bound code vs. Android 2.1 according to various benchmarks.

This is from the same, Android 2.2 and developers goodies [May 10, 2010] blog post which contains other significant improvements from developers’ point of view as well.

Endnote: My statement in the name of the post, that the type of Android 2.2 (Froyo) excitement shown by Ars technica is “just the tip of the iceberg” is even more true from software developers’ perspective. A lot of professional developers in technologically well established and long mature camps, like Microsoft .NET and JVM based enterprise Java / community developed application frameworks (eg. Spring), are considering the Android framework quite underperforming and immature. I’ve met even misunderstanding among them, that Android is programmed in JavaSript or even C++.

With the introduction of Dalvik JIT there are no more reasons to underrate Android (2.2 and above)! To dismiss the wrong belief of “JavaScript and C++ only” programming myth for Android I am usually providing the following links and quotes as well:

http://developer.android.com/guide/basics/what-is-android.html

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

… Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework.

Since June 2009 there is also a Native Development Kit (NDK) for which it is good to know that:

Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.
… Please note that the NDK does not enable you to develop native-only applications. Android’s primary runtime remains the Dalvik virtual machine.
http://developer.android.com/sdk/ndk/index.html

As you know, Android applications run in the Dalvik virtual machine. The NDK allows developers to implement parts of these applications using native-code languages such as C and C++.
http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html

… the NDK is a companion to the SDK that provides tools to generate and embed native ARM machine code within your application packages. This native code has the same restrictions as the VM code, but can execute certain operations much more rapidly. This is useful if you’re doing heavy computations, digital processing, or even porting existing code bases written in C or C++.
http://android-developers.blogspot.com/2009/09/now-available-android-16-ndk.html

Finally, the use of JavaScript requires absolutely different considerations, namely: Building Android Apps with HTML, CSS, and JavaScript, extensively elaborated in a so named and actually excellent book under development (and hence available online as just linked) by Jonathan Shark, which has a Chapter 1 with the following observations (to get a feeling of difference):

What is a Web App?

To me, a web app is basically a web site that is specifically optimized for use on a smartphone. The site content could be anything from a standard small business brochure site to a mortgage calculator to a daily calorie tracker–the content is irrelevant. The defining characteristics of a web app are that the user interface is built with web standard technologies, it is available at a URL (public, private, or perhaps behind a login), and it is optimized for the specifics of a mobile device. A web app is not installed on the phone, it is not available in the Android Market, and it is not written with Java.

What is a Native App?

In contrast, native apps are installed on the Android phone, they have access to the hardware (speakers, accelerometer, camera, etc.), and they are written with Java. The defining characteristic of a native app, however, is that it’s available in the Android Market–a feature that has captured the imagination of a horde of software entrepreneurs worldwide, me included.

Which Approach is Right for You?

Here’s where it gets exciting. The always-online nature of the Android phone creates an environment where the lines between a web app and a native app get blurry. There are even some little known features of the Android web browser that allow you to take a web app offline if you want.What’s more, several third party projects–of which PhoneGap is the most notable–are actively developing solutions that allow web developers to take a web app and package it as a native app for Android and other mobile platforms.

For me, this is the perfect blend. I can write in my native language, release a product as a pure web app (for Android and any other devices that have a modern browser), and use the same code-base to create an enhanced native version that can access the device hardware and potentially be sold in the Android Market. This is a great way to create a “fremium” model for your app – allow free access to the web app, and charge for the more feature-rich native version.

Advertisements

9 Comments

  1. […] please read my other two infonuggets as well: – OPhone OS (OMS) 2.0 based on Android 2.1 [July 5] – Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum [July […]

  2. Thank you for this series on the Android platform! While I like to think that I have my finger tips on hot technology trends, your posts are full of new insights.

  3. […] Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum […]

  4. […] Experiencing the Cloud fueled by 3.5G/3.9G, SoC & reflectivity Skip to content HomeAbout ← Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android mo… […]

  5. I am really interested in this thread, can you write more blog posts about it ? Thanks,

  6. […] the speculations collected in my Beyond Android 2.1 [July 4] and Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum [July 9 – Sept 10] are now over as Android 2.3 (Gingerbread) was released on Dec 6. with the lead […]

  7. […] this (my own) blog: – OPhone OS (OMS) 2.0 based on Android 2.1 [July 5, 2010] – Android 2.2 (Froyo) excitement is just the tip of the iceberg for the current Android momentum [July 9 – Sept 10, 2010] – Android 2.3 (Gingerbread) and 3.0 (Honeycomb) [Dec 30, 2010 – Feb 4, […]

  8. […] the Android 2.2 on the IDEOS U8150 two years ago vs. the Windows Phone 8 on Windows Phone 4Afrika (= Huawei Ascend […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: