Android 2.2 Froyo: The Most Important Changes Reviewed

By Ryan Whitwam

Android 2.2 is out, here's what we think of it.

Google has finalized Android 2.2, and rolled it out to Nexus One users. It should be worming its way on to other handsets over the coming months. We've been running the preview builds for the last month, and now that the final release has come out, we're can give you an evaluative overview of the major changes in this version of the mobile OS. This isn't a review in the traditional sense, since this is a free software update that you should download as soon as it's available for your phone. Instead, this is an evaluation of the direction Google is taking with Android--our opinion of whether these new features are actually an improvement to the mobile experience.


The Home Screen interface gets spruced up

the new launcher. Where Android 2.1 only had the grid icon to open the 3D app list, Froyo adds shortcuts to the dialer and browser as well. All these icons will be visible no matter which home screen you are on. You can also trigger the thumbnail previews of your home screens by long pressing on the launcher icon as well as the navigation dots.  
There's not much to complain about here; the streamlining of the home screen is a solid improvement. You can get rid of those regular browser and phone shortcuts to free up some space. The only feature we wish would be added is the option to customize the phone and browser links. If you don't use the stock browser, it's just wasted space.  

One thing that always bothered us about the Android UI, was that the home screen scrolling felt just a tiny bit more laggy than it should on stock devices. With Android 2.2, Google has optimized the scrolling behavior nicely. It now feels extremely smooth and more kinetic. If you just nudge the interface over, the next home screen snaps into place. The stock Android home screen actually feels more like HTC Sense in this way. It's a small UI tweak, but it was long overdue and makes the phone feel faster in use. Our only concern is that if you've been in an app for an extended period, the home screen occasionally seems to take a second to become responsive when you return to it. It's a small problem that we hope Google can fix at some point.

There are also some widget changes in Android 2.2. The standard Google search widget has a new trick that we feel makes it much more useful. When you add the widget, Android will ask you what category you'd like it to search by default. You can choose from All, Web, Apps, Contacts, or Twitter (which is integrated with 2.2). These are just the default options. By going into your system's search settings you can allow various apps access to this widget. Apps like Google Sky Map, Kindle, and Mint can be added to the widget. At any time you can tap the icon on this widget to change the search type. Hitting the hard search button will also offer the option to access all these search types. In Android 2.2, Google has made the search functionality even better, if you can believe that. 

The other new widget of note is the Market widget. This is a completely new 2 x 2 item that will show you a list of featured apps. It shows a screen shot or logo, as well as a small description. Tapping on it will open the market to that app. We like the spirit of this new addition, but it's a little big, and there's no customization. We'd like to see the option to have it show apps from specific categories. We feel Google needs to do more to promote quality apps, and this is at least a step in the right direction. 

Under the Hood System Improvements

Google did a lot of work behind the scenes to make Android a more capable mobile OS. One big new feature that you might not even realize is there is the just-in-time (JIT) compiler. Android apps are written in Java, but code on the device is run with the Dalvik runtime engine. This makes compatibility better, but performance suffers because the code must be compiled to running code. The JIT compiler simply makes this faster. The Linpack benchmark has been used to illustrate this. On Android 2.1, the Nexus One could hit 6-7 Mflops. With 2.2 the same phone can reach nearly 40 Mflops. We find that apps that previously saw the occasional hiccup run buttery smooth now. Three cheers for the JIT compiler. 

access to more system RAM. The Nexus One has 512MB of RAM on board, but only 256MB was accessible on 2.1. Post Froyo upgrade, we are seeing roughly 384MB available to the user. The remainder could be reserved by the OS, or it might be turned off to save power. Either way, we went from 20-30MB of free memory during normal use, to 120-150MB free. This means that apps don't have to close themselves as frequently and can remain asleep in the background. This makes switching between recent apps a much better experience. We feel this contributes heavily to the overall increase on performance.

