Why BlackBerry failed to build OS 10 ecosystem
Why to write this?
Last time lot of opinions and rumors regarding BB10 death and end of life were posted here on the forum. Most of them (including me) were from the customer point of view, but we always want more native good quality apps for BB10, and lack of them can be a strong reason to go to Android or iOS. I'm developing for BB10 since the begining (from the 10.0 version), and I want to track down the way BB10 has gone from the start till now and to share some thoughts on different aspects of BB10 developement so you can better understand why BlackBerry has so weak app ecosystem.
The start
After BB10 was announced lot of developers (at least I think so) were interested in a new and perspective platform with possibly several percents market share. You need to get a device first, because doing the work on a simulator is painful. BB10 powered developer devices (Dev-A and so on) could be received on some of the BlackBerry Jam events across the world. But hey, what about too far and cold Russia (yeah, some people think the life is possible only within the Moscow)? How to get the developer device here? You had only one chance on BlackBerry Jam event in Moscow, which could be be easily missed by lot of reasons. I was trying to contact BlackBerry team directly to ask a device, but no luck. They redirected my email to corresponding team and then no signs of answer.
To make it clear, I do not complain about free devices. I was ready to buy developer device for its price and was asking about such a possibility. Why didn't they sell those devices to all who wants it? At least, they could make some profit from that. It's a BlackBerry fault that they didn't provide worldwide developers with devices prior launching BB10 on Z10 to public.
If you want to attract more developers to completely new platform with zero market share, you should provide either developer devices or some kind of support program.
Which way to go?
From the first SDK release you can choose one of the ways to develop app:
- Native (C) low-level development
- Cascades (C++) based on Qt4 framework
- Adobe Air
- HTML5 Webworks
- Android runtime
Which one do you choose? This question had been asked several dozen times on developers forum, and lot of people couldn't decide which way to choose. Does iOS or Android has such a variety of choices? It is really strange that BlackBerry being limited in resources (people, time and money) tried to go 5 ways simultaneously. It was a road to fail. And after some time Adobe Air support was discontinued (say hello to some of developers), Cascades has been merged with Native C APIs (at leas on the web site). And the same thing with Flurry analytics and Ad framework. They understood that at the end of BB10 real life.
The same thing is with IDE. You can choose Momentics (Eclipse based) which is for me not so comfortable and it is quite heavy itself (using Java), or you can use Qt Creator (which I really love). They have spent lot of efforts to add BlackBerry devices support to Qt Creator, but why to go with two IDEs? Each of these IDEs have pros and cons, but I can't say anyone is really good for BB10. Momentics is better for GUI development, Qt Creator is better for libraries and third party code. I think it was better to concentrate on one of them and polish it till more usable state.
Looking at all of this you can think that BlackBerry didn't know what to do at all. They didn't have a plan.
Development
I have been using Cascades with Native C APIs sometimes, and I have to say that they are really solid now. You have almost all APIs you need. With each SDK release more and more APIs had been added. It was a great progress from one release to another and it was really fun to add support for new features in the app. Cascades has easily extensible architecture and I must to say that framework was going right way: all APIs are consistent, all APIs are going the same approach, and it is easy to understand it and learn how to do things properly. If you need more power you can always use Native C APIs.
BlackBerry developer forums are a good place where are lot of people trying to make things better and helping each other. At first time when there was a lack of good documentation and app samples it was a right place to come.
You must have a real device to make a good app. But if you do not have one you can use a free simulator. Oh wait, if you have a Mac, you have to buy VMware Fusion to run simulator images. No VritualBox support.
BlackBerry Developer Rewards
As a developer you can earn reward points posting posts on the forums, submitting apps to BlackBerry World, writing articles to Knowledge Base and so on. Then you can exchange these point for something with BlackBerry logo on it: T-shirt, mug, vacuum bottle, tickets to BlackBerry events and more. It was some sort of motivation for developers to participate more, to spend more time on forums, to develop more. But after a year or some program was closed. All reward points you haven't spent had gone to charity (converting in $ before). Sorry, BlackBerry, but where is a report how you had spent those money for charity? No transparency at all.
$10k contest
That was pretty interesting contest. If your app collects at least $1k during the first year BlackBerry will add you up to $10k. Wait, but how can you participate without real device? Right, you can't :) It was really stupid campaign when people were trying to push their crap into BlackBerry World on Christmas and New Year before the submission deadline. It was the first time BlackBerry World received a portion of useless apps. Actually I do not remember winners to be announced.
The Great Flood
At some point BlackBerry started to flood Blackberry World with tons of Android apps. They didn't work properly, sometimes they didn't work at all. But it was only a race for app counter. They wanted to show the app counter to others. Nobody cares about the app quality. Do you remember that S4BB vendor with more than 50 000 of apps (out of 230 000 total) approved in BlackBerry World? That was really fun :) But BlackBerry wanted more crap in the store so you can feel good there. They launched several so called Portathon specially for Android developers to port several thousands of Android apps in just a day. How could you make a high quality Android port in a day? It doesn't matter, just submit something to increment the counter. You can submit up to 20 apps, and you will get $100 for each. For 5 and more apps you can get developer device.
I hope you get it? Why do you want to win a device if you are already developing and submitting apps? Or are you developing apps without device on simulator and submitting this nightmare?
And that Z10 Red campaign was a real mascaraed. If you have developer device before BB10 OS launch and submit several (IIRC, three and more) apps (including native) before deadline, you will receive ANOTHER device. Wait, why didn't they give those 12 000 phones to native app developers without phones before BB10 launch? Ask BlackBerry first. They gave several devices for some people, and for some they gave nothing.
That was a start of the great crap flood to the store. People were not interested in making high quality apps, they were only interested in submitting something before deadline to get yet another phone. Developer forums were full of posts discussing how to get a device, not how to write a good app. But the counter was ticking, and all was fine for BlackBerry.
Maybe you ask about special campaigns for native developers? Yes, I remember one. You can submit a description of the app and your plan on it, and you must develop it in three months. If BlackBerry likes your plan you will get a device. But it is hard to develop a good app in three months if mobile development is your part time hobby. Again, they were not interested in high quality apps.
Even if you write a good app it will be washed away with Android flood.
Built For BlackBerry (BFB)
It is a program for native developers only (thanks God!). You have three attempts to qualify for this status. It gives you a special badge in the store and... actually that is all. However BlackBerry says they are giving you some privileges before non-BFB apps, but I didn't see that. Moreover BFB apps are at the bottom of the search list :)
To qualify for this status your app must follow BlackBerry 10 UI Guidelines. But how to verify that? Yes, the reviewing process is very subjective. You can read a dedicated brach on developer forums, and lot of people complaining for apps being rejected. I have to say that some of rejected apps were really solid and well done. But also you can find a lot of BFB apps which are a complete mess and do not follow UI guidelines. I do not know how they have passed the review.
For me it takes several months to receive this status. First time app was rejected for normal reason after long time review, and second they have forget about the app. After several months of waiting I wrote to support and review had been finished.
This program was intended to improve apps' quality in the store, but I do not see any effect at all. It was very weak in terms of promotion and realization. It's like growing a rose in the center of garbage.
BlackBerry World
This store is a boring thing from the start. They are promoting the same apps for almost three years, the same selections, the same banners, the same broken Facebook app. Sometimes promo banners are so awful that you can't show this to a child. I have tried to contact BlackBerry marketing department, but no success. For example, before Z3 launch in Indonesia, I have fully translated the app into Indonesian language and offered it for promotion during the launch. The idea was that after the launch in Indonesia they need localized high quality apps to make store more attractive. But I was wrong. Sometimes I think they do not want store at all. They have it just because others have.
Submitting apps was a pain at first. For example, if you want to change screenshots order you have to remove them first and upload again in proper order. But after removing old screenshots they were removed from the store before approving the new ones. It is stupid. Thanks for last BlackBerry Vendor Portal update they have improved it a lot.
Reviewing process is quite smooth and takes about 48 an hours. I haven't experienced any problems.
Promo codes appeared only 1.5 years after BB10 launch. What were they doing? You can't even promote your app itself. The store doesn't have any well know promo campaigns like Apple' Editors Choise. As developer you do not know the ways to promote the app. All is chaotic and unpredictable.
Current State
Actually BB10 development is dead. Do not tell about those future maintenance updates. The platform development is actually dead. Look more closely on it:
- No SDK updates (including Momentics IDE) with new features for almost a year
- SDK development roadmap removed
- Cascades framework based on obsolete Qt4 framework
- BB10 support in Qt5 officially deprecated in Qt 5.5 and will be removed in Qt 5.6
- BB10 support removed in Qt Creator 3.5
- BlackBerry doesn't provide debugging symbols for OS 10.3.2
- BlackBerry Developer Rewards program is closed
- Recently announced update for developer site: changed the landing page
- Unity discontinued support for BB10 in Unity3D engine
- Distimo discontinued support for BB10 on their statistics portal
Some people can continue this list. Please do not lie to yourself. Just understand that is becomes harder and harder to support modern software using old and obsolete tools. You have to fight with some things. But who will come to dying platform? No one. Developers want to see progress and development, new features and support from the vendor. But when BlackBerry puts all your hard work along with the crap and mess it is hard to motivate itself doing more. I think only several dozen developers are still improving their apps now just for fun.
Conclusion
The main reason of the fail is the absence of strategy. They didn't choose their unique and strong way but instead tried to go everywhere. Tried to do everything. And everything has gone wrong. BB10 was ruined from the start not as OS itself but with a lack of strategic view on ecosystem growth and development. And I'm not saying about advertising campaigns. I hope with Priv they will do it better. I have to say that it was a real fun to go along with BB10 from the start till the end. But we all need to move on.
Why BlackBerry failed to build OS 10 ecosystem
The moral of this story is that the only good incentive for developers is a large number of potential app users. Any other incentives just result in unintended consequences. Just look at the most successful app store � the iOS one. They have never offered any incentive to developers. No devices. Going to WWDC cost $2000 plus your travel expenses. You have to put a lot of work into keeping up with the platform otherwise your app either breaks every year or looks dated. You can't even use your daily device for development because the beta versions of the OS can be quite buggy and are completely unsupported. Oh yeah and it costs $100 dollars per year.
They are wildly successful because they have the most potential users free or otherwise and compatible devices including iPad, iPod touch, Apple Watch, and the iPad Pro coming out next month. Their tools are powerful and well-documented. There is little piracy of apps.
Most iOS developers have a love-hate relationship with the platform. However, what you want to see most as developer are lots of people walking around with compatible devices that could download your app in less than a minute given a link. That's all you really can ask for.