Friday, July 23, 2010

Android 2.2 - Froyo

I just finally got the new Android 2.2 release for my Nexus One (it's a long story...). Most of the significant features of this release are behind the scene like increasing java execution performance through just-in-time compilation or increasing javascript performance in the browser by using the V8 JavaScript engine from Chrome. Not sure I really notice much of a difference in everyday use, since I mostly use apps which are UI and framework bound for their performance (no CPU heavy games...) and most web-pages are light in JavaScript and browser performance is limited by network and rendering performance. But still these are very welcome optimization to help improve the platform overall.

There are a few small enhancement - most significant for me is the ability to switch auto-correct/complete languages for the on-screen keyboard on the fly, since I write emails and SMS in multiple languages on any given day. There is now also finally a switch to disable the use of cellular data independent of any other function, which had been one of my complaints for a long time.

New on the platform side are a few services like the ability to back up application data in the cloud, make use of the SD-card for installing a lot more apps than what the capacity of the internal flash memory can handle or the C2DM notification service discussed here earlier. Any of these require applications written with the new SDK and using these new features to show their full potential.

But I am most excited about the official support for tethering in Android 2.2 - i.e. the ability to use the phone's cellular connection as an uplink for other devices either through USB or wifi. While USB would clearly be better from a battery life perspective, the number of devices which support networking over USB via the phone is a lot more limited than the number of devices which support wifi: today pretty much any internet capable device seems to support wifi. When turning on the mobile wifi hot-spot feature, the phone is basically acting like a wifi base-station, creating a wifi subnet which other devices can join and access the Internet by sharing the phone's cellular data connection.

A quick test with from my tethered laptop vs. the speedtest Android app running on the phone shows no noticeable throughput degradation by tethering (about 2.7Mbps upstream and 1.5Mbps downstream on Orange CH 3G service from our house in Z├╝rich around midnight).