Today I continue my report from the BlackBerry WES show in Orlando.
After Monday being devoted to RIM Alliance member business, the past two days saw the show open up to a more general audience. There are a lot of attendees, I'm not sure of the number but it sure feels like more than last year's show.
The sessions I've attended have been well presented and contained good information. In my company I am a software developer, a business owner, business/partner development, and I even do some marketing, so I try to attend sessions covering a pretty wide range of topics. I learned about some areas of the BlackBerry solution that I had not known very much about, including BES and how "server push" works, some new areas of LBS/GPS functionality, and some presentations on clever products and solutions from different vendors.
The best session today was chaired by Mike Kirkup at RIM and included a panel of RIM's platform development group managers. To their credit, they stood up there and listened to a litany of problems, gripes and complaints from a fairly large group of developers who were struggling with development issues.
I'll give you an example of a big problem BlackBerry developers face: there are floating out there BlackBerry devices in use that have a very wide range of operating system versions on them. The new Bold runs OS 4.6, and 4.5 is about to hit the market as an upgrade to existing devices. Most 8800's, Curves and Pearls today ship with 4.2 or 4.3, depending on what the wireless carrier supports. An 8700 or 7130, which were the hot devices only a year or so ago, run 4.1 but are possibly running 4.2, 4.3 or even 4.5 (shortly). Older devices such as the 7290 are most likely running 4.0, but could be running a 3.x OS.
Why is this a problem?
Well, the way the development tools are set up, you have to specifically decide which target devices and OS versions will need to run your app, since this dictates the features your app can access. Yes its possible to write an application that runs on all devices new and old, but you would be sacrificing the ability to access any of the newer features that have been introduced along the way. If you decide you want to use a feature in your app that is only available in OS 4.3 or later (video streaming, for example) then your app will *only* run on devices which run OS 4.3 or later. This is all fine if you are a corporate developer writing an in-house app where you know exactly the devices used by your organization. But if you are a commercial application developer creating a business or consumer app, you have to worry about the range of devices and users that may attempt to download and install your app.
The folks at RIM have stated that roughly 75% of the market is running 4.2 or better. So putting it bluntly, if you use features in your app which require 4.2 or better, 25% of the BlackBerry users out there will not be able to use your app. In fact, if they try to install your app on their device, they will get strange and confusing error messages, or a crash, or both. Not good. Essentially, this forces many BlackBerry developers into a situation where they need to build and post multiple versions of their applications, each of which supports a different OS version. This is confusing to customers, a hassle for developers, and bad for RIM.
I'm the first to agree that its unreasonable to be expect to be able to create an app that magically runs on all OS versions....RIM could do it, but it would be a tremendous effort and a drag on their efforts to move the platform forward. But there needs to be a happy compromise....developers need to be able to produce an application with confidence that it will run on a reasonably large percentage of devices out there. Further, they need to be able to include features in their apps that take advantage of the newer devices, but which will still run on older devices. I know it sounds simple, but I realize its a burden on RIM. The panel at the session I attended recognized the problem, but it does not appear there is a near-term solution in sight. Lets hope they go home to Waterloo and talk about the problem some more....an awfully large percentage of the developers in the audience indicated this issue is a problem for them.
Thats all for now - one more day at WES tomorrow, then back to the real world. Again, if you are at WES, give me a shout at firstname.lastname@example.org.