Primary Menu

Thoughts on AdvancedUI for Java

While it has been available for awhile now, RIM has recently open sourced their AdvancedUI for Java classes and added them to github. If you have not downloaded these classes before, you should do so.

I first found out about these classes in early 2010, and have pretty much used at least one of them in every release since then. For an example the menu on top of the statistics pages in Pixelated (as seen to the right) is done with the Pillbox Class from this collection.

The JustifiedVerticalFieldManager is another favorite, which makes many good looking designs much easier to create.

The bigger question is why these were have not been included in the OS for awhile now. Publicly posting these classes again is nice for giving them some added visibility, but nothing compares to simply adding them to the OS. While doing so now would be kind of pointless (is anyone ever going to make an app that requires a minimum of OS 7.1?) all indications are that they could have done so a few years ago. The copy in github has had its metadata updated, but when these classes were first released they were dated as having been created in 2008. Even if you allow for the fact that they may not have been ready for the launch of OS 4.7.0 I have no idea why they were not included in OS 5.0 when it was released in late 2009. Today OS 5.0 is the minimum threshold for most developers, and it would be nice to simply have these features baked in.

But far more importantly then the convenience for me, is the fact that these classes should be far more readily available for all developers. My guess is that there are many devs making BlackBerry Java apps without any clue that these classes exist. And that doesn’t help anyone.

While it may be too late for these classes to get the visibility that they deserve, lets hope that RIM doesn’t repeat this mistake with their BBX tools. Although on a related note, the WebWorks getting started page does not include any links to bbUI.js, perhaps that could be a start.