The Dark Side of BlackBerry OS and Why it Had to Go

bb7-blackclock

RIM’s BlackBerry 7 has been available for over a year now with many different models available. It’s clearly (and obviously) the best BlackBerry operating system that you can buy at the moment.  Improving on the previous BlackBerry 6 operating system with hardware accelerated graphics and lots of other minor improvements to the user interface, it’s just a smoother BlackBerry experience. As far as hardware is concerned, there are improvements all over. The one we’re looking at is the the system memory, which has been boosted to a seemingly generous 768mb. However, despite giving 256 mb more than the previous Bold 9780, memory is consistently drained, and things slow down just like before.  The famous BlackBerry security seems to comes at a price.  Hence, N4BB investigates.

The Black Clock

I’m talking about the black clock of doom, hourglassing, black clocking, stalling, garbage collection, curse of the black clock, or whatever you want to call it. It renders your BlackBerry completely useless for a supposedly random amount of time. This has been haunting the BlackBerry operating system for as long as I can remember. Appearing as far back as OS 4 (or even farther), the black clock, whether (Research in Motion admits it or not), is one of the main reasons the original BlackBerry OS has to go. It’s one of the reasons why the RIM is in their rough situation today. Device after device, each successive BlackBerry was a ‘swing-and-a-miss’, further damaging the BlackBerry brand.  This is all because the user experience is drastically affected when the memory leaks and the subsequent garbage collection takes place.  RIM simply suggests that a battery pull or eventually a software reload can resolve the issue. However, I politely, but strongly disagree this will prevent the problem from happening again.  This is not the type of experience BlackBerry users deserve.

As BlackBerry users, many of you are used to the good ol’ “battery pull” to reset your BlackBerry when its suffering from the black clock.  Some of you do this on a daily basis, which should be completely unacceptable.  Yet we accept it.  It is almost certain that the issue will return.  Software update?  Laughable.  The issue hasn’t been solved at any time over the past 5 years.  So why would it be fixed now?  I’ve installed over 50 different operating system updates on 6 different devices, from hybrids to leaks to official releases. Never have I come across a single one that has resolved the issue.  I believe this is a problem that is fundametal to the J2ME operating system and the hardware it is bound to.  Nothing except BlackBerry 10 can solve it.

Some have never even encountered it, while others see it on a daily basis.  My guess is that is depends on how you use your BlackBerry.  If you’re more of an abuser, like I am, you’re much more likely to see it.  My guess is that the browser is responsible for the memory leaks, leading to the black clock.

Memory leaks

First, let me make a few statements based on my years of BlackBerry experience:

1.  Having more apps open technically does not affect the available free memory, since they are already installed on the memory.

2. The available memory steadily decreases over time until the next battery pull.

3.  The browser can be the worst offender when it comes down to memory management.

I’ve been running an experiment over the past few weeks on the memory leaks and how this affect boot up time.  I’ve been using TinyMeter to monitor my memory usage and free memory.  Using 7.1.0.649 as my operating system, I also have a reasonable number of apps installed (~10).  I do have 6 BBM Groups running and use the browser quite a lot, so I’d consider myself a heavy user.

Yes, ladies and gentlemen, I’ve waiting 21+ minutes for a reboot because my BlackBerry had pretty much ran out of memory.  There is a distinct correlation between memory leaks, and reboot time.  Error bars are pretty small, but this is more of a qualitative analysis.  My old Storm 9530 even got down to 0.0 Kb one time.  And this is all with no apps running!  Having to wait so long for the phone to reboot because the operating system ran out of memory is inexcusable. I do, however, have a theory.

You see, BlackBerry OS runs its apps and OS from only 768 Mb of system memory and has no other RAM for the applications to run in, as on other smartphone platforms or computers.  They run where they are installed.  This can be beneficial for security reasons.  Plus, you can run as many apps simultaneously as you have installed.  Every app will just pop open, no matter how many apps are running.  The device memory, on the other hand, is where you keep your files and other documents you’ve saved to your BlackBerry.  This is in the gigabyte range on BlackBerry 7 phones, and isn’t something that affects the performance at all.

Well, this would be fine in theory, however the amount of free memory does not last long.  To check for any misbehaving apps, BlackBerry 7 does come with some application management function in the Options menu, and it lets you know how much memory an app is using.  I’ve seen the browser use over 230 Mb of memory when its closed.  It’s also one of the apps that stays in the multitasking screen no matter what, leading you to believe its never really closed.  Either way, it’s definitely an issue.  There is even a new “Application Resource Monitor” that closes applications using too many resources, and I have yet to see it actually prevent memory leaks.

The take-home message here is that the old BlackBerry OS we’ve come to know has its limits.  These limits arise due to the way the operating system shares its memory with applications that never really close, and the memory that is somehow lost between reboots.  The new BlackBerry 10 platform works nothing like this, and will definitely not suffer from the same memory woes as BlackBerry OS.

App Development

When it comes to app development for BlackBerry OS vs. BlackBerry 10, the difference is like night-time on Pluto and daytime on Mercury.  The BlackBerry OS platform was limited to Java and HTML5.  While not actually more difficult to develop for, creating a genuinely good app experience on a BlackBerry OS app was much harder.  The user interface tools were ugly.  The hardware was lacking.  The main app size was limited and assets had to be deferred to the device memory if you wanted a large app.  Apps consumed precious system memory.  It was just a bad situation.  The poor development environment forced developers to put in the extra work to get the experience they wanted out of their app.

With BlackBerry 10 allowing a high-quality native development environment, leading HTML5 capabilities, Android app compatibility, and C/C++ for games, RIM has really cleaned up its act in this department.

In summary, the BlackBerry OS has reached its limits.  It was apps, a modern browser and all these modern additions to the operating system that caused these limitations to surface and the dark side of BlackBerry OS to come out.  To move forward, RIM had to start from scratch.  Despite this, I believe RIM has made fantastic efforts towards the development of the new BlackBerry 10 platform.  The new operating system has shed the baggage of the old platform, while preserving the BlackBerry philosophy and spirit of its predecessor.   The app development platform is now top-notch, the QNX operating system is rock solid, the flow is seamless and the quality of the experience is commendable.  While RIM might never admit it, the old BlackBerry OS platform was doomed as first iPhone came out.  What people expected from a mobile operating system changed, and with that, so must the operating system.




Leave a Reply