Barbara and Tom Hume got it right – mobile applications should really follow the underlying UI metaphor/behavior vs. implementing their own in an attempt to create “consistency across handsets”… From the developer's perspective, initially it may seem such consistency is the right approach, as developers are deploying the same app across many devices… but in reality, the typical end-user has one handset, and having applications change the expected flow or layout (behavior) just confuses the experience… Handsets can run many applications, and not all applications will be developed by the same developer/company – the result will be many different behaviors per application.

Consistency is good, but such consistency should be enforced at a lower level vs. at the application level – this is why in MIDP abstract commands (soft buttons) exist. That said, the ability to override UI behavior must always exist.

ceo