BB10: It's Gotta Be FunOctober 4, 2012
One of my reflections this week is that a key thing that BB10 development must succeed at, in order to be successful with devs like me, is that it needs to be fun. It needs to be a positive experience that brings joy and keeps you coming back.
I'm a developer that works full time, and so every now and again, when I find an hour or two for some recreational coding, I want to do something that I am passionate about. Something that is entertaining, fun, positive. The PlayBook delivered on that, big time. Adobe AIR is a very mature platform, with a rich class library. You can do a lot with a little bit of code. And the PlayBook didn't add much complexity on top of that. Because ActionScript had been around for so long, you could Google just about any problem or question you had, and find decent answers. It doesn't get much better than having an app idea, sitting down for 4 hours, and at the end of it having a shiny new app that was both fun to create and rewarding to share with others. Bam! That'll keep you coming back time and time again.
BB10 via Cascades/QML isn't there yet. By my best estimations, it's almost there, and I just need to hang on a little bit longer, but the unfortunate reality is that as of October 2012, my BB10 development experiences haven't been fun. They've been frustrating, and slow. And it's tantalizing, because what RIM is building looks so, so good. I love just about everything about the platform, the design, the devices, etc.
Most recently, this week, after so many exciting things coming out of BB Jam Americas, I was excited to spend an hour or two and try out the new SDK. I loaded the new SDK, fired it up, and fixed some of the compile time errors that were a result of API changes. One of the API changes gave me a hard time, because the instructions on RIM's page for how to incorporate it didn't mention anything about their modified code snippet requiring new include statements, and the compile errors that resulted were, in typical C++ style, not especially helpful. But once I got over those hurdles, the app compiled. With nervous anticipation, I clicked the "Debug" button.
And that's where things ground to a half. The console contained all sorts of errors in red about corrupt shared libraries. Off to the support forums I went, but didn't find any existing posts. As per usual, Garett from developer relations at RIM came to the rescue and with the tip of uninstalling 10.0.9, forcefully deleting the API, and then re-installing, I was up and running.
Sort of. Now when I ran my app, I couldn't load any secondary screens. Great. I eventually determined that some of my QML files had errors in them, but inexplicably those files don't show up in Eclipse with red error icons. Rather, you have to manually open each one and look for red squiggly lines. Face palm. Not was I was expecting as a developer using state of the art dev tools in 2012. At the very least, the thing shouldn't compile and deploy to the device if files have errors in them.
So, I solved those issues, again due to changes in the API, took a deep breath, and tried again. Still no ability to load secondary screens. When using the app, nothing would happen when I'd touch an action bar item. Nothing in the console, nothing on the screen... just, nothing.
Later this week, when I had another hour of energy for BB10, I tried again. I spent half an hour trying every possible thing I could think of to narrow down the problem and isolate what was going on. But nothing I tried really helped solve the issue or narrow it down. In the end, I couldn't even get console.log statements in the QML to work.
We're all human. We all have finite patience, and this is where mine ran out. I felt angry. I felt like slamming something, turning off the dev tools and shouting an expletive. And those things aren't typically part of my personality. I was really, really disappointed. Yes, I was obviously making a programming error, so my fault, but the point is that the tools weren't doing their job to help me as a programmer find my mistake. And without that, programming goes from being "fun" to "get me the heck out of here" very fast.
This time I didn't even bother to post to the forums, I sent Garett an email directly explaining my emotions and disappointment. This guy is amazing. As per usual, he promptly returned my email the next day with helpful explanations of exactly what was going on, and how to get past my issue. Brilliant.
But I need to pause here. As much as I love and am blown away by RIM's developer relations, they shouldn't and can't be a substitute for properly working tools. It's just not a sustainable model. In the end, and I really wished by now, RIM needs really great dev tools that allow BB10 development to be straightforward.
What came to light in Garett's response was shocking: RIM has released 10.0.9 knowing that due to some related changes by Qt folks, logging is now broken. What this means is that if something goes boom in some QML you're running on device, you're not going to hear about it. Rather, it will silently fail.
So here I was wasting my life debugging a programming problem, and because of a major bug/issue with the tools, the error messages weren't even making it back to the IDE to be shown to me. No wonder I couldn't make anything work.
What I simply cannot fathom is that RIM would release 10.0.9 knowing that this problem exists. Surely there must have been heated internal discussions about this with people saying "we can't release it like this", while other people countered "I know, it sucks, but we have to".
Whatever the story, this falls out of the realm of reasonability for me. It seems almost double faced to on one hand pamper devs with wonderful support from dev relations, produce great conferences and Jam sessions, and then after all of that, release an SDK update that breaks one of the most fundamental aspects of your code/run/debug cycle. What?!
I will circle around to how I started this blog post: BB10 development needs to be fun. It needs to be a positive, energizing experience. And until it gets there, devs like me will have nightmare experiences like I had last night, and it will take energy to cajole ones self to continually "try again, maybe it will be better this week". If RIM could only figure out how to turn that around, they would be so much more successful with BB10 now and in the coming years. I think they will ultimately succeed in getting BB10 development wrinkles ironed out. They are incredibly determined to do just that. But I'm sad to be sitting here in October 2012 still honestly saying that we're not there yet.
BB10 Jam Americas: Shifting the TidesSeptember 28, 2012
Prior to BB10 Jam Americas, I had been feeling more discouraged about the future of BlackBerry. Back 9 months ago, after purchasing a 9900, and after recently having
my first big app success on App World, I was extremely bullish about RIM. I wrote an article for BerryReview entitled
RIM: Perception VS Reality where I contrasted how the media was constantly slamming RIM as compared with my fantastic experiences with their new 9900 offering. My conclusion was that, for me, the 9900 was an extremely competitive product, and it turned on its head for me the notion that RIM's latest handsets were dinosaurs compared to the competition.
Going to BB Jam in Orlando was another high point in my bullishness for RIM. The $10K developer commitment was incredible, and depending on the details, it might have meant a real shot at earning another $100K to $200K for a developer like me. The Cascades framework looked incredible, and I was in awe of the 60 fps they were acheiving, paired with the gorgeous and industry leading 1280x768 screen. I was also very impressed by how RIM was able to leverage TAT to infuse BB10's UI with world class design.
Since the conference, there have been many discouragements and not as many encouragements.
To be honest, some of my key discouragements have been personal, which I should obviously separate from BlackBerry's future. To start, after spending 150 hours creating and working out kinks on my
Flix app, the response has been mixed, but many people have slammed the app as being silly and worthless with its restriction of only working at home, etc. While I disagree, it doesn't feel great to be panned by users, especially when I was so excited working on it that it would be received well by the community. As an example, my brief chat with Alec Saunders (meeting him for the first time) at BB Jam in Orlando was not exactly inspirational. I think his comment was that he could see how some users might want to do that. Don't get me wrong, I appreciate his honesty, and who knows, perhaps RIM's internal perception of the app was mixed. Maybe they were even unhappy about it. On the technical side, it has also been frustrating that the PlayBook NDK doesn't support the WebView control, requiring a separate helper app to adequately select which movie you want to watch. Ugly. It will be many months yet before RIM catches up on the PlayBook to support Cascades, which includes a WebView control.
It was wonderful to be off of work June/July/August with my wife on parental leave following the birth of our second child. I knew life would be busy, but I also figured there would be some good chunks of time to do BB app development. It was pretty disappointing seeing August come to a close and still not being done porting my first super-simple Baby Names app to BB10. (Which took 13 hours to create for PlayBook, and likewise 13 hours for BB phones) I wrote an
article about the pain points that there were using the beta SDK tools, but again part of this was personal: I just hadn't been successful finding the time and energy to overcome these hurdles. Part of this was paying for my earlier success: I was struggling to keep up to support emails, and was frequently burried in 100+ support requests. Keeping up was eating most of the time I would otherwise have for new development.
Some more unfortunate news recently is that the 10K developer commitment is limited to 1 app. That turns the 10K commitment from being a possibly huge economic opportunity for me to basically a non-event, since my top apps will almost certainly earn more than 10K in their first year.
Aside from not finding time, I have also been lacking some passion on the BB10 dev front. Most of this relates to getting stuck on pain points as mentioned above, but part of this is too is being uninspired by the PlayBook OS they slapped on the Dev Alpha. Having almost 0 first party apps on the device makes sense from the perspective of "you build it", but it has a strangely demotivating affect turning on a device with no first party apps to inspire, and no inspiring UI to play with.
Besides these personal dev downers, it has been harder than I thought watching RIM struggle with its quarterly results. What is strange about this is that I knew it was going to happen, and wasn't really phased by it, but to actually see it happen, and seeing the stock so much lower than I ever could have imagined is a tough pill to swallow. It has also been rattling to see personal friends leave RIM, and hear of others that have been let go. Again, we knew this was coming, and so I'm not sure why the reality of it is harder to take than I thought.
Finally, I have increasingly felt that while I am a big fan and supporter of BlackBerry, I don't want to be ignorant to the dominant North American platforms, so I've decided to also own an iPhone 5 and Samsung Galaxy S III. I want to understand how those platforms execute various use cases, what their experience is like, and what their top apps are like. Having owned an SIII for a month or two now, it is more apparent to me some of the shiny aspects of these impressive phones, and it's not difficult to see how they are appealing so much to North American users. Following on the heels of that, these past two weeks I have started to read smartphone reviews on CNET and other sites that don't even list BB as one of the choices. In one Internet comment I read, someone quoted BB's North American market share as being down to 1 percent. Is that true?
As you can see, going into BB Jam Americas, I've been discouraged. Not without hope, far from it, but definitely discouraged!
I was extremely surprised to hear that RIM was upgrading the Dev Alpha OS to include the core BB10 UI, including the keyboard. Having downloaded it, it is a huge breath of fresh air. It is a complete reversal for me, from being uninspired with the modified PB UI, to being very inspired by the BB10 UI. When I had lemented about the Dev Alpha being so empty to other devs in the past, we both agreed that RIM probably wouldn't do this since they want to make a big splash with BB10's release. But they have, and I'm so glad they did. It has been fantastic exploring the OS, such as the settings screen, and seeing how RIM has used Cascades to create their core UIs. It has also generated some solidly good press for RIM, which I think they badly need given the long wait for BB10. For example, it is awesome to read The Verge reporting that BB10 looks to be a solid OS, and even the comments to the article are encouraging and much less negative than usual.
Having the full API set now is also a breath of fresh air. Working with a beta SDK was more painful than I thought, so the seeing the tools and API mature is very welcome and energizing.
All in all, the Dev Alpha is at a place now where is much more emotionally aluring to develop for than it was in August, which is precisely what RIM needed to accomplish with BB Jam Americas. Well done!
Another solid encouragement this week were RIM's quarterly earnings. Again, I was expecting them to be really, really bad. But I was wrong. Most encouraging is that RIM's cash pile isn't vaporizing, but is actually higher. And this means that RIM only needs to "hang on" for one more quaterly release before they can shift gears to BB10. At this point, I'm very confident they can do that.
My remaining insecurity is whether BB10 will have apps like Netflix and Skype at launch, or closely following launch. That was the part of BB Jam Americas that I found underwhelming: They start into that part of the presentation saying they have all sorts of huge names behind BB10, and then unveil a list that doesn't contain any of the huge names people are anxious about. (on the apps front to be specific -- they seem to be doing great on the games front) The hope I'm clinging to is that they clarified this list is only those partners that were willing to be listed, and that they're working with many other "huge" companies. I will choose to be optimistic. But it will be a *huge* sigh of relief if and when they are able to announce that they will in fact have most of the massive apps that everyone and their dog expects.
I was wrong about RIM's quarterly earningsSeptember 28, 2012
Several months ago, as I was continuing to ponder and predict RIM's future, I guessed that RIM's quarterly earnings in September as well as December would be really, really bad, and would be hugely depressing to stock holders. Thus I surmised that the best time to purchase stock would likely be after their December earnings hammered the stock. I also figured it wouldn't be a surprise if by that time they would clarify the release of BB10 to be March, at the very end of the Q1 they had announced, or that it might even be April, or heaven forbit, May.
But I was wrong. RIM's September conference call, which happened today, was better than analysists predicted, and by some miracle their cash balance actually increased. How this happened, I don't know, but I was clearly wrong about how bad their quarter would be.
It is also looking like my guess of a late February or March-ish release of BB10 will turn out to be wrong. RIM is sending fairly strong signals that release will be either late January, or February. So, while I might still end up being right, the rapid succession of delays has come to a stop for now.
In conclusion: Well done RIM, you are exceeding my expectations, and I think that is a very important ingredient to success: Under promise and over deliver. People grew to be incredibly tired of the over promise and under deliver of RIM in 2011, so having turned this around is great.
Keep up the great work!
older >>