We've also notices that Google streamlined the code for the writing of camera images to the SD card. On Android 2.1, the wait between shots could be five seconds or longer. On Froyo, we're seeing wait times of less than two seconds. That can be the difference between getting the shot and missing it completely. 
One final tidbit in the system level changes is that Google finally opened up the LED APIs on Froyo for the Nexus One. The trackball is used as a notification light, but in Android 2.1 it only glowed white. Now apps can set the color to red, blue, green, and more. Built in apps like Facebook and Google Voice will do this by default. Downloaded app will also be capable of changing the color. For example, the AIM app produces a red notification light for new IMs.  
That's not the only LED on the phone, though. The flash can now also be used as a flashlight. There are apps on the Market that can take advantage of this. It's a small change, but we're happy to have more control of this aspect of the phone. 


Just select the type of tethering you want and it works right away. The Wi-Fi access point settings are a little slim. You can choose the name of the network, the password, and set either WPA2 or leave it open. We were getting good data rates using this connection. Based on the expected speeds, we feel the Wi-Fi tethering is using all the 3G connection's available bandwidth. This is a great feature to have, and for the time being it is free on the Nexus One. 

The browser gets faster and better

The browser in Froyo has been given a lot of attention in the Googleplex. The first big feature is that it's just much, much faster. Google shrunk down desktop Chrome's V8 JavaScript engine and integrated it into the Android browser. The line at Google I/O was that it would be three times faster at processing JavaScript.  

We looked at the actual JavaScript performance using SunSpider, and we were impressed. The stock 2.1 browser scored 14,665, and the browser under 2.2 received a score of 5,993 (lower is better here). JavaScript performance isn't the only factor that makes a browser fast, but it definitely helps in our experience. Load times are looking to have decreased by about 25% from 2.1. As you might expect, we're very happy with this improvement. 

support for Adobe Flash 10.1. It's a feature people have been begging for, and it's finally here. Was the wait worth it? Well, it depends. Adobe announced that they had finished Flash for mobile two weeks ago, but we're still only seeing Flash 10.1 Beta in the Market. In practice it works in most places at least well enough to view your content. There is the occasional confusion about if your press will be interpreted as a click, or a hover, but you can learn the quirks of the content easily. Some players may not work particularly well though. Until Flash content is optimized for mobile, this is just going to be the way of things.

Having a look at the New York Times page, we found the performance to be improved since we last checked it on the original Flash beta (the current release is Beta 3). Double tapping causes the content to fit to the screen. Long pressing will bring up some mobile controls to go full screen. We were able to easily interact with the seek bar, volume controls, and play/pause button. Android also binds the volume toggle to the Flash video. Scrolling around the page was a little slower than without Flash content, but acceptable.  

 Top: Crush the Castle 2, Bottom: mobile optimized "Screw the Nut"
Crush the Castle 2 is a good choice as the interaction relies mostly on clicking without much regard to location, just timing. We were actually pretty happy with the performance on the low quality setting. The game ran a little slow, but not so unplayable that we abandoned it. We made it through a few levels with no real performance hits, though the buttons you have to hit at the end of levels proved tough to tap- we had to zoom in to get them. This is actually a fairly process-heavy game, so we have hope for Flash on mobile after seeing how it works.   
Several sites, like Kongregate and Armor Games have made Android friendly Flash sites. The games you'll find here work very well, but are more graphically simple. Some actually felt like native games and even used the trackball for control.

You should definitely install Flash when you get 2.2. Even on the beta release we are finding it useful. The phone gets a little warm, but not as much as it did in previous beta builds. We recommend leaving the browser plug-in settings to "on-demand" so you can pick which Flash content loads. The browser presents you with a green arrow icon to tap if you want to load a particular piece of Flash.  Although, load times on most pages seem only minimally affected by Flash content. We only saw a few seconds difference in load times. Often, the entire page will load as normal, then the Flash content will pop up a second later.

Apps and Market Improvements

The way batch updates work when you have multiple apps is very straight forward. Just tap the 'Update all' button at the bottom of the screen. All updates will be queued up and will proceed without your further intervention. It can slow the phone a bit if you have a lot of updates, but we're willing to put up with that. Android will not allow batch updates of apps that have had their permissions change. In those cases you will see a notice pop up telling you that these apps must be updated manually. It suggest you check the permissions, but you are not forced to click through it anymore. 

