It’s not long till May and the preview of Android P is available. We could spend hours speculating on what the P stands for, but let’s assume for the moment that is stands for Programmer or Programmer’s.
AndroidPIt’s not long till May and the preview of Android P is available. We could spend hours speculating on what the P stands for, but let’s assume for the moment that is stands for Programmer or Programmer’s.
Is it exciting any more? The yearly roll out of the next version of Android is in the main marking the evolution of a cut down mobile version of Linux back to the full desktop version. Is it any wonder that Google has had to invent a cut down version of Android for cheaper, less capable, hardware in the form of Go – the Android version not the language.
So what else in addition to the kitchen sink can we now find in Android?
OK, I have to admit that I’m impressed by the new WiFi RTT positioning capabilities. I’m not 100% sure what I’m going to do with it -other than demonstrate it to more innocent humans, aka users. The feature uses the round trip time to local WiFi access points APs to work out how far away the device is.
“Knowing the distance to 3 or more APs, you can calculate the device position with an accuracy of 1 to 2 meters.”
Not at all sure how useful a 1 to 2 meter accuracy is, but the Google blog post suggests using to to allow voice control to figure out which light you mean when you say “turn on this light”. OK we are probably going to have to think hard to create compelling apps for this one.
I’m less impressed by the new display cutout support – because I’m completely unimpressed by the cutout. It’s a crazy situation when Apple invents something, Android follows and we have to write our software to take account of the missing part of the display.
The improved messaging notifications looks like something we can use to irritate the innocent humans mentioned earlier.
“You can show conversations, attach photos and stickers, and even suggest smart replies.”
The multi-camera API is more interesting. You can now access streams from however many cameras the hardware has. The suggested uses are:
“On devices with either dual-front or dual-back cameras, you can create innovative features not possible with just a single camera, such as seamless zoom, bokeh, and stereo vision. The API also lets you call a logical or fused camera stream that automatically switches between two or more cameras. We’re looking forward to seeing your new and exciting creations as Android P devices supporting multiple cameras reach the market in the year ahead.”
Yes, I too will be waiting to see what the API is used for. I guess this one depends more on the hardware that is available. Apps that make use of it are likely to be niche.
There are some more directly programmer oriented features.
BitmapFactory is now replaced by ImageDecoder which creates a bitmap or drawable from a byte buffer, file or URI. It has some additional features over and above BitmapFactory. You can also now use HDR VP9 video and HEIF image compression.
A more fundamental change is to the JobScheduler which has suddeny become much more intelligent. Jobs can specify their estimated data size and network requirements. JobScheduler will then manage the job according to network status. This is something to explore.
There are lots of other minor or niche additions and improvements. There is a new version of the Neural Networks API, better autofill, augmented NFC payments. improved fingerprint dialog and no access to mic, camera and SensorManager for apps that are idle.
Google also seems be adopting an authoritarian stance on some issues. You will target Oreo API 26 and provide 64 bit support for native libraries. You will also not use non-public APIs in future or presumably your app will be ejected from the Play store.
Interestingly there is yet another statement about how Kotlin is becoming the most important language for Android:
“Kotlin is a first-class language on Android, and if you haven’t tried it yet, you should! We’ve made an enduring commitment to Kotlin in Android and continue to expand support including optimizing the performance of Kotlin code. In P you’ll see the first results of this work — we’ve improved several compiler optimizations, especially those that target loops, to extract better performance.”
It just emphasises the fact that the biggest change in the Android world at the moment, as far as a programmer is concerned, is Kotlin and not so much P.
Perhaps wondering what the P stands for is more interesting after all.