February 5, 2013

Now that the Blackberry 10 platform is "out", all developers who have caught up to the hype are probably pondering if they should take some action with regards to developing for this new platform. I believe the practical considerations going through the minds of potential future Blackberry 10 developers were well crystallized on the SGEntrepreneurs site in the article titled "Should you develop for the Blackberry 10?".


The article is very good and up to the point. In addition to that though, from our end as the developers of Eqela, I felt like perhaps I could try to add some further perspective on the matter.

Here are some key points from the article:

1. Whenever a new platform has been launched, developers and companies have to make a decision about whether to develop for the platform.

2. Is the BlackBerry 10 platform (and the phones running it) going to gain significant market share?

3. What is the cost for developing for the BlackBerry 10 platform?

4. Are folks going to download or even pay for my app?

5. As app developers, it would be unwise to focus solely on one platform.

6. So should you develop for the BlackBerry 10?

And here are my comments:

Whenever a new platform has been launched, developers and companies have to make a decision about whether to develop for the platform

This is unavoidably true, and I bet this really is a source of great stress for many. If it was not hard enough for developers up to recently that you need to develop all your applications twice (once for Android in Java and once again for iOS in Objective-C), Windows Phone was added (and as soon as the guys at Microsoft will be able to decide what programming language and API will be the preferred one to develop for it, then the world can start considering whether or not to start programming for it), and now Blackberry 10. So good luck developing your applications now four times. And look at the news from the grapevine! We will have the Ubuntu mobile OS (and we are anxious to see the final word on how to develop for that), and Firefox OS (which will require you to do Javascript). And then we'll have Jolla. Develop for it using C++, probably (?). So you will not need to develop your apps just four times, but seven times! And that's ignoring the desktop and the classic web environment.

So as the world of software developers gets ever more complicated, the question of choosing what platforms to develop for surprisingly becomes increasingly less and less important approaching irrelevancy, simply because of the impossibility of answering the question. If you adopt a "traditional” development strategy where you develop for each platform with the vendors' tools, using the language and the IDE and the SDK provided by the platform vendor, perhaps by looking for people skilled in that particular platform to do your coding for you, your answer to the question at hand (the "decision about whether to develop for the platform”) automatically starts to become "NO”, simply out of necessity. You just cannot add another development team to remake the same app once again.

So either you start saying no to platforms .. Or you need to go for a cross platform development approach.

Now for cross platform development tools, you have a lot of options, and I won't go into a full blown comparison here .. But suffice it to say that all but one have a notable disadvantage: The applications will not be native. And if you look at articles on cross platform tools anywhere on the web, mostly they will say that they're good, they're nice, but they don't really work, and there is nothing like going native. And that's not because of "cross platform development tools” per se, it's just simply because almost all of the tools have that problem. Pick any (except one) cross platform tool out there, and it will give you apps that do work on more than one platform, but your apps will be interpreted, limited, slow, the installer may be huge, they might use a lot of memory, or otherwise cause trouble to you or the user or be in a disadvantage in some other way.

And I bet with the advent of Blackberry 10, many of you developers out there are already there. You will say no to BB10 because you are tired of this mess. And I don't blame you. (But just a side reminder: Having a lot of competing platforms and operating systems is good for everybody, including you, and it would be in your long term interest to encourage a new platform. Having competition alive sparks innovation and prevents any one company from dominating everyone in the world. Let's not forget how painful that was the last time it happened.)

So without that one development tool, it will be difficult to say yes to Blackberry 10. Even if you would want to.

Is the BlackBerry 10 platform (and the phones running it) going to gain significant market share?

If you are going to invest in a whole new department in the software engineering division of your company, this is a significant question indeed. You will be investing heavily into the manpower, training, recruitment, etc., of the skilled Blackberry 10 specialists, and you need to project it long term, and you'll need to be very sure that it will be worth it. But let's not pretend here: Almost no one that I know would go for it. Most people I know would wait and see, and if ever BB10 starts to show signs of having market share, then slowly they'll start looking into possibly considering Blackberry 10. Because the gamble is just too high.

Again, if you can lower the risk by using existing developers and existing applications to target Blackberry 10, then the gamble is not high at all, and the platform is worth considering.

What is the cost for developing for the BlackBerry 10 platform?

Going the traditional way, the cost will be high indeed, composed of recruitment, manpower, trainings, other HR costs, etc., etc., and it will be recurring, continuous bleeding. Using a good cross platform tool, the cost will be 150 U.S. Dollars per year per developer.

Are folks going to download or even pay for my app?

Of course, market share considerations aside, this will greatly depend on the application. But having technical problems thrown out of the way, you can hopefully focus on the actual functionality, and making it better and better (rather than developing the same app over and over again, and spending increasing amount of time on the impossible task of trying to make different codebases of the same program do the same thing).

As app developers, it would be unwise to focus solely on one platform.

I completely agree with this one. But traditionally, it is also hard to do anything else. Again, as you've noticed, I do have a proposed solution.

So should you develop for the BlackBerry 10?

And here's my opinion: Yes you should. Because BB10 is a good platform (and those of you who know me, you know how difficult it will be to get me to say something like that). In initial testing, Eqela apps on BB10 were faster than on any other platform. And as developers, if you support the continued availability of multiple platforms, that will give you more value, freedom and leverage in the long term. But as I have discussed above, it does not come without its challenges; then again, the challenges can be overcome.

So as for me, I hereby welcome the new Blackberry 10 platform to the world, and I wish you guys at Blackberry (formerly called RIM) all the best of success. Eqela is ready for it.


Share this article: