Creating GUI skins - Good or Bad? / Where to begin?
Asked Answered
D

2

6

I don't know if it's just me, but I really enjoy some application's GUI designs, apps like iTunes/Avast, or some media players like KMPlayer. So I was thinking of making my GUIs look different and I later found out that it's called a GUI skin (am I right?).

I read somewhere that it's not such a good idea to use or make them regarding app's speed, usability and all that. So the question is: Is it good and safe to make GUI skins? and if so, how could I start programming one (cos I don't want to use off-the-shelf ones unless they're really great). What's the main idea behind them. I am expecting to be able to change the whole form's look and feel and possibly change it's shape.

Any idea on this is greatly appreciated.

Dulcedulcea answered 8/1, 2011 at 14:55 Comment(2)
See ui.stackexchange.com/questions/2665/… and ui.stackexchange.com/questions/3038/…Cypriot
This is a great question, and you got some fantastic answers. I really wish that more people would take the time like you have to consider the user before implementing something because it might look cool. +1Accoucheur
W
5

As far as I am concerned there are two kinds of applications that might be skinnable: Media players for example might benefit from looking like an actual physical appliance (PowerDVD or so did that, iirc). However, the actual use cases for such things are very few, if any – the trend today seems to be that such applications have little to no UI and instead concentrate on the content (VLC is an exception).

Then there is the large host of applications where either developers or managers got creative or too much time on their hands. Raymond Chen calls this “I bet someone got a really nice bonus for that feature.” – a sentiment I deeply agree with. First of all, skins are often a non-feature; the novelty wears off really fast, they don't actually help a user with whatever problem they're having to use your program and finally, for many programs that exhibit skins, there is really no need at all. I mean, come on; how often do you open your AV program, or your graphics card settings panel, revelling in the glory of its beautifully and carefully-designed skin? Never, right.

So then is the question why you even want to devote development resources (either your own or others') to create something that serves no useful purpose, except making your application stand out visually. The windows UX guidelines also have something on window frames and branding. Note here especially the following section:

Don't use custom controls for branding. Rather, use custom controls when necessary to create a special immersive experience or when special functionality is needed.

Incorrect:

alt text

This example shows a custom control incorrectly used for branding.

Gadgets are another type of application that can get away with custom designs, but then again, those are often only used shortly and serve generally as either informational things or with ephemeral interaction.

If you do skins, do everyone a favor in making it (a) optional and (b) use the standard controls and just paint them yourself. This enables accessibility tools to still know what your program displays instead of just seeing a bunch of picture boxes that are used as buttons.

Wanyen answered 8/1, 2011 at 15:8 Comment(0)
B
7

Good or Bad?

Bad. I don't have a nuanced answer for you. I don't have a bunch of exceptions. I don't have a thoughtful essay to write on when skins might or not be appropriate. I have an unequivocal: Bad.

Custom skins are the cancer that is killing the Windows UI, turning it into an ugly, unusable jumble of mixed metaphors.

If you must theme because your app is the exception and you're just so cool, please provide an option to turn it off and use the regular OS theme. Not a skinned approximation of Aero, Luna or Classic, but the actual normal OS theme, whatever (potentially custom) theme is chosen.

Brehm answered 8/1, 2011 at 15:6 Comment(3)
:D That was an interesting image. But don't you agree, that sometimes it just makes the difference, and it could even help usability and give a better feeling to the user? Some of those apps in the image are THE most famous of their kind.Dulcedulcea
@Auxiliary: Keep in mind that the user does not exclusively use your absolutely awesome application, but a multitude of apps. The result can be seen there. If you deploy a soluition to a customer that works with a single application in kiosk mode, then the amount of branding might be appropriate. For normal users where you don't control everything – not so much. Also +1 for the image :-)Wanyen
@Auxiliary: None of those famous applications are market leaders because of their non-standard appearance. First you need to create a killer application that everyone wants to use. Then you can create an ugly non-standard appearance for it, if that's what you really want.Sherrylsherurd
W
5

As far as I am concerned there are two kinds of applications that might be skinnable: Media players for example might benefit from looking like an actual physical appliance (PowerDVD or so did that, iirc). However, the actual use cases for such things are very few, if any – the trend today seems to be that such applications have little to no UI and instead concentrate on the content (VLC is an exception).

Then there is the large host of applications where either developers or managers got creative or too much time on their hands. Raymond Chen calls this “I bet someone got a really nice bonus for that feature.” – a sentiment I deeply agree with. First of all, skins are often a non-feature; the novelty wears off really fast, they don't actually help a user with whatever problem they're having to use your program and finally, for many programs that exhibit skins, there is really no need at all. I mean, come on; how often do you open your AV program, or your graphics card settings panel, revelling in the glory of its beautifully and carefully-designed skin? Never, right.

So then is the question why you even want to devote development resources (either your own or others') to create something that serves no useful purpose, except making your application stand out visually. The windows UX guidelines also have something on window frames and branding. Note here especially the following section:

Don't use custom controls for branding. Rather, use custom controls when necessary to create a special immersive experience or when special functionality is needed.

Incorrect:

alt text

This example shows a custom control incorrectly used for branding.

Gadgets are another type of application that can get away with custom designs, but then again, those are often only used shortly and serve generally as either informational things or with ephemeral interaction.

If you do skins, do everyone a favor in making it (a) optional and (b) use the standard controls and just paint them yourself. This enables accessibility tools to still know what your program displays instead of just seeing a bunch of picture boxes that are used as buttons.

Wanyen answered 8/1, 2011 at 15:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.