I just needed to rant about something that I have seen more and more lately – well, ever since I transitioned from my 8830 to my 9630 (aka Tour)… It appears that more and more frequently as BlackBerry third-party application developers attempt to code around API limitations, they stomp upon some other capability that is built into the RIM OS or bundled RIM applications. What especially appears to be annoying is the fact that version to version anomalies are becoming more and more prevalent.
RIM has made an effort in the last few months to release tools such as the Developer Issue Tracker but most resolutions just tell you that it has been fixed in future OS versions. For example, a bug we submitted about the OS 4.6 browser was resolved by saying it was fixed in OS 4.7.
Since the middle of July, I have stumbled upon the following bugs, both of which took significant time to troubleshoot:
1. Anagram [http://getanagram.com/blackberry]: Anagram v0.9.9 innocently invoked a limitation within the Address Book app that would not allow contacts without a company name but NO first or last name to be edited on the device and be synced back to Outlook. I was able to identify Anagram as the culprit based upon exceptions logged to the device log. Once brought to the developer’s attention, this was resolved with a “silent” release of Anagram 0.9.10 – Anagram 1.0 is in the works.
2. Several third-party apps – PodTrapper [http://versatilemonkey.com], RSA SecurID Token for BlackBerry [http://rsa.com], and SmrtGuard [http://SmrtGuard.com] (there may be more) – that apparently register a handler for the ‘text/xml’ type break the built-in RIM Messages app as far as displaying “some” HTML or multi-part e-mail messages with attachments. The messages show an “attachment” of type text/plain that cannot be viewed or displayed on the device in addition to the “legitimate” attachments. SmrtGuard caused this problem for me, which has taken several weeks for me to narrow down as I could not easily identify consistent cases where is did or did not occur. PodTrapper has since issued a beta version of their software that addresses the issue, but as far as I know, the other two developers are still investigating the issue (SmrtGuard hopes to release an update by week’s end! J). Some BlackBerry community forum posts that I found that discuss this issue are:
A user’s first reaction is that these are obviously OS issues, but neither the carriers nor RIM are able to reproduce the problems – it is let to the user to attempt to determine the root cause. I find it interesting that RIM’s own forum does not identify the cause of the problem not the interim work-around (I have since replied to the post! 😉 ).
Additionally, version-specific API and OS limitations or bugs continue to cause problems for third-party application developers:
- Fabian Heuwieser, who frequents BerryReview, has been unable to resolve an issue caused by changes in OS 4.7.1 for the Tour in LaterDude Pro [http://mobileutil.com]. The app is unable to extract a phone number from the Call Log for reminders on this particular device.
- Matthias Marquardt, developer of FileScout, GPSLogger, and GPSsies Connect [http://emacberry.com], is constantly wrestling with API limitations and OS version-specific bugs. The latest being that “For some reason, the layout manager does not support horizontal & vertical scrolling within a TextField for the touch screen [Storm-specific] at the same time (looks like a bug in the OS) … I tried all my best to get around this flaw but I was not successful yet – my apologies for this inconvenience.” Issues such as this continue to frustrate Matthias in his attempt to expand the capabilities of his apps even further. A couple more of his “favorites” are:
- “One that is IMHO way more funny is the ProgressBar implementation – where you specify MIN and MAX value [max progress value can be Integer.MAX] – but when they calculate the percentage value they multiply the current value with 100 and then divide by the MAX value (in order to get the percentage value). The Problem is, when the current value get’s in an area of Integer.MAX/100 then it will happen, that the the Integer gets an overflow. In Java this will result in a negative value. This will cause the “default progress bar” to jump from a positive percentage value to something negative… increasing become zero, continue increasing and then instantly fall back to a negative value again. This will repeat for some time. This is a problem (Integer overflow) that each Java developer will learn in the first year of developing software… This error is in ALL 4.x OS!!!” [http://supportforums.blackberry.com/rim/board/message?board.id=java_dev&thread.id=27138]
- “Bold & Storm have inverted altitude values from the GPS-Antenna…” This one now affects the Tour, too! 😉
It simply amazes me the amount of effort and time that developers and users alike must spend in order to identify and to work around RIM bugs.
I know that these are only a few specific examples that I have identified, but please feel free to add additional instances as Comments.