Tuesday 20 October 2015

Voice of Developer (VoP): Android M (Android 6.0) For Developers, An Evolutionary Step In The Right Direction

www.toptal.com
BY NERMIN HAJDARBEGOVIC - TECHNICAL EDITOR @ TOPTAL
Google announced Android M at its annual I/O dev conference in late May, and the new Android OS is coming to our beloved Android devices later this year. Well, it’s coming in case you have a Nexus, otherwise you’re at the mercy of hardware vendors and carriers.
This, of course, is the biggest problem with any Android update – very few devices get it in any sensible amount of time. With that pet peeve out of the way, let’s take a closer look at Android M, Android 6.0, Android Milkshake, Android M&Ms, or whatever Google decides to call it.
Nadroid M (Android 6.0)
Android 6.0 is more of an evolutionary step, whereas Android 5.0 was a big leap forward thanks to its 64-bit ART runtime and all new Material Design. However, Android M should not be dismissed as a minor update. I will try to explain why.

Consumerish Android M Features

Google has a habit of talking up new features with the potential of capturing the consumer’s imagination. After all, Google is a business, and it wants to portray every product from a consumer-friendly perspective.
Battery life is a good place to start, since it’s the Achilles’ heel of all smartphones and tablets. Android M includes a new feature called Doze, which, as the name suggests, places devices in a deeper standby mode. For example, devices will be able to figure out that they have not been used for an extended period of time, and go into hibernation. If you have a tablet on nightstand and use it to read yourself to sleep, this might be an interesting feature. However, if you spend 12 hours a day walking around, talking and texting, it doesn’t sound nearly as tempting.
android M release
There are some developments on the hardware front as well. Android M includes support for USB Type-C. In case you missed it, USB Type-C is similar to Apple’s Lightning, that is, it can be plugged in with any side up – which should save millions of people the trouble of figuring out whether or not their micro USB cable is the right side up. Speaking of micro USB, which is the de facto standard (and a legally mandated charger standard in the EU), it’s obvious that its heyday is coming to an end. One interesting feature offered by the new connector and Android M is that you will be able to top up your smartphone using another Android device (another phone or tablet).
As for other consumer-oriented features, Android M should bring somewhat smoother transitions, more Google Now functionality, and a few other goodies.

Major App Permission Overhaul

One thing about Android M that should appeal to many users, and at the same time, be of big significance for developers, is the new app permission system.
Users will no longer be prompted with a permission list during the installation process. Instead, the app will install, no questions asked. However, once the app is activated and tries to access certain types of information, users will be asked for permission. The permission can be revoked at any time, so for example, if the user does not want to permit access to GPS location data, access can be disabled. All this will be done in the Android app settings, under Permissions.
But what happens to previously installed apps? Or older apps?
Well, the same rules apply, which could prove tricky. Hundreds of thousands of apps are already out there and they were not designed to support this new feature. Android M will still let you tweak permissions granted to legacy apps, but there is a catch – the system will simply stop feeding these apps data.
This obviously may cause problems in some situations, and here is why:
  • Many users are keen to protect their privacy.
  • People tend to dislike apps that require a lot of permissions.
  • Developers cannot explain why the apps need access to data in the permission request.
  • Permission requests may be made out of context.
Let’s just go back to the GPS example, and say that your app requires access to location data for reasons that may not be obvious to the casual user. When the app tries to access location data, the user will be prompted to grant a standard GPS permission. If the user is asked for permission out of context, there is a good chance that the request will be denied, and the app will be left blind, causing it to misbehave or negatively impact user experience. Since you can’t tell the user why the app actually needs location data, this could be a problem.
Another way of degrading user experience is by requiring too many permissions in too many categories. Google has a couple of tricks to address this concern, so all permissions will be grouped into several categories, such as Camera, Sensors, Location and so on. In any case, you don’t want the user to go through dozens of different permissions the first few times he or she uses your app.
Luckily, certain types of permissions deemed safe by Google will be granted automatically. For example, if an app needs to look something up on the Internet, this will be allowed by default, along with a number of other features that should not affect privacy.
The permissions system, once it’s up and running, should offer a number of improvements over the current approach. However, the potential for nuisance, compromised user experience, and negative Google Play reviews for certain apps should be a serious concern for developers.

Fingerprint Scanner and Password Manager

Google also added some new features that could make a big difference in the long run. Android M opens up the necessary APIs to add fingerprint support to any app. It won’t just replace your lock screen, fingerprint sensor support will be extended to third party apps as well.
Apple already opened out its Touch ID API with the release of iOS 8, so some may argue that Google is late to the party. However, Android has one significant advantage – a much broader user base and fingerprint scanners in significantly cheaper devices. These sensors are no longer reserved for flagships, they are being integrated into mainstream phones, especially in Asia.
android m security features
Passwords are getting a makeover, too. Google’s Smart Lock for Passwords allows users to sign in on Android and Chrome automatically. Once a password is saved to Smart Lock, users don’t have to bother with credentials. Biometric security in the form of a fingerprint scanner is just icing on the cake, and yes, Smart Lock will work with Android M’s native fingerprint security system.
Smart Lock is not exactly new, but with Android M, Google will extend API support to developers and publishers.
While these new features may not sound too exciting, or enticing for a lot of developers, they have a lot of long term potential. Think of them as two steps toward passwordless mobile computing – we’re not there yet, but we’re getting there.
If you are interested in the pros and cons of biometric security, and recent developments on the passwordless front, you may want to check out one of our previous posts. Speaking of which, we also discussed the future of ARM processor design and the new Android compiler in another post.

No comments:

Post a Comment