What characteristics a software (for Desktop) should have to consider different themes and skins for it?

Suppose you are asked to come up with list of features that software ABC should support. Now you want to decide if you have to include

"Users of ABC should be able to change its theme(skin)"

as a feature or not. How can you justify that this feature is needed or not.

I'v already seen this and this, but they didn't really answered my question.

  • I'm voting to close this question as off-topic because it's not about UX. You're asking more about graphic design, but not clearly enough that I can migrate it to the Graphic Design site.
    – JohnGB
    Commented Sep 30, 2015 at 8:54
  • Perhaps the OP can add what the problem is that he/she wants to solve? Perhaps if rephrased, it would be more clear if the question is in fact about UX (e.g. accesibility) or just about beautification (if so, then it most definitly doesn't belong on SE.UX) :-)
    – Xabre
    Commented Sep 30, 2015 at 9:32
  • A "feature" should have a true and founded reason of existence and not just something to serve as a selling argument. It could be that it's a hypothesis, for which you can, in fact, do some pretotypes. If nobody ever touches the "change theme" section, than you already know that nobody will miss it. However, you, as a designer, should probably try to figure this one out quite early as theming is something you best tackle in a rather early phase. That being said, if your business case doesn't indicate a real need, I wouldn't put too much effort in it, and stick to just one fixed theme.
    – Xabre
    Commented Sep 30, 2015 at 10:56
  • 1
    Some justifications are provided in my answer. Although, you shouldn't come up with a feature, only to afterwards look for a reason d'être :-)
    – Xabre
    Commented Sep 30, 2015 at 10:57
  • With the edit, it now becomes a "too broad" question, so I have to leave it closed.
    – JohnGB
    Commented Sep 30, 2015 at 12:10

1 Answer 1


Well, if you don't feel the need, than you could simply not do it.


Functional usages are to make it darker, this is especially interesting in dark rooms where a "white" interface will blind you. We do this, for instance, in control rooms for cinema projectors.

enter image description here

Another usage could also be to get unification and branding, in which you'll follow your own design guidelines, e.g. Google's material design

It could also be to improve accesibility, like providing bigger icons and text, better contrasts, ...

enter image description here

It could also be used to "hide the flaws" of an application, as beautiful themes can eleviate the pain of bad usability. The opposite is probably more true: Ugly apps with bad usability will be bashed upon more than apps that have just a good usability; thus try and provide both.


Reasons not do do it include the simple fact that most users are accustomed to a certain way things look and behave on their favorite devices, changing that could lead to confusion and should thus only be done if you know what you're doing. More often than not, you'll find some "styled" app that is actually hard to use because of this.

Just as you can increase accesibility, you could decrease it (which could be potentially dangerous) as some styles will be hard to read for people with certain disablities (e.g. colorblind people). Most OSes have improved accesibility modes, but if you start overriding these, those will not be applied (unless you inherit these colours).

enter image description here


There is no one answer to help figure that out, as it depends on multiple factors, some of which I've discussed here. Like I said, if you don't see a very need to break an OS convention, I'd reconsider leaving it alone.


Not the answer you're looking for? Browse other questions tagged or ask your own question.