A Smoother Android - Jelly Bean (4.1) The Programmer's Take
Written by Ian Elliot   
Thursday, 28 June 2012

Decimal point upgrades are rarely worth writing about, and the latest upgrade to 4.1 (aka Jelly Bean) is a collection of fairly minor tweaks - the question is do they at last add up to something that can take on iOS?

The key improvement is a move to make Android work in a smoother more responsive way. Now all graphics provided by the framework is locked to the vsync signal. This means that all graphics updates occur at the 16 millisecond frame rate. As well as being available to the framework, the same facility is available to apps via the animation framework. If you want to do animation raw then you can get access to the timing signal via the new Choreographer class.

Also new is triple buffering which, in principle, should make for glitch-free graphics.

You can see that it seems to work in this video that shows ICS and JB next to each other in slow motion:

 

A strange new idea is that now touch is also synchronized to the vsync signal so that touch and video frames are locked together. It also claims to use predicted finger position at the refresh time.

We also have a new tool to help with making things smooth:

systrace, which collects data directly from the Linux kernel to produce an overall picture of system activities. The data is represented as a group of vertically stacked time series graphs, to help isolate rendering interruptions and other issues.

Another new feature that helps put Android ahead of the rest is the improved notification facility. You can now make notifications bigger, they can be expanded or collapsed by the user via a pinch and you can include phones and three action choices. 

 

jellybeanicon

 

You also now have the ability to use resizable app widgets that auto resize depending on where the user places them. As you customize the screen, the widgets move around to make room. Does this make Jelly Bean better than WP8 Metro and its live tiles? From a quick look I'd say that it does.

Improvements to connectivity are also interesting. Now you can use NFC to establish a Bluetooth link that can be used to transfer files or photos, say. Android Beam basically lets you just touch the two phones together and they are Bluetooth-paired and the transfer starts. New API calls let you add Bluetooth-powered, NFC-negotiated transfer to your own apps.

Another new network related feature is a DNS-based service discovery API. You can now broadcast services on the local network and connect to any that are advertised. You could use this to, say, connect to a webcam or another mobile device. The existing WiFi direct service in ICS has been extended to include pre-association and there is a new call that tells you if the current connection is metered or not.

There are various small updates to media support, including low level media codec access, USB Audio (via the Open Accessory Development Kit),  auto recording trigger,  multi-channel audio and so on. A new media router lets apps and users select where to play audio media.

The new Google Cloud Messaging, GCM, seems to have gone unnoticed by many news reports. Essentially it provides a free-to-use web-based alternative to SMS. As well as sending the usual SMS-style messages you can also add a 4Kbyte payload.

Also new is app encryption. You will soon be able to opt for your app to be delivered encrypted with a device specific key - this should make it slightly harder to pirate an app. Smart App update should also reduce the size of the transfer needed in any update. Like a sensible system, should it now only transmits the changed portions as a patch rather than the entire APK file. Google Play will also be extended to offer a range of Google services such as authentication and, of course, Google+. This is only logical.

There are also a lot of smaller improvements to Renderscript, the browser, the onscreen keyboard, search and many of the built in apps and these will appeal to the user even if they don't generalize to other apps.

 

nexus7

The Jelly Bean based Nexus 7

 

Jelly Bean is going to be available in July but the SDK is ready to download and use now. Of course, Jelly Bean is the OS used on Google's brand new Nexus 7 $199 tablet.

The Nexus 7 and Jelly Bean is indeed a combination that seems fit to take on the Kindle Fire, which is what it sets out to do. It also probably sinks the Microsoft Surface out of sight - but a lot depends on what the final spec and price turn out to be for the Surface.. And yes, I reckon it will even dent the iPad.

 

jellybeanicon

More Information

Android 4.1 for Developers

Related Articles

Ice Cream Sandwich Source Code Released

Holo Theme Required for Ice Cream Sandwich

Android NDK updated

Ice Cream Sandwich SDK available

Android Ice Cream Sandwich arrives!

Gingerbread now top flavor of Android

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Python 3.13 Is Here
09/10/2024

As time ticks on, the changes to the Python language become fewer and this makes it easier to upgrade. With this release the emphasis is on performance rather than new features.



Apache Lucene Improves Sparce Indexing
22/10/2024

Apache Lucene 10 has been released. The updated version adds a new IndexInput prefetch API, support for sparse indexing on doc values, and upgraded Snowball dictionaries resulting in improved tokeniza [ ... ]


More News

 

Last Updated ( Thursday, 28 June 2012 )