Is it worth it to write BlackBerry apps for the older OS with BBX coming out? - blackberry

As a mobile app developer on all platforms, I am interested to know if it is worth it to write BlackBerry apps for the older OS now that BBX is coming out. I heard the new OS will have an Android player that will supposedly run Android apps on it. It seems that any apps written for the older OS won't be compatible with the BBX OS. Also, is using WebWorks a viable option? What do you guys think?

The road map ahead for developing for BBX announced at DevCon is:
HTML5, WebWorks, Adobe products (Air)
Native C/C++
Android Applications repackaged to run on the Android Player
BlackBerry OS is deprecated after OS 7. That said however, there are currently 70 million (according to RIM) BlackBerry smartphones in use, none of which will likely ever support BBX. RIM will continue to support those devices and the development environments for them. If you only want to work in one environment, and want to support the greatest number of devices, both BlackBerry OS and BBX, then WebWorks is the way to go. If you only want to support the PlayBook and BBX devices then you can use any of the approaches listed above. If you can't do what you want in WebWorks, or want to support devices prior to the introduction of WebWorks support then you will have to use the BlackBerry Java Environment.
At some point in every product line you will come to the end of useful life of a product and, as a developer, have to face moving on into the future. It is going to be worth while developing for BlackBerry OS as long as doing so helps you achieve your goals, what ever they are. So you have to look at your target market and decide if it includes those users who will be carrying BB OS devices, for probably at least the next 3 years, or not.

That's correct, legacy BlackBerry code will be useless:
DevCon update: BB-Java is dead, no java support for QNX.
By the way, the Android player will have several limitations too. Your best bet is C++ for BBX. Luckily, BlackBerry market share is declining and there's not a single BBX device out there yet.
Update: New BlackBerry 10 (as BBX is called now) phones have just been released. Here are the final dev options:
Native C++ API (optional libraries are available)
Android API, partial support
Adobe AIR API, partial support
HTML5 API, partial support

Related

How to prepare old Blackberry app for BlackBerry 10?

We have a couple of Blackberry apps and are now trying to prepare them for BB 10. These apps are made in Java via Eclipse and/or RIM IDE tool. However, when I went to https://developer.blackberry.com/platforms/bb10, I saw that there is no even a mention of Java SDK. Take a look at image below.
So how am I supposed to update Blackberry app to BB 10? Any ideas?
You have to decide what to do with your applications. If you have an Android version, one option is to repackage the APK to a BAR using the provided tool set so that it will run under the Android player. There are many good Android applications that provide an acceptable or even good user experience this way. Another option is to port your BlackBerry Java application to Android (if there is no existing Android version) then package the Android version for the player. This would also allow you to market the application to Android users. The final option is to port the BlackBerry Java applications to the Native SDK, Cascades, HTML5 or Adobe Air.
The best way forward depends on how tightly integrated into the BB10 system you want to be. While there are facilities provided in BB10 that are the equivalents to those is BlackBerry OS, there have been significant changes required to enable the improvements everyone wants to see on the new platform. If you see BB10 as a significant part of your future business then porting to Cascades would be very worth while.

Which BlackBerry Devices/OS to target? (July 2012)

