An Experiment In BlackBerry Development
ballwall writes "We've all read the stories about how lucrative selling apps on the iPhone can be (or not), but what about other platforms? BlackBerry accounts for twice as many handsets shipped as Apple, according to Gartner, so I decided to find out. I wrote about my experiences developing my first BlackBerry application including sales, platform issues, and a bunch of other things I thought new mobile developers might want to know about."
But, there more are corporate users without the right to install anything...
---- Booth was a patriot ----
RIM needs to open the platform up. Nothing more nothing less.
Iphone users are fascinated by crappy, shiny things, so they are likely to buy any old app with good marketing.
On the other hand, blackberry users will soberly do a cost-benefit analysis before buying an app, so you're much less likely to sell.
Therefor iphone apps will make more sales.
(ok, mod me down already!)
Interesting read, ballwall, and I truly wish you luck with your efforts.
I'm not much of a programmer, but as a SysAdmin (*nix by preference, win* by necessity) I was struck by some parallels I've observed. I find blackberries to be painful. Making them work as a mobile email device tied to Exchange requires a shiat-ton of ugly third party software.
If a client bothers to ask, (and they don't), I tell them iPhone first, WinMobile second, blackberry distant third.
BES is, IMHO, a steaming pile - java, dot.net, 32-bit only. Feh. Recent iPhones handle active sync nicely and don't bitch about self-signed certs. WinMobile is a bit harder, but install your certs and you're done. blackberries (I refuse to capitalize) give me pain.
My clients pay $$ for BES CALs, the devices get stupid and need to be factory reset often and re-activated, costing my client more $$ for my time.
A colleague says "blackberries are great, they help me spot THOSE people". I tend to agree. I honestly cannot see the attraction when there are better solutions to talk to an Exchange server - previously mentioned iPhones, WinMobile or a laptop with RPC over HTTP(S) all work more simply and more reliably, and I tell my clients so. Nevertheless, I still hear "but I've got to have a blackberry"!
When It Counts.
Well, that's easy, just integrate it and beg somebody to tell you what the constant is. Problem solved.
He's certainly right about one thing: his app has an ass UI. It's RIM's fault, of course. On the Palm, Android, or iPhone platforms even "hello, world!" looks great. On BlackBerry it's impossible to get even a simple app to look good. All apps on BlackBerry that do, in fact, look good are using full-custom drawing engines. See Bloomberg, Facebook, etc. For the small developer, doing your own custom drawing is a huge undertaking assuming you have any visual design talent to speak of.
Whoops, oversight on my part. Total sales stand at 2382 copies as of the data in the article (at an average net of $8.50 per sale I've made just over $20k). Thanks for pointing that out. I'd update the site but I'm afraid to break at the moment.
The thing about Blackberry that the business users love most about it is that it works and does exactly what they want it to do. They have their contacts, their email, their to-do list, their notes and a select few other things. They don't need much else. It's perfect the way it is for most users. Adding new software to it is not an entertaining idea for most users.
At the most, they want some mapping... google maps works quite nicely for me, but essentially, Blackberry already does what it needs to do and while some will, most users don't want anything more.
I've been a PodTrapper user since this past January, and I have recently started looking into BlackBerry Development myself. As his write-up makes clear, Marcus at Versatile Monkey has to be one of the best developers I've had the pleasure with interacting with. I really appreciate the 'insider' view of developing for BlackBerry, and I'm sure his observations will be useful for my own pursuits.
I'm sorta cribbing from his summary, but I did RTFA...
Pro:
Con
Most important lesson IMHO: "Everything is marketing."
His issues with the platform and the resources available on a BB really bring the differences with iPhone OSX and BB into relief. An iPhone is guaranteed to have a particular hardware config, and be very capacious in RAM and drive space, and has very teh shiny widgets and will always have the latest APIs; it also provides a brainless e-commerce platform to sell and install your app, to the point where buying a mobile app could be considered impulsive. You pay for all this with the fact that the Apple overmind decides if you can sell your app or not and takes its cut.
Don't blame me, I voted for Baltar.
You do have to take into account that PodTrapper had huge demand. There was absolutely no solution for OTA podcasts on Blackberry before PodTrapper. It was a game changer. I don't even use my iPod after I got it.
Curious to find out if you think that 20k is a reasonable return on your investment programming it in the first place? Have you done some analysis on your hourly rate after you look at your time spent working and income returns?
Was it a case of "I want to make money" or "Hmmm, how does this thing work... Oh, money..."
Moved to http://soylentnews.org/. You are invited to join us too!
Great article so far. I'm only a fraction of the way through it but one part really caught my attention.
RIM has all sorts of UI widgets they use in their first party applications -- rounded corners, sliding screen transitions, gradient list fields, etc. -- but they don't release any of that for use by third party developers. The results are apps with wildly inconsistent UIs, created by developers who had to spend considerable effort making them inconsistent.
Say what you will about Apple, they really want developers to create great-looking apps that look at home on the iPhone, and they really do a good job of giving developers almost all the tools that they use themselves. (Same with OS X/XCode itself.) Someday an anthropology student will write a great tome on the different development communities and their relationships with the vendors: BeOS, Palm, Apple, MS...
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
A lot about it. That is a pretty long posting with some insight for people completely unfamiliar with the world of blackberry development.
The story gets an upmod for that, though I suppose it could be seen as a really long plug for the guy's product. He mentions the surge from advertising on blogs and even includes graphs showing his trials vs. sales over time with some bumps pointed out.
A decent read overall.
Much more on the "This will be fun... Oooh, money" side.
Well, and a lot of "#@$&* why is there no app to do podcasts on BlackBerry?". (Commuting sucks without podcasts, imo).
The interesting part is most of the costs are up front. I took two weeks off of work to write the initial version, and after that I've been tweaking it nights and one or two weekend days (two at first, maybe half of one now).
In hindsight I should have tracked my time better, but I'd estimate I spent just over 250 hours in code, and I probably spend about 6 hours a week doing support these days (much less earlier), so about 400-450 hours to this point. That works out to be somewhere between $45-50/hour.
But... the majority of the work is done at this point and I'm still bringing in an additional $1k/week with the ongoing sales, so the picture is getting continually better. It'll be interesting to see how long it keeps up. This slashdot article (and the waves it makes) will likely be the last bit of marketing hoorah I can get out of this app, so while I'm hopeful, I'm not optimistic. As I said in the article, marketing is really really important. (Well, until the App World gets some marketing of its own, I suppose).
Regardless of how it turns out, it was still a lot of fun. And my users seriously rock.
-Marcus
IIRC the only podcasts apps created for iPhone by third parties were all rejected by the app store.
Ssshh. Pay no attention to the man behind the curtain. :)
In all seriousness, while marketing was the goal I wanted it to be a mutual exchange. (I actually mention that in my conclusion). I hope that there's no less value in it as a result. (I did try to mention the actual product as little as possible)
-Marcus
Please do a follow up on what was the effect of the slashdot effect.
No way have I found a BB device less painful to support than a Windows Mobile phone. Both have there problems, most time it's the provider or user. If you have a good running Exchange server(s) I'll take a BB everytime.
Get up!
A couple of people have asked for that via email.
I set up this forum post as a placeholder where I'll post an analysis this weekend (if you want to bookmark or subscribe to it). It's locked so you don't have to worry about errant notices.
-Marcus
Well, it should be pretty obvious to everyone that all such stories have "Marketing" as a goal. However that doesn't make this story any less interesting. Kudos, Marcus! And all the best for this app.
Not at all. If that was the impression I gave I think I did a poor job of communicating. I have gripes, definitely, but I had a lot of fun doing it. And, platform wise, this app wouldn't even be possible on the iPhone or Pre. (I am thinking about porting to Android, though, if their user numbers pick up).
I would have loved to know some of the stuff I know now before I started, and help from RIM on the look and feel, but that's about it.
-Marcus
I, for one, enjoyed the read, and walked away more informed. Thanks for taking the time. I hope your product does well for you.
I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
Loved the article. There are not many people/companies that will share these kinds of details. Kudos.
Once the slashdoting dust settles could you please update the article with post slashdot data ;-)
Thanks
platform wise, this app wouldn't even be possible on the iPhone or Pre.
Why not?
Do you mean that the iPhone and the Pre prohibit this kind of app, or are you referring to the availability of Java?
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I actually have a free application on the BlackBerry App World called HP Printer Fun, which lets users mess with the LED screens on the HP Laser Jet printers (plus some inkjet ones too) for fun.
I've written some other apps as well and the experience is not so great. My gripes are as follows:
On the other hand, the docs are pretty good. The support group at BlackBerry dev site is simple superb. Examples are plenty and the API just freaking makes a massive amount of sense. And for the adventurous, you could use a beta version (might be released by now) of an Eclipse plugin.
I probably shouldn't have spoken about the pre, as the only reason I had was the current lack of an SDK.
For the iPhone the lack of background apps and large local-only storage are the issues. (You can store things on the phone, but the stored data is always synced on backup, as far as I know. PodTrapper regularly manages gigs of data on an SD card). After that you have to deal with the app store, but I imagine they'll be lightening up on that soon.
It's probably worth mentioning that the base podcast solution on the iphone is probably good enough for most users, but that third parties attempting to build better ones have been rejected by the app store in the past.
Some of us who work for a living and commute plug our oh-so-overpriced smartphones (which have the benefit of working in locations beyond our parents' basements) into our car stereos or headphones while we commute to our places of employment.
It's less masturbatory than sitting on Slashdot being bitter at people who like nice things.
Pretty interesting. Shame that the later posts degenrated into a epeen contest over which phone has the hairiest nutsack. Oh, wait, this is /. My bad.
I'm sorry, are you kidding me? The blackberry requires all your corporate communications to go through their third party server. That's the big security hole you need to be worried about, right there.
Not really. From how I understand things:
. message arrives on your e-mail platform
. it's encrypted, sent to the local BES server
. encrypted again, sent to RIM's data centre (unencrypted on arrival)
. sent to you carrier provider's DC, encrypted (GSM/CDMA) and sent over the air
. unencrypted via the GM protocol, unencrypted with the key it shares with your messaging platform
You can also have all SD media encrypted as well, and have remote wipe functionality.
There are a lot of government types that use BBs, and I'm sure that it's been looked at quite closely. For what it's worth, the BES has a EAL 4+ CC cert, and the Blackberrys themselves are also certified. Commercially available units can't handle SECRET or TOP SECRET though:
http://na.blackberry.com/eng/ataglance/security/certifications.jsp
I'm sure that's good enough enough to protect most corporate information.
When I kicked off my main BlackBerry project, a surprisingly useful app called LogicMail, I had some similar motivations. I basically really wanted something that didn't exist (at least in any usable form) for the platform.
Though instead of trying to commercialize it, I went for the F/OSS route. In retrospect, one could say I was short-changing myself, but there are other very important pieces of the puzzle that you need to consider first.
First of all, the moment you decide to sell an app, you pretty much cut yourself off from any and all possibility of community contribution to the code. In the beginning, its no big deal as no one contributes anyways. But as the project grows, everyone has a pet feature they want and you don't have the time to work on. Often these are low-risk items you don't mind including.
Second, and probably the biggest issue, is support. If you are going to sell an app, you really should be able to confidently stand behind it. You are essentially taking on an obligation to support it and resolve any user issues. This might seem reasonable at first, especially with small apps, self-contained apps, or apps that talk to sufficiently known/standardized servers with highly constrained protocols. But with my sort of app, there were just too damn many variables to consider. I basically had to turn my users into testers, and a beta stage wouldn't have really helped much. There are just too many e-mail servers and encoding formats to catch it all up front.
Finally, having an open source project is kind of like the developer equivalent of having a portfolio. Its an open way you can show what you're capable of, to a degree pretty much impossible with your day job.
Oh, and I do have a day job, and it pays well enough that I really don't need to stress myself to death for a few extra bucks.
It won't be long. Then what?
Just check here: http://na.blackberry.com/eng/developers/javaappdev/javaeclipseplug.jsp Free Plug-In for BlackBerry Java Development with Eclipse! Cheers, Cris
Figured I'd take this opportunity to say 'thanks' for the article. It was very well written and informative. Good luck to you.
I think it would be really interesting for you to learn development for the iPhone using Apple's SDK and compare and contrast the experiences you had doing development for the BlackBerry.
I'd suspect that the conclusion you'd reach would be that the iPhone SDK is the most pain-free (relatively speaking) mobile development experience you've ever had and you'll start to understand why Apple is getting so much developer mindshare despite their draconian stances on the App store and background apps.
As someone starting to develop a BB app for app world et al myself, I just wanted to thank you for taking the time to write that article. That was an excellent read, and very helpful.
Wait until you try programming a GPS app. Every different telecom has different settings needed to get the GPS to work at all (even when they allow you to use the GPS without having to get special permission, like Verizon). Many of the documented API settings *don't* work, particulary on CDMA blackberries. Some telecoms have disabled BlackBerry Maps because they want you to buy their gps nav application, so you can't count on it being available, or even installable, and even the built-in map objects that you can in theory use inside your apps on OS 4.5 or greater relies on BlackBerry Maps being installed, so you can't rely on that either.
I admit no knowledge of Blackberry phones or their apps. Your detailed account of development was super-interesting and I wish you the best of luck. Just one comment:
You've been trying to contact Audible but they're not returning your calls. Reminds me of this:
http://www.joelonsoftware.com/items/2009/06/10c.html
Maybe Audible doesn't want to help you because they want to implement what you've already done?
Not while I see potential in doing it full time :)
Instead of just letting it die, though, I open it up. (Assuming it ever got to that point)
Yup, looks like I had old data. Probably worth noting that it took them 4 months to get in, and they had to remove features to make it happen.
Oh I'm sure of it. I say in the article I really envy the iPhone developers out there, the tools look really slick (though I wouldn't enjoy going back to memory management)
The only hesitation I have is precisely that it's the "number 1" platform as far as mindshare, which means there's a LOT of competition out there. Marketing is by far my least favorite part of this, and it seems like it would be even more important on a platform with so much competition.
There isn't a podcast application strictly on the Blackberry, but you can sync the Blackberry with your iTunes and include podcasts using the Blackberry MediaSync program. You can find it here: http://na.blackberry.com/eng/services/media/mediasync.jsp
"The story so far: In the beginning the Universe was created. This has made a lot of people very angry and has been wide
I commute by public transportation. I used to listen to podcasts but went back to the old style, you know, reading thing. The biggest reason: I can read much faster than listening to a guy talking. If I have a lot of material to catch-up reading is much more effective.
The purpose of life is to find the purpose of life.
I heart Podtrapper.
The update manager... Now that will make Nokia owners proud... It downloads 400+ tiny files over HTTP, realtime (what can go wrong?) and pushes it to device one by one.
No it doesn't. BlackBerry firmware updates are distributed as Zipped installers. The installer places ALL of the necessary files into a directory on your hard drive. The next time you run the BlackBerry Desktop software, it will find those files and inform you that a new update is available for your phone and ask you if you want to install it. During the update process, the files on the BlackBerry are backed up, the flash memory is erased, the new firmware is loaded, the device reboots, and then your custom files/databases are restored. I've never had any kind of problem.
How can Blackberry sell devices?
They accept money. Lots and lots of money from lots and lots of happy customers.
Breakfast served all day!