Channels ▼
RSS

Mobile

Note to RIM: All Things to All Developers Will Not Succeed


Research In Motion (RIM) is a company that gives off a lot of signs of being in desperate straits. Its Blackberry product line is under unremitting siege from Apple's iOS and Google Android, not to mention Microsoft Windows Mobile and HP's WebOS. Despite being the market leader in the U.S. last year, the company's market share has been in a prolonged decline. According to ComScore, between November of last year and February of this year, RIM's market share fell from first place to second. However, in this new alignment, RIM is closer to third place (Apple) than it is to the market leader, Android. This situation is likely to worsen, as Verizon's new contract with Apple is likely to swell iPhone market share past RIM.

RIM's response has been slow and, to my eye, unconvincing. Its entrant into the iPad clone sweepstakes is called the PlayBook. At a recent demo, the RIM reps emphasized a key differentiator for them; namely, that gestures made to the touchscreen could begin off screen — that is, on the bezel that surrounds the screen. As an iPad user, I see the value of this benefit as minor.

RIM also emphasized the platform's potential attraction to developers. The PlayBook supports most Web standards (HTML5, CSS3, etc.). It also supports Adobe Flash, and recently announced support for Android apps and Blackberry Java. The latter capabilities are enabled via a downloadable "app player" that then runs the Android or Java app.

To prepare software for the PlayBook, apps will need to be repackaged. Once they're downloaded, the repackaged apps run in a sandbox. Combined with the required "app player," this sandbox makes me uncomfortable. I'm finding it hard to believe that Android apps can run seamlessly in this arrangement. More likely, they will run acceptably.

The RIM strategy of supporting everyone and everything will be extended shortly, when RIM unveils its BlackBerry Tablet OS Native Development Kit (NDK), which allows developers to write apps for the PlayBook in C and C++.

Taken altogether, RIM is saying, whatever your language or whatever your OS, your app will work on our platform. This is an admirable view and one that most developers would be pleased to see adopted by other vendors. But, it has downsides.

Historically, this approach does not work. When vendors offer to support multiple languages or systems that are not their own, they typically do so in uneven fashion. While RIM might support its NDK aggressively, how fast will it rev the Android emulation? Will it make sure that all apps work identically and without code changes, or will platform-specific tweaks be necessary?

At a recent press event I attended, RIM displayed its use of Web standards for app development and stated repeatedly that these standards would be the company's principal development platform going forward. I was willing to accept this until the demo, showing the app written in Eclipse using XML, HTML5, and CSS3, which repeatedly failed to run. The NDK was not known at the time, nor mentioned. So, the question to be asked is whether both RIM development platforms will be supported equally? And whether Android apps will ever be first-class citizens. These questions matter.

The hope of attracting developers by supporting many languages and platforms is, in my view, the wrong way to solve the problem of insufficient apps. What developers want is not so much ease-of-migration as the assurance that the migration will result in greater sales. As a developer, I far prefer that RIM would do more to stanch its loss of market share, provide a tablet with demonstrably better features, and attract developers through superior features, rather than through "whatever you want, we got it."

— Andrew Binstock, Dr. Dobb's Executive Editor
alb@drdobbs.com


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video