Google I/O seems short on the glitz and glamor of previous years and the next version of Android is the biggest news. Is the redesign just a case of Apple envy? Or is there some real advantage to the upgrade?
Google just followed the trend to make Design more important than technology, logic or reason. More on the redesign in a moment but first let's look at some of the real improvements.
The biggest is a move to a new Runtime. Out goes Dalvik and in comes ART - Android Runtime. You have to admit that Dalvik was a much classier name. ART will run Dalvik byte code, so there should be no need to change anything you are doing. The advantage of ART is that it is faster. It makes use of ahead-of-time compilation - what many years ago we used simply to call 'complilation'. It has a better garbage collector and it is ready to make use of 64-bit processors. In support of ART we have 64-bit binaries and a 64-bit NDK, which means you can create complete 64-bit apps.
Graphics have been upgraded to support OpenGL ES 3.1 and a new Android Extensions Pack (AEP) provides enhancements such as texture compression, tessellation and geometry shaders.
Other goodies include an improved Camera API that lets your app capture full resolution YUV and raw sensor images up to 8 Megapixels and control over exposure, ISO, and frame rate. You can also now scan for a network connection that has the properties you require and make use of it. Bluetooth Low Energy peripheral mode is now supported and Google suggests this lets you build apps that can function as a pedometer or health monitor - as if the market wasn't crowded enough.
The exciting sounding Project Volta is actually very down to earth and provides APIs and tools to control your apps' battery usage. A job scheduler now lets you manage background tasks more intelligently. For example, you can set them to run only when power is connected. This could lead to some interesting power consumption increases when the user plugs the charger in.
Less hardware oriented are the modifications to the "Recents" display and notifications. You can now organize your apps' tasks by document type in the Recents display. The user can then select the document and resume using your app with that particular document. You can now communicate with the user via lockscreen notifications and they don't have to unlock the device to find out what is happening.
Google is claiming that there are 5,000 new APIs in Android L, so this can't be the definitive list.
As well as the update to the core operating system, Google Play Services has been updated to version 5.0. It now supports Android Wearables; new APIs for saved games; a search indexing API; improved Chromecast support; and improved wallet, analytics, mobile ads and secure networking APIs.
I've described the technical changes to Android L first, but this isn't how Google sees things. Its announcements all lead on the introduction of Material design - a new "design language". I can do no better than quote from the Google Developer's Blog:
"Material design is a new aesthetic for designing apps in today’s multi-device world. The L Developer Preview brings material design to Android, with a full set of tools for your apps. The system is incredibly flexible, allowing your app to express its individual character and brand with bold colors and a variety of responsive UI patterns and themeable elements."
Well that's good. I was just thinking as I closed Android Studio - "what I need is a new aesthetic".
Presumably Google just had to follow Apple into flatland and Microsoft into Metroland. This new "style" is going to permeate all of Google's properties in the next few months. It is in Android L and in Web design via Polymer.
There are a number of new features such as the RecyclerView component; Activity scene transitions; a z axis for views; and a new floating button type. In the main, however, you are going to have to work hard to build the new look into your app.
The following video tries to make it sound like no work at all:
The new "design language" might or might not be a good move. What is more worrying is that Google thinks that it is enough and puts it at the top of the list of its achievements. Most Android programmers would probably have wished for something else at the top of the list - the final version of Android Studio; a fixed and more usable Android emulator; and something to tidy up the mess of the Activity and Fragment lifecycles.
Of course, I could be wrong and perhaps we will look back to I/0 2014 and remember the day that Google introduced that new aesthetic we all craved so much.
A developer preview of Android L should be available any moment now.
One of the big problems of today is working with live code. Now a team at Github has a very clever tool that makes it easy to make, and evaluate, changes in live code in the same way that you might re [ ... ]
We now know that 2^74,207,281-1 is a prime and this is not only the largest prime of this form, a Mersenne prime, but the largest prime of any sort. Is this a discovery? After all, the number has been [ ... ]