Native or Custom UI?

An issue I have never resolved is whether (or when) it’s best to use the native UI or create your own custom UI from basic drawing primitives. What do I mean? Here are some examples…

Here are three styles of menu taken from ProfiMail, the S60 native email application (in the middle) and Gmail (Java). ProfiMail creates it’s own ‘Menu’ and ‘Exit’ soft key items as shown by non standard text and size. Both ProfiMail and Gmail have their own styles of menu…



This shows a file explorer view in X-plore and the S60 file explorer. Notice how much more information can be put in the screen when you forego the native controls…



This shows settings from Gmail, S60 standard settings style (found in most applications) and Palringo. Both GMail and Palringo re-define how settings are presented to the user (and are co-incidentally similar even though they are implemented in different languages!)…



Taking Nokia as an example for the moment, they go to great lengths to specify how the UI should look and behave. The reasoning is that users should have a consistent look and feel that, in turn, should improve usability when switching between applications.

I think these are the main reasons why some people create their own UI…

  • For technical reasons, for example, cross platform source code or ‘look and feel’ compatibility. e.g. Lonely Cat Games, author of ProfiMail and X-plore, produces software for both Symbian and Microsoft devices so can share UI code across platforms.
  • To gain extra functionality not available via the native controls e.g. Shortcut keys in menus
  • To get more on the screen e.g. In case of ProfiMail
  • To make the UI look ‘better’ – even if it does violate platform guidelines

So, people do this to improve usability yet companies like Nokia prefer you to stay within the UI guidelines also for usability. Who is right?