Part 2: Skinned Interface

Hey let’s talk about the proverbial wheel.  Or more precisely the invention of it.  Or to be even more specific: why you should NOT reinvent the wheel.  (Unless you are Audi, in which case it’s okay because they are awesome!)

I am no programmer, but the last time I looked, one didn’t have to write their own UI elements for a GUI application, you can leave that to the OS.  So GUI programming is as easy as fire up your favorite IDE, drag a few controls to a form, and hit compile!  Easy right?  Not to Nero:

Nero StartSmart

Or Gigabyte

EasyTune 6

Nor Asus

SmartDoctor

Why some software companies keeps on insisting on spending money and time to create their own skinned UI is baffling to me.  This creates nothing but inconsistency for the user, who expects every window to look like a native window.  Not some shiny and metallic spaceship control panel Asus!

There are other problems associated with non-native UIs: for users that rely on accessibility features, these custom skins often make screen-readers do weird things.

If you truly want your application to have a unique look, by all means, implement a skinnable interface ON TOP of the regular native interface, but don’t make it the only interface.

The only time when I think it would be okay to use non-OS-native-UI is if the application is cross-platform, in this case having a consistent UI across all the OS might be a good thing.  So let’s be thankful for Apple iTunes, Adobe Lightroom, and Blender for using non-native UI control elements, I firmly believe these 3 represents the best in User interface design.