The enhancements in this release come mostly from user feedback. In brief, the enhancements are:
- Better default font selection
- Configurable fonts and colors
- A new power search mode
- Make apps launch in the foreground
- Fix recognition of Camera and Video Camera apps
The main feedback I got was concerning the readability of the fonts. You see, I initially specified fonts based on pixel count: say, a font should be 17 pixels tall. What I did not appreciate was that the newer BlackBerries have extremely high pixel density: the Curve 8900's display, for example, has a resolution of 240 DPI. The default font selection resulted in tiny, unreadable fonts on such displays. I addressed this by switching to physical units, specifically points (1/72 in), so the default fonts should appear the same size on all BlackBerry displays.
At this point I decided that not everyone would agree with my choice of fonts, even if sized correctly. Also, some users reported that the default blue background was hard to see on some themes. To make everybody happy, I made fonts and colors configurable. You want a BBCasual font on a pink (officially, Fuschsia) background? Go for it. That's what the Options menu item is for.
Power search mode
Another comment I frequently get was that it was tedious to select commands with common prefixes. I have always envisioned a command line metaphor for KBLauncher's UI. A command line UI always matched the beginning of the command. Unfortunately, this made it tedious to differentiate between commands with a common prefix. If you had both Google Maps and Google Apps installed, you would have to type "google m" or "google a" to fully specify one or the other. The new "power search" mode is simply a fast way to match the first letter of each word by holding down the shift key. Typing shift-G and shift-M, for example, will match "Google Maps". That's just two keystrokes.
This style of matching is inspired by IDEs, IntelliJ IDEA and later Eclipse, that also have this style of fast-track matching for camel-cased names. I adapted this style of matching to words in an app name rather than camelCasedNames. Hopefully, this will make command selection much faster for you.
Another thing I noticed was that sometimes an app that KBLauncher starts would not appear in the foreground. This made it look like it failed to launch, but if you hit Alt-ESC you would find that the app had started in the background. It's harmless but annoying, so I made sure KBLauncher 1.1 worked aggressively to make sure the app it started is in the foreground.
Oops: recognizing Camera and Video Camera
I mentioned KBLauncher 1.1 above. So why is the version number 1.1.1? Shortly after I released KBLauncher 1.1, I bought a BlackBerry Curve 8900. To my dismay, I found that I could not launch the camera app. This problem had been there all along, but I did not notice it because I did not use that model on a daily basis. Out went version 1.1.1 with a fix, just a few days after version 1.1.
A word about the version numbers
I went with the n.n.n.n numbering scheme to match BlackBerry App World, which seems to insist on interpreting version numbers in this fashion. The first digit will stay the for the foreseeable future, because most app stores interpret this as allowing free upgrades. The second part indicates major releases. The third part indicates minor releases, usually bug fixes. The fourth part differentiates between trial and paid versions. Well, that probably wasn't very interesting but you've read it and now it's stuck in your head. Sorry.