ADF Mobile on BlackBerry 10: a failed but instructive experiment

With the release of their new handsets and operating system, Blackberry occupied lots of media space recently. This prompted me to have a deeper look at their platform and to experiment a bit in relation to ADF Mobile. You shouldn't read anything in this, by the way; my personal curiosity doesn't foreshadow Oracle's strategy. 

The BlackBerry 10 OS, as you may know, is able to run most Android applications through a runtime which supports about 70% of Android's APIs. Just for the sake of it, I tried to repackage a very simple ADF Mobile application and deploy it on the BlackBerry 10 simulator. Deployment was successful, and I was even able to get past the splash screen. It is only then that the application failed with an error message stating « Network_ERR: XMLHttpRequest Exception 101 ». This application is self-contained and didn't call any web services, by the way. The root cause of the error was obviously something else.

To be truthful, I expected the experiment to fail. The Android toolkit provided by BlackBerry contains an executable that scans APKs (packaged Android applications) for compatibility. When I ran it on my ADF Mobile APK, it flagged various minor problems (since we are using various hardware features) as well as a major issue: the presence of native code. You can see the full output below:

Apk2Bar /Verifier version 1.5.1
Research In Motion Ltd ? 2012 All rights reserved.
[osname.apk]:(res/drawable-xhdpi/adfmf_icon.png) found an alternate icon with better size:impact=1
[osname.apk]:(AndroidManifest.xml) uses-feature: android.hardware.camera:required minimal Tablet OS version=2.1:impact=2
[osname.apk]:(AndroidManifest.xml) uses-feature: android.hardware.telephony:required minimal Tablet OS version=10.0.6:impact=2
[osname.apk]:(AndroidManifest.xml) uses-feature: android.hardware.camera.autofocus:required minimal Tablet OS version=10.0.9:impact=2
[osname.apk]:(AndroidManifest.xml) native-code: armeabi:impact=5
[osname.apk]:(com/phonegap/AudioHandler.java:275) uses method: android.media.AudioManager$setRouting:impact=1
[osname.apk]:(com/phonegap/AudioHandler.java:272) uses method: android.media.AudioManager$setRouting:impact=1
[osname.apk]:(com/phonegap/AudioPlayer.java:193) uses method: android.media.MediaPlayer$setAudioStreamType:impact=1
[osname.apk]:Summary: [5]=1; [4]=0; [3]=0; [2]=3; [1]=4;
Summary: [5]=1; [4]=0; [3]=0; [2]=3; [1]=4;
Impact Legend: [5]=Severe; [4]=High /context; [3]=Medium /context; [2]=Medium-low /context; [1]=Minor;

The offending native code is part of the JVM that we package with the application itself. Therefore, there is nothing we can do to circumvent the issue right now. Further releases of ADF Mobile could replace the current JVM, thus creating more favorable conditions for this to work.

I must say I was impressed by the developer tools provided by BlackBerry (formerly Research in Motion), especially the device simulator. Its boot time is an order of magnitude shorter than the Android Emulator's, and it was a joy to use.

Does your organization plans to get BlackBerry 10 devices? Is this new platform a more interesting target than Windows Phone? Let us know!   

 

Comments:

Hi!

Our organization will evaluate blackberry 10, as we have used blackberry in the past and the present.

According to our security department it is still the securest moblie platform for enterprise applications.

kind regards
Torsten

Posted by Torsten Kleiber on February 27, 2013 at 03:02 AM EST #

Hi,

We are actively developing ADF Mobile Apps here, to start for external clients but also getting demand for internal.

It deploys well on Android & iOS. I similarly tried to deploy to a Blackberry Z10 and got the same error as you after the splash screen.

While Android/iOS is more mature in the apps space, our organisation are corporate Blackberry customers. As an organisation we like the central push features, security and estate management of BB (which also supports Android & iPhone).

The big dilemma is that we partner with Oracle and would like to use ADF Mobile to develop... Many of our clients are in the same boat as I'm sure are a lot of corporate accounts.

ADF mobile targets the same corporate client base, so any thoughts on future BB supportability direction for ADF Mobile ?

Thanks,
Peter

Posted by Peter Behrendorff on April 18, 2013 at 05:33 AM EDT #

Hi Peter. Thank you for reading.

As far as I can say, we will support new platforms in ADF Mobile if there is customer and partner demand for it. The corollary is that our customers and partners will ask us to support mobile operating systems that have at least some traction in the marketplace. Consequently, you will see support for BlackBerry 10 if it sells well. I guess the next few months will influence our decision a lot.

Please note we support previous and current BlackBerry devices through ADF Mobile browser. Thus, today, you cannot build native applications for those using our tools, but at least can produce rich web applications that will render correctly on them.

For your information, I had exchanges with the ADF Mobile Product Managers at the time I wrote this post. I tried to suggest them to at least support the BB 10 Android runtime. This, however, cannot happen before we upgrade the ADF Mobile JVM to Java 8, something we plan to do in an upcoming release.

Best Regards,

Frédéric.

Posted by Blueberry Coder on April 19, 2013 at 08:06 AM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Frédéric Desbiens

The musings of a member of the ADF Product Management team.

I focus here on my favorite development framework but also have a strong interest in Mobile Development, Oracle WebCenter and Oracle SOA Suite.

Attentive readers will even find posts about IT Strategy from time to time, an interest of mine since I completed my MBA in 2006.

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today