Google weighs in with Android 4.1 engineering that will ‘touch’ you

Opinion
Aug 13, 20123 mins

Google's Android mobile OS has undergone some intensive engineering to provide a smooth user experience in its apps.

User experience is critical in the competition between Google Android and Apple iOS devices. In the last few years the pixel density of mobile device displays has exceeded memory speeds to move bits out of memory and render graphics and animations. This is a phenomenon of larger and denser LCDs designed in phones and tablets. Android’s engineering challenge is to orchestrate the processing of touch, rendering and animation so the user doesn’t perceive a choppy experience that results from this imbalance.

As Android’s VP of engineering Dave Burke explained during his keynote at this year’s Google I/O Conference, the brain’s visual cortex is very sensitive to changes in motion and can perceive changes as small as 10ms. The user may not be able to explain a lag in rendering one frame or to a delayed response to a gesture; they will simply know they experienced something unpleasant.

RELATED: Windows Phone 8 hardware to compete with Android’s best. Maybe.

25 essential business apps for Android

To create a delightful user experience with a gesture-based UI, Android has undergone intensive engineering so that the UI delivers smooth, frictionless apps. Reengineering Android, Google has reduced latency and improved the consistency and speed of the display frame rate.

Users of smaller phones running an older release of Android or newer devices running Android 4.0 ICS are probably satisfied with their mobile experience in isolation or in comparison to Apple iOS, unless they have used the Nexus 7 with Android 4.1 Jelly Bean. Android 4.1 is the beneficiary of this reengineering effort, named Project Butter, which aims to make the experience smoother and, apparently, more buttery.

Touch inputs, rendering, and animation have been synchronized at 60 frames a second with the design goal to eliminate any multi-frame lag in response to a user’s action or in their perception of a response. Input processing has been streamlined and bottlenecks removed. The position of the user’s next touch can be anticipated, reducing the latency of Android’s response.

Most notable is triple buffering of rendering and animation. The operation of the CPU and GPU are now independent. Triple buffering increases the probability that the 60 fps synchronization will produce responsive rendering and animation when required. These changes will not always insure against a lag or choppy experience, but will dramatically reduce their occurrence. When a lag does occur, the device recovers gracefully.

The Android kernel and the Open GL drivers have been instrumented to provide Google Android developers with the insights to engineer these changes. Based on this instrumentation, Google has created a tool that its OEMs can use to identify bottlenecks and optimize Android ports to new hardware configurations, and that developers can use to create a unique user experience for apps.

This is not the first time vertical synchronization has been used to smooth animation. Graphic card designers building for high-resolution games have implemented similar technologies.

But the tight integration of a touch-based UI with responsive rendering and animation within a fixed synchronization cycle is new. Delivering the tools to OEMs and app developers to independently improve on hardware and software designs is unique.