What Android 5.0 Lollipop Means to Existing Apps and Games

Android Lollipop 5.0

After some time of uncertainty, we finally got some facts on the table: Google finally announced long-awaited details about the new Android OS version. First of all, it is called Android 5.0 Lollipop as speculated earlier. Secondly, Google announced that Android 5.0 Lollipop is debuting on three new Nexus devices — the Nexus 6 smartphone, Nexus 9 tablet, and Nexus Player streaming media device. And finally, Android 5.0 Lollipop will be available on the Nexus 4, Nexus 5, Nexus 7, Nexus 10, and Google Play Edition devices in a very short time frame.

We’ll naturally keep you updated and get you an instant access to Android 5.0 Lollipop as new devices arrive and older ones get updated by OEMs.

Android 5.0 Lollipop

Material Design

One of the greatest addition – and the most visible enhancement to Android 5.0 Lollipop is naturally the Material Design. In the history of Android, this is probably the most profound improvement – or at least one of the most significant UI addition – to the platform. It enables more fluid and smooth animations with cleaner design, ability to build unified user interfaces for apps without breaking the compatibility, enhanced multitasking features, and many other real improvements. This is definitely great news and can further help improving the stability of the platform – in time.

However, there is a big concern of how older, existing apps will play with this scenario. Do developers have to rebuild their apps when utilizing material design and how will this play together with current codebase? What we can see is that Google has redesigned – and probably rewritten many parts in their own apps – for example, Google+ where material design approach has been used. The goal of unifying software’s look and feel may have its price – and it should not be on developers’ tap.

5,000 new APIs

Lollipop is the largest, and without doubt, the most ambitious release on Android with over 5,000 new APIs for app developers to tap into. This amazing number of new APIs can help developers to build greater things in their apps, but on the other hand, it can expose apps for issues on various different devices created by different OEMs, executed on different hardware, and many other things. Despite Lollipop is designed to be flexible, to work on all devices and be customizable for different use cases, there is even more acute need to test apps across older OS variants/devices and new devices with Android 5.0 Lollipop. Take a look at below the history of prior Android versions.

New vs. Existing Apps

The biggest concern with new OS versions is that how current apps work on top of the new-comer. With apps under development, it is easier to use the new APIs and adopt these design elements to those apps, but the older ones maybe more problematic. How will the older API levels work on the new platform, next to new designs – material designs? And vice versa, how will the new APIs work on older devices, with currently used apps, games and other stuff? That will be realized in the near future. The best thing you can do is to test your 1) current apps against new devices/OS version, and 2) new apps against older devices/OS versions.

“It’s happening again…” It is happening again...

When it comes to the prior versions of Android – and I’m still counting Icecream Sandwich and Jelly Bean along with Kitkat in those – stability and app compatibility is still a big concern. As spotted out earlier in our research, ICS has been the most robust OS version so far, but newer ones have gone south in stability.

What is significant in each of these versions is that the first version of certain API level (base versions, e.g. 4.0, 4.1, 4.2 and 4.4) got new subversion/release quickly after the base version was released. Obviously, the purpose of those subversion releases were to work as a hot-fix for the base version. For example, 4.1 -> 4.1.1 fixed the screen orientation problem, 4.2 -> 4.2.1 fixed issues in pre-installed apps like Phonebook, People and so on, 4.4->4.4.1 fixed some issues with cameras, standard photogallery, app compatibility and 4.4.1->4.4.2 fixed some rather serious security issues found out in the base version.

It’s worth emphasizing that this research includes a massive number of real device test runs, including nearly 300 different Android devices, with all possible hardware details and form factors. What was the most common finding in all versions and updates was that updates done by OEMs broke many of these versions, starting from API level 15 (4.0.3-4.0.4).

The change to JB and API level 16 didn’t significantly break any other and median failure percentage remained low. However, there were many outlier cases with API level 16. For example, more issues were experienced with Vsync, extendable notifications, and especially with lock/home screen rotation support.

The API level 17 brought those lock screen improvements to users, and generally this version was very stabile until version 4.2.2 where several OEMs built their stuff on this version. Apparently, it was a big problematic version to users than ones before.

The base version 4.3 (API level 18) itself introduced various enhancements and improved the stability of the platform – if compared to prior ones (4.2.x). However, version 4.3 included support for OpenGL ES 3.0, 4K resolution, Bluetooth Audio/Video Remote Control Profile (AVRCP) 1.3 support and many other things.

Probably the most surprisingly, the failure rate got up when Kitkat API level 19 was taken in use. The average failure percentage got nearly to the same level as it used to be with Gingerbread. Google patched Kitkat quite quickly after original release with two patch releases (4.4.1 and 4.4.2). Of those, it seemed that 4.4.2 lived much longer and 4.4.3 update got out more than half a year later.

We anticipate that app developers will see few bumps on their way to make sure all their current apps work for these new devices, and new apps work for older devices. Nevertheless, this is remarkable step for Android towards more unified platform and stability. We’re naturally here to follow the progress and let you know the best practices to tackle these challenges.

BTW – Have you tried out some new features in Testdroid Cloud yet? Testdroid Interactive just got improved, JIRA integration enabled and many other great new things have been added just yesteday. Happy testing!