Apps can also be set to auto-update in the background. On each app's page, there is a checkbox at the top to allow automatic updates. This is a nice idea, but we often find the updates to be inconsistent. Sometimes it's a few days before an app will update itself. If you spend any amount of time poking around in the Market, it's easier to just use the batch updates. This feature is good for keeping the total number of batch updates more reasonable, though. We feel that Google should allow more control over this feature. Maybe allow users to define a schedule for updates. Still, it can't hurt to check that box. 

app storage on the SD card. This has been a much requested feature on the Android platform. There is only a limited amount of storage for apps on most phones, and all that SD card space is a mighty fine place to keep them. Developers must enable this capability, so not all apps can be moved.  

From the application settings you can tap on an app, and select the option to move it to the SD card (if available). Most of the app's code will be exported to, and run off, the SD card. There will still be a "stub" on the internal phone storage; the size of this stub will vary. The settings will still display a size for the app, this is size of what must be retained on internal storage. Most are only a few hundred kilobytes, even for games that normally take up a few megabytes. At this time, apps with widgets will lose their widgets if moved to the SD card. Even with that caveat, we love having the ability to move apps to the SD card. With the Android Market growing, there are always more apps we want to install. If only developers could move faster to adopt this feature. 

New Cloud Services

Cloud to Device Messaging is a robust push notification service that can be used to deliver data to a phone. Google use a browser plug-in called Chrome to Phone to demonstrate this. We told you about it recently, and now that Froyo is more widely available, you might actually be able to use it.  

This is a unique system because it allow the message to trigger operations (or "intents") on the phone. An intent  can be used to launch an app, load a web page, start an email, and more. A web service can easily push information down to an Android phone via Google's messaging servers. The server checks for the device and relays the data to it. Then the app connected with the intent determines how to handle it. Don't worry though, apps need to have you explicitly register with a web service by sending a special ID. This is a very interesting system. We can't wait to see how developers take advantage of it.  We're already getting a lot of use out of Chrome to Phone.

The data backup service is something we've been waiting for, and anyone that switches phones with any regularity can agree. Android added the ability in 2.0 to restore apps to a new device after a user logs in. But it would just install the apps, any associated data would be gone. Now, with developer access to data backup, your apps and data can come back. You'll never have to worry about losing your saved games, or in-app settings again. Well, as long as developers use the service.

This feature takes advantage of a 'BackupAgent' in Android. A developer need only register an app's data with the BackupAgent to start backing it up. So when an app is installed, the restore function will be able to pull down the app's internal data from the Google cloud. We aren't aware of any apps that support this as of yet, but are looking forward to having this ability.  

Wrap Up 

These are the major points of Android 2.2. This is an incremental update to be sure, but it manages to smooth over some real sore spots for the OS, like making the home screen more user-friendly. But the changes made to the Market offer real tangible benefits right out of the gate. We are also very happy with the system level improvements brought by the JIT compiler and general speed increase. The Wi-Fi hotspot functionality is perhaps one of the most useful changes, but we're worried it will be ripped out of most official carrier ROMs.  Flash works better than we expected it to. It's not up to the standards of the desktop version, but it works in most situations. We'll keep an eye out for any changes when the final version hits the Market.

Right now, only Nexus One users and those running hacked 2.2 ROMs on a few other devices can enjoy the benefits of Froyo. Motorola Droid owners will get their serving later this month. As more users are bumped up, we hope to see developers taking more advantage of app storage on the SD, Cloud backups, and Cloud to Device Messaging. All in all, Froyo is a worthy upgrade to the Android platform, and you should relish it because it may be a while before the next release even shows up on the horizon. For many users of current-generation phones that aren't top-of-the-line, it may the last update your handset manufacturer provides for your model. But Android has matured to a point where the updates are more about feature releases than bug fixes. And that's a very good place to be.