We have a fairly simple mobile application, completed for iPhone and Android that does the following:
queries a web service to verify the user's account information
display an animation to show that the user, in fact, has a valid account
We got the application working very quickly on a PlayBook by using the Android version.
Now the customer has asked us to explore getting it to work on other BlackBerry devices.
None of us know that much about BlackBerry, and the main source for our question returned from google searches (http://us.blackberry.com/developers/choosingtargetos.jsp) comes up as 404 page.
According to this chart there is still a wide variety of devices in use. Which ones does it make sense to target?
Thanks
I had posted an answer last year about this here on stackoverflow, but as you noted, that link has recently broken.
The only thing I've found that's similar is this BlackBerry developer page. It shows, for example, that paid apps are being purchased by devices that are about 97% on OS 5.0 and above.
From what you've told me, I don't know that your app is going to be that different on different devices, aside from maybe the obvious smartphone vs. Playbook difference. Different devices certainly have different screen sizes, so you'll need to make sure your UI is coded to handle that gracefully.
If you guys are new to BlackBerry, you might want to stay away from OS < 5.0. There are some things in prior OS versions (e.g. location services / maps, browser, and networking) that are a little tough to work with, and with such a small percentage of paying customers still on OS < 5.0, it probably isn't worth it to you.
So, I guess I'm recommending that you target specific OS levels (e.g. 5.0+). That will be a bigger driver for how you build your app, than a specific set of devices. This is because each OS version adds more and better APIs to use.
Once you've decided which OS to target, then you should download the SDK for each major OS. For example, if you use the Eclipse BlackBerry plug-in, you can install the 5.0 SDK (aka component pack), the 6.0 SDK, the 7.0 and 7.1 SDK.
Once you have those SDKs installed, you'll then have a bunch of simulators (each SDK has a simulator folder). Run your app on all those simulators, and that'll probably be a good start.
Of course, there's no substitute for running on real hardware, too, but if your app does mostly standard things (not interacting with hardware sensors, just displaying web pages, and making HTTP requests), the simulators should give you a pretty good test environment. They certainly will give you all the screen size configurations.

PhoneGap Support for Blackberries 6.0+

I need to decide whether to use phonegap to create a blackberry application. The lure of the app being deployable to various platforms is enticing however I need to know if it will be able to support Blackberry versions 6.0+. So far the website claims support for 5.0, and 6.0. There is a link at: PhoneGap Supported Versions that is meant to explain which ones are supported however one link doesn't work and another takes you to a dated stackoverflow thread. I get the same results from other searches.
My question is can phonegap support higher blackberry operating systems such as 7.0 and later developments by RIM? Also if stability in terms of not having to continuously modify the application for oncoming OSs was important, would it be better to use RIM's WebWorks SDK rather than PhoneGap?
If you are only going to target RIM phones then the WebWorks SDK is probably the best way to go. If you want to target other devices that run iOS and Android then you should look at PhoneGap.
We get really good involvement from RIM on PhoneGap. They did all the code to add Playbook support to PhoneGap and are currently involved in the unified JS project as well.

How many versions of Blackberry apps we have to make?

There are basically two issues that are confusing us:
Will a Blackberry app made for mobile phones work on the Blackberry tablet? I see that there is a tablet SDK as well.
Do we have to make a separate versions of Blackberry app for different mobile phones?
The reason we ask this is because we come from the Android environment where we can use one SDK to make app which will work on all mobile phones and tablets as well.
The BlackBerry Smartphone SDK is different from the BlackBerry PlayBook Tablet SDK.
The smartphone applications are written in Java (RIM's version of J2ME, essentially), while for now, there are two editions of the PlayBook Tablet SDK: WebWorks, for development with web technologies like Javascript, HTML, and CSS, and one that is Adobe Flash/Actionscript/Air based. I think there is also one in development with C++ as a foundation.
You can start with the BlackBerry Developer zone - it covers development for both smartphones and tablets:
http://us.blackberry.com/developers/
The BlackBerry Tablet SDK for Adobe AIR can be found here: http://us.blackberry.com/developers/tablet/adobe.jsp
The BlackBerry Tablet WebWorks SDK can be found here: http://us.blackberry.com/developers/tablet/webworks.jsp
Information about development for the BlackBerry smartphones can be found here: http://us.blackberry.com/developers/javaappdev/
For smartphone development, you would probably want to target the minimum RIM OS that would include the most devices owned by your target customer base.
Right now, RIM claims that more than 96% of BlackBerry smartphones can be reached using SDK 4.5 or higher.
RIM keeps an up-to-date set of statistics on this: http://us.blackberry.com/developers/choosingtargetos.jsp
Typically, if you're targeting recent devices (4.7 and newer), then you don't need to worry about splitting your code to target multiple devices, as long as the UI is written without making any assumptions as to screen size, etc.
If you're targeting anything older than 4.7, then it may benefit you to make two versions - one for touch screen devices, and one for devices that aren't touch-screen. The touch-screen API is introduced in 4.7, and while it's somewhat backward compatible, in our experience, while you need the touch-screen API available for devices that support it, it's best to leave it out for older devices that do not have support for the touch API or the virtual keyboards that come with it.
If you're going to split the code, RIM's compiler does come with a C/C++ - style preprocessor which comes in very useful.

Which BlackBerry OS to target for enterprise web applications?

I am deciding between which library to use for development: jQuery Mobile or Sencha Touch. The application I am building will specifically target enterprise (Fortune 500) BlackBerries. The application will not require any hardware features, but the user experience/UI rendering should be as good as possible.
I am not familiar with BlackBerry OS adoption/upgrade statistics so I don't know what platform is my lowest common denominator. Are most enterprise users on BlackBerry 6+ or 5+ or 4+? I just don't know and I don't know where to find those statistics. What is your recommendation?
In my opinion the first step should be studying the audience of your future application.
What model do they use, do they use the most recent models, or they tend to keep working with old models.
The main point is that RIM stops releasing device software for old BlackBerry models.
For instance for BlackBerry 8800 the most recent available device OS version is 4.5
But your customer may have a lot of empolyees who use this device.
Devices with device OS version 4+, but before 5.0, do not work properly with complex html/javascript pages.
In version 5.0 there was implemented better support for complex html/javascript functionality in your applications.
Conclusion: If your potential customers are not using old devices, then start supporting device OS versions 5+, otherwise use SDK version 4.x according to the target devices.
As best practice, I would jump into learning and developing for the latest Operating System, which would be 6. I know all of our customers are working on Bolds a Torches, which means they'd be using 6.
http://en.wikipedia.org/wiki/BlackBerry#Operating_system
Additionally, I would look into creating Adobe AIR applications. They work for Application 6 and Playbooks as well.
http://us.blackberry.com/developers/started/bbdevapproach.jsp
You will likely found RIM's own "Choosing a target OS" page helpful. It has stats on current active devices as well as narrowing down to those devices that use the AppWorld.

Resources