Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
If you've worked with previous Android OS versions, one of the first things you'll notice with a Jelly Bean device is how you don't notice the user interface so much. That's because it's far smoother than ever before. There are no jerky stutter steps as you transition from one screen to the next, it just makes the move quickly and effortlessly. Although of course, there was a tremendous effort to make it like this, much of which Google engineers group under the heading of Project Butter. Before we drill down to the why, let's take a quick look at the overall effect.
Here I have my Galaxy Nexus with Jelly Bean 4.1. Let's go to the App screen first. Now just the introduction of all the apps appears much smoother to me. Now I'll swipe to the second page. First, regular speed. If you watch closely, you can see how the app icons on the second page fade up and grow simultaneously into position as the first page of apps is moved off screen. Let me go back and forth a couple of times, so you can see this. Let's go back to the first page, second page, first page, second page.
Now let me do it really slowly so you can see just how smooth it is. I am on the second page now and I'm going to swipe back to the first page, and even moving really slowly, you can see how smoothly the fade and transitions are. For another demo, let's go back to Home, so I'll tap Home, and now I'm going to swipe to my third page, first one swipe and then another, where I've got some quick contacts set up of some folks here at lynda.com. Watch how smoothly and quickly Matt's picture and info come up when I tap his name.
I'll tap below to send it back. Now on earlier versions of the OS, this action was relatively slow and quite uneven, almost jerky. No more with Jelly Bean. You'll find this same smoothness everywhere you go in the Jelly Bean device now. Let's pop that hood and get a better idea of how this is all happening. The goal of Project Butter was to make device interactions as smooth as butter. To accomplish this, the team engineered a multilevel integrated approach that affected three key areas: the screen display, the touch interface, and the underlying CPU.
Let's take a look at the screen display first. The Frame Rate increased to 60 frames per second. This is largely due to the improved vSync, or vertical sync, screen display timing. vSync keeps everything marching to a very specific beat, every 16 milliseconds, including transitions, app rendering, and screen refresh, so everything is snappy in addition to being smooth. Reacting to a user's touch has been beefed up as well. Now a feature called Touch Responsiveness has been introduced that actually anticipates where the user will tap next, thereby preparing the action event to trigger more quickly.
The enhancement to vSync also impacts on touch and reduces latency. The CPU and related components have also been brought into Project Butter. Animations, including page transitions and scrolling, have all been polished through triple buffering, which combines CPU, GPU, and display for smoother actions. Jelly Bean also provides a CPU input boost for touch events to further reduce any latency. Developers can see for themselves how the system reacts to their app through a new tool introduced in Jelly Bean called systrace.
Systrace collects data regarding system activities from the Linux kernel, and displays that info as a group of vertical time-series graphs, which you can see an example of by going to the Systrace page in the Debugging section of developer.android.com. For more details, see the Systrace help page. Without a doubt, Jelly Bean, through the combined efforts of Project Butter, have made the Android interface the smoothest yet.
Get unlimited access to all courses for just $25/month.Become a member