The True Potential Of Android Player, And Why BlackBerry Hasn’t Unleashed It (Yet)

blackberry-android-apps-qnx

Yesterday was a pretty exciting day for those of us who like to tinker with our BlackBerry 10 devices – a bit of hacking has opened up the possibility to sideload a lot more apps than possible before. This little hack, however, got me thinking about the full potential of Android Player, and why BlackBerry hasn’t allowed developers to tap into it so far.

Allow me to explain. The hack discovered yesterday essentially places the app you’re sideloading into a debug mode. In doing so, it taps into a very special Android Player permission, known as “_sys_android_rrr”. The permission allows Android apps requiring native Android code to run within Android Player – normally, Android Player only supports Java apps. This is the same permission that you’ll find was added to the Instagram .BAR file leak, as well as the Netflix .BAR file, and even the official Skype app you’ll find on BlackBerry World. Those .BAR files, however, were signed using signing keys that have this permission enabled, while the keys normally issued by BlackBerry do not. Using a debug token seems to get around this, with the drawback of having to renew the token every 30 days. The initial process is a fair bit more complicated than regular sideloading as well.

This hack allows us to draw a very important conclusion – Android Player does, in fact, have support for native Android apps. Publicly, BlackBerry has only provided the tools to bring over Java apps from Android, but there’s clearly something going on within Android Player that allows us to do more. The potential here is huge – through the new hack, people are sideloading the latest version of Instagram, Netflix, Spotify, Grand Theft Auto 3, Temple Run, and other big-name apps straight from Android. Why, then, has BlackBerry kept this all a secret? Why not give developers the tools to port native Android apps, potentially opening the gates for a massive influx of apps? Well, there’s a couple reasons that might explain it.

One of the possibilities is that BlackBerry doesn’t want developers to get too lazy. What I mean by this, is that they want to retain some incentive for developers to eventually put out a native version of the app. By making the Android Player imperfect, it makes more sense as a stepping stone to a native app, rather than a permanent solution. If Android Player worked perfectly, the developer might simply dump the Android version of their app on BlackBerry World and call it a day. This theory does have a major flaw however – why create this permission in the first place if you’re not going to allow developers to use it? But then again, the Skype app takes advantage of the permission, so perhaps BlackBerry has reserved it for must-have apps that are difficult to persuade. I will admit, however, that the argument seems a little weak.

This brings me to my second theory. If you’ve used Skype on BlackBerry 10, you’ve probably ran into a bug or two at some point. You may have also noticed that the Hub integration is far from perfect – there’s no individual Skype pane, and acting on the notification requires going into the app, rather than responding from within the Hub. So, what if BlackBerry is just trying to improve Android Player before they let developers tap into it entirely? For starters, to come out and claim you have a solution that allows all Android apps to be ported straight to BlackBerry 10 is going to require an update to the latest version of Android – that’s exactly what they’re doing in OS 10.2. Moreover, there are still plenty of performance quirks and APIs to be sorted. If Android Player is to become a serious solution for apps on BlackBerry 10, it’s going to need performance that is nothing short of exceptional, and access to all of the same APIs that native apps can tap into. This would mean things such as being able to integrate Android apps into the Hub – a huge step in narrowing the gap between native and Android apps.

Ultimately, however, all we can do right now is guess. The one thing we know for sure is that BlackBerry had to have implemented the ability to run native Android apps for a good reason – it’s not a simple task by any means, and there’s at least one app on BlackBerry World that takes advantage of it. Perhaps some more light will be shed on the matter once OS 10.2 rolls out, with the updated Android Player. We can only hope that BlackBerry plans to use this ability to its full potential one day, bringing BlackBerry 10 a step closer to closing the dreaded app gap.