What I like about Android M
I am indeed a little late to the party, but now that developer season is over for another year, I thought I’d finally dive into the nitty gritty of Android M, to see what’s around the corner for Android Developers to wow their users with.
Fingerprint Scanning
Google wanted the Nexus 6 to have a fingerprint sensor as part of its hardware. That was until Apple bought the company making the best fingerprint sensors for their own devices.
In Android M, you can see the fruits of their labours on the project - in the form of allowing developers access to a generalised authentication API on devices that have fingerprint sensors.
Taking a quick look at the API, the fingerprint scanner transforms your fingerprint into a key that is securely stored on the device and can be accessed by developers for comparison with your own fingerprint when prompted.
There doesn’t appear to be any way to add fingerprints, only the ability to read them. I’m assuming this is something Android will handle for the device, but for now the fingerprint scanner is simply going to be an alternative to a password for your app.
One nice touch I particularly like is that the emulator is adding support for simulating fingerprint touch events using the Android Debugger Bridge. Very nice!
Expect a flurry of the usual suspects (Looking at you Samsung, Sony and Huawei) making liberal use of this in their next range of Android devices.
MIDI Support
Android now supports the Musical Instrument Digital Interface Protocol, meaning you can pretty much turn your Android device into a musical instrument or MIDI controller for your gig - whether it’s at home - or a stadium filled with adoring fans.
MIDI devices send and receive information through ports; the number of which you can have available is often dependent on the power of the device. Each port can support 16 channels, so for instance if you have 3 input ports and 3 output ports running at once you can theoretically have access 72 channels of MIDI connections sending and receiving signals to rock out with.
Where these signals come from don’t really matter from what I understand. You could set your Android device up as a drum machine using an app with MIDI support and send the output to a MIDI device connected to channel 1 of your outport port. You could also be simultaneously receiving two channels worth of MIDI data from a input port to process and send on through other free channels on your outport.
Whilst MIDI is often associated with instruments, it can send and receive MIDI information to other MIDI compliant devices you wouldn’t expect. Lighting rigs, theatrics and visual jockeying all make use of MIDI to great effect.
If I was a proper musician* then this is something I’d really be excited about. I can’t wait to see what opportunistic developers make using this.
App Permissions
Probably one of the most fundamental changes to Android since its creation - App Permissions have arrived! Previously, to use a specific device feature you would simply add the permission needed to your AndroidManifest.xml file and be on your merry way. In Android M you still do that, except now when a feature is actually used in the app, the system will display a dialog asking whether the user wants to give permission for the app to use that feature.
This is a complete about turn for Google. Previously when you used to download an app in Google Play you were presented with a big list of permissions the app would have if you downloaded it, now thats all done in app as and when the user reaches a screen that makes use of that permission.
When Google announced this, as a developer I was on the wall about it. I know how difficult it can be to create a good user experience in your app, I’ve dealt with this stuff creating iOS apps and making sure a missing permission results in a graceful failure rather than an abrupt crash.
For the user however, this is a total win and gives them fine-grained control over what an app can do on their device. As a work colleague said when this new feature was raised, “We are here to serve,” and as a developer who wants to make the best experience for users, who can argue with that?
There’s plenty to dig into over on the Android M preview website if you’re hungry for more. For me personally, I think the above topics are intriguing enough to keep me entertained for a while yet.
*I can somewhat play guitar, hold a note or two and pretend to be an artist over on SoundCloud