Designing J2ME MIDP Navigation: "Yes, that’s right: all phones now have a Nokia user interface with J2ME Polish applications!

I can understand this decision, but it results in a number of pretty - but very hard to use - applications. A RAZR user suddenly faced with an Options menu to select a radio button will be very confused."

Nice post - and yes, this is something we see again and again. Developers of mobile apps often go for consistency across devices over and above consistency with the underlying individual UI metaphors, and the place this is most obvious is in placement of options menus.

Motorola screenshot Nokia Series 40 screenshot
Ghost Detector
Motorola screenshot
Ghost Detector
Series 40 screenshot

When we're developing MIDP apps, we tend to work around this using a combination of tools: the lovely Antenna toolkit, a set of preprocessing directives embedded into the source code, and our wonderful internal UI toolkit, called Cactus (or Sponge - depending on who you ask ;)). With this combination of tools, we get to:

  1. Specify the UI completely - no horrible MIDP high-level components need be used, we get pixel-perfect control over what appears on the screen no matter what handset the app runs on.
  2. Do the UI differently on different devices - so that a Motorola version doesn't feel like a Nokia application.
  3. Manage the build process for a vast number of handsets (well over 85 for some of our applications) so that you can build every version with a single click.

Of course (warning: Future Platforms plug ahoy) it helps if you've got a team of very smart folks who've been doing this for years too...