Generally try to do a few things:
- Specify all your fonts in points (use Ui.UNITS_pt) rather than pixels. BlackBerry devices have hugely different pixel densities (anywhere from 320 - 480 on the same physical size screen) so pixels can look tiny on one screen but too big on another. Points will be pretty much the same physical size no matter where you go.
- Scale UI elements relative to your font sizes
- If you have graphical elements (logos, etc) try to make do with 1 or 2 different sizes (e.g. one for screens with horizontal resolutions <= 320 pixels, one for larger screen resolutions). Having one extra set of images in your app will make it a bit bigger, but not too much. Don't rely on the built-in scaling algorithms in the BlackBerry API, they're slow and produce terrible looking results for most images.
- Position things relative to the screen edges (e.g. attached to the top right, or bottom right corner, or 10 pixels from the bottom edge) rather than using absolute pixel (or point) positions.
- Figure out all your screen dimensions in the
layout
method of your screens/fields. This method should only be called once (or a very few number of times) so any computationally intensive stuff can safely be done there.
Really it's not bad if you keep a few things in mind - definitely easier to design this way from scratch than to fix up an app that's been designed for one resolution.
Also one last tip: if you have a graphic/UI designer, get them to do at least 2-3 mockups for different resolutions. It'll get them thinking about the challenges involved too.