How Zinio’s magazine app for Honeycomb just got better

4 Comments

When it comes to software for reading e-books or magazines, a better visual experience is key. After all, the primary purpose of such an app is to provide text or images in a digital format that can effectively replace its print counterpart. Software design is certainly one way to bring a pleasing experience, but software can also be limited by hardware. The latest edition of Zinio’s magazine software, however, taps into the graphics capabilities of Nvidia’s(s nvda) dual-core Tegra 2 chip to improve the app.

Zinio for Android tablets (s goog) now supports hardware acceleration for graphics. This means a Honeycomb table can offload animations — such as page turns or page zooming — to the graphics cores of the Nvidia chip, which is designed specifically for detailed visuals. Here’s how Nvidia describes it:

This new version of Zinio for Android uses the power of Tegra’s GPU to leverage OpenGL ES acceleration, making complex magazine pages easy to navigate and pan around with a Samsung Galaxy Tab 10.1, ASUS Eee Pad Transformer, and other Tegra-powered Honeycomb tablets. Unlike other magazine readers that only serve up magazine pages as slow, lower-resolution JPEG images, Zinio displays high resolution, zoom-able layouts and dynamically re-scalable text.

As a longtime user of Zinio’s software, I can easily see the difference the new app brings. Zinio for Android is far more fluid, and there’s less lag when changing pages or browsing a magazine. Zooming in on text happens faster. These subtle improvements add up to make the entire user experience much better than before. Rather than describe the changes, here’s a video with some background on the new software and comparison images of Zinio both with and without the new hardware acceleration.

it still raises the small specter of fragmentation in the Android world

That concern aside, I do expect other software development teams to work with chip providers to optimize their apps. Why not, when you can eke out better performance and improve the experience with a minimal coding effort?

4 Comments

David

What really stands out now in the video is how awkward the screen aspect ratio is. I wonder if we will eventually see a 4:3 format Android tablet to make it useful for things other than video alone?

Lucian Armasu

This won’t raise fragmentation Kevin. Well, it will, but in the same way any new technology introduced in Android will. You know Android didn’t have hardware acceleration until Honeycomb, and this is what they’re talking about here. Zinio has enabled hardware acceleration for their app. Google didn’t introduce it by default for all apps because they thought it would break a small percentage of apps. So if developers want to enable it, they can do that.

I don’t know the specifics of this, but I think Nvidia is being a bit misleading here. It’s Tegra optimized because *all* tablets are Tegra based right now, so obviously they will be optimized for Tegra. But the GPU acceleration should work for all future tablet chips, and for Android 4.0 devices.

And by the way, you should read this:

http://www.businessinsider.com/why-flurry-got-it-wrong-on-apps-v-browsers-2011-6

John Nguyen

Agreed on the fragmentation comment… however not all tablets are Android-based with Tegra? And the what about the tablets running Android but on architectures such as those of VIA and so on?

Dianne

There are a number of ways to interpret what they have done, but as you say they most likely don’t lead to fragmentation. Some possibilities:

(1) They turned on the hardware accelerated 2d drawing feature in Android 3.0. This is literally one switch you turn on, plus possibly some code fixes if you are doing odd-ball things that aren’t supported by the hardware mode. There is nothing Tegra 2 specific about this. This code is implemented in the standard Android platform, and sits on top of OpenGL ES 2.0 without using any Tegra-specific extensions. That said, I think this is unlikely the only thing that happened; looking at the before animations, I think they would be a lot worse if they were using the software renderer. (There are a *lot* of pixels on that screen to move around.)

(2) nVidia helped them with improvements to their 2d drawing to get better performance out of the accelerated 2d drawing engine. This is again nothing Tegra specific; the techniques used for this generally apply to all GPUs, although there can be certain specific operations that are faster or slower on different GPUs. The vast majority of these kinds of optimizations however are just general improvements to the application’s drawing code. And nVidia happens to have some good debugging tools for looking at the rendering going through there GPU that can help identify problem areas in an app.

(3) Switched the UI to using OpenGL directly. The text kind of says this, however at least some of the UI elements shown look like they are using standard Android UI widgets which you can’t use in raw OpenGL. At any rate, OpenGL is again a GPU-neutral API, so this doesn’t tie them to Tegra 2 in any way.

(4) Switched to using OpenGL directly, *and* used some extensions in it that are specific to Tegra 2. Only in this case would what they did actually have any problems on other GPUs. This is extremely unlikely to be what we are talking about though — I don’t see anything in their UI that would want to make use of any kind of vender-specific extensions. This is the kind of thing that *maybe* some super-hard-code 3d games do. And if you go down this path, you know full-well that you are using GPU-specific features.

Ultimately I think this is just another example of the kind of thing nVidia does really well — work with third party software companies to improve their apps and promote the results as part of their own hardware promotion. They have been doing this with game developers for ages, and they do have very good tools to work with developers to find and optimize performance issues.

Comments are closed.