Blackberry Jam for Green Men
Despite falling quotes, declining smartphone market share and rumors of sales, we continue to be convinced that all roads go to RIM. They sell a plane, give away free devices, promise ten thousand US dollars for the published application and offer the best set of tools for the new platform. Can an Android developer enter a new market at virtually no cost? What are the limitations and where are spread with blackberry jam? I will tell you from my own experience.
Compatibility issues
RIM really offers a set of development tools for every taste and color, including the magical ability to port an Android application to a new platform with simple repackaging.
In theory, an application created for Android 2.3.3 should work almost unchanged on BlackBerry 10 and Play Book. But, in reality, the application runs in the BlackBerry Runtime for Android virtual machine, the existing implementation of which has serious functional limitations . For example, there is no support for Google Maps, there is no way to work with the camera, Cloud To Device Messaging, In-App purchase, and much more do not work.
In addition to functional limitations, BlackBerry makes adjustmentsinto the Android user interface model. So the absence of the Back and Menu buttons is proposed to make up for by gestures “from the bottom of the screen to the left at 45 degrees” and “from top to bottom”, respectively.
At the same time, meeting the formal requirements of Runtime for Android does not guarantee one hundred percent application performance. So, for example, it turned out that from the Android application, the web link opens in a browser built into the virtual machine, and there is no way to forward the URL to the native BlackBerry browser. This feature hacked the functionality of placing links to the App World store inside the application.
Quick start with on-line service
For a quick start RIM provides "online" tool repackaging applications. The word online is in quotation marks, since in reality most of the work is done by the applet on the client side.
The tool performs formal .apk checks for compatibility with BlackBerry Android Runtime. In case of incompatibility, reports that it does not specifically suit the application.
I was lucky, and the tool reported full compatibility, which allowed me to immediately begin signing and repacking the code.
Packaging and Signing
To repackage the application, you need to get a pair of electronic keys “RIM Development Key” and “BlackBerry PlayBook debug token”.
This is done once. The request is made through the same online tool. The answer comes quickly enough - after 15 minutes, the necessary certificates are delivered by mail. The certificate is attached to the computer from which the request was made, and a special procedure is provided for transferring certificates to another developer's computer.
After receiving the keys, the environment is set up in just two clicks. Then the tool signs the binary file and saves the result in BAR format (most likely it is the acronym BlackBerry Android Runtime, but did not find reliable information).
The finished application can be run under the emulator or on real hardware using the command line tools provided by RIM. If you wish, you can immediately go to publish the application in App World.
I had the opportunity to launch the application from the natural development environment on real hardware - the BlackBerry 10 Dev Alpha device, received at the BlackBerry 10 Jam event in Moscow three weeks ago.
By the way, they say that the hatching on the front panel of the device is not a prototype of the logo, but a bar code that allows you to track devices issued by developers. I take this opportunity to send photographic greetings to RIM!

Device testing
Preparing to launch the application on the BlackBerry 10 Dev Alpha is no more difficult than working with any Android device on Windows. I installed the driver directly from an alpha device connected as a drive. Following the instructions , I installed the plugin for Eclipse. On the device, I activated the development mode and exchanged a pin code with a computer.
The only subtle point is not to forget to add BlackBerry Nature to the Android project using the Eclipse context menu.
The application is launched on the device using standard IDE tools. The application starts pretty fast, but still a little longer than on the "real" Android.
Publication
The BlackBerry developer, matured before the application was published, receives the proud name of an Independent Software Provider through a simple registration procedure on the App World vendor portal . Registration is free, takes two days and requires an ID scan. I sent a scan of the Russian passport and added a passport, in case of problems with reading the Cyrillic alphabet.
Publishing actions are typical for all mobile app stores - provide a description, upload screenshots, determine the cost and region of distribution. The only significant difference is RIM's close attention to rights to third-party content in the application and to user-generated content, including the name of profiles.
Since the publication in the BlackBerry App World coincided with the appearance of the name “Let's all go to ...” in the ranking of Chapaya’s players, I had to seriously consider the issue of User Generated Safeguards.
A set of administrative and technical measures was devised “to protect users - especially minors, as well as to control and manage inappropriate behavior”. The main means of protection were the ability to abuse the user and our ability to ban hooligans. The proposed solution completely satisfied the strict reviewers, especially since during this time a fighter with inappropriate behavior himself flew out of the rating of the best players.
Review procedure
The publication review cycle takes one day. Updating the indices in the store after approval of the application takes from several minutes to 24 hours.
The application was returned to me twice. Once with a request to indicate in the minimum requirements for the PlayBook OS 2.0 operating system, starting with which BlackBerry supports Android Runtime. In the application control panel, it looks like QNX 2.0.
And the second time they returned with a request to remove the mention of Android. The humor is that the default player name is taken from the constant android.os.Build.MODEL, which contains the value “BlackBerry Runtime for Android”. That is what the RIM engineer saw.
Interestingly, the two versions of the same application, sent for consideration with a difference of 10 minutes, fell to different engineers. Wrapped only one of them.
First results
Today, 4 days after the publication of the application in the BlackBerry App World, you can summarize the first results.
First fly in the ointment:
- In fact, it was a great luck matching the application with the capabilities of the BlackBerry Android Runtime. For another non-game project, everything is much more complicated, and the transfer required a serious reduction in functionality.
- Poor Android Runtime performance can make it difficult or impossible to transfer demanding gaming applications.
Well, now a barrel of blackberry jam:
- The full cycle of transferring an Android application to the BlackBerry 10 / Play Book platform and publication on App World took no more than three hours of pure time, which confirms the thesis about the openness of the platform for Android developers.
- During the publication, the application was downloaded more than 1000 times without any advertising and promotion, which may indicate a program hunger for the owners of the Play Book.
- The Smaato banner network shows a fill rate of 85% for the BlackBerry application, which has a beneficial effect on advertising revenue.
And we conclude a simple rule: if a five-minute check of the compatibility of an Android application using an online tool gives a positive result, then the next three hours to publish to the BlackBerry App World will be well spent.