How important is it for an application to be consistent with the native Operating System? And exactly what does that mean?
This is brought on by work on a new default theme for Firefox, in a peripheral fashion. In a lot of the talk I read about User Interface design focuses on having the app be consistent with the OS's look and feel.
I think a lot of this started with Macs. Mac users are near-fanatical about how great the interface is on their OS. While a lot of it is eye candy, that doesn't make a very convincing argument. So the other facet they can trumpet is the consistency and intuitiveness of the interface. So, as great cross-platform applications come out that Mac users wished to use, they had to complain about the inconsistent look. How these apps just didn't fit in.
The phrase, however, is look and feel. It seems to me that only the "feel" needs to be consistent. The purpose is for user's to be able to use your application without any difficulty. But this isn't enough to make those Mac user's happy. But at least for those of us on Windows or Linux, we have a variety of apps that look quite different. Not even all Microsoft apps look like each other: how similar is Windows Media Player 9 to Internet Explorer 6?
In fact, of course, a unique look for an application is a major branding advantage. You want your application to be memorable and identifiable. Additionally, you want it to by stylish. It's not easy to accomplish that while trying to make your application "fit in" with the OS. Not to mention, what exactly does that mean? It seems in the case of the old Firefox theme, it meant copy the look of the default browser of that OS. Does it make sense to let your competitor define how your application should look?
So far, my conclusion is that most OS's (or desktop environments), such as Windows (which one? 95, 98, 2000, XP, Longhorn?), KDE, or Gnome, haven't yet achieved real consistency anyway, so over-worrying about "fitting-in" should not be the primary concern in UI design at the moment. What do you think?
Labels: programming
I agree with you to some extent. However, I think that the look aspect is important as well. Feel is clearly a critical part of developing a good application. If it doesn't feel like the application belongs on the OS, then most users of that OS won't run it.
The look is also imporant. As more and more operating systems are moving towards an eye candy approach, like Mac OS X and Windows Longhorn, developers are going to need to start making their applications look pretty too. Otherwise a competiting product that does the same thing but looks pretty will be the winner. Clearly this means that artists are going to have to become a part of any development shop, which should be interesting.
On developing cross platform applications, it becomes a huge pain to try and maintain consistancy and yet fit in with the application. Java decided to work around this by creating their own look and feel which is different from any OS (at least, this was their inital approach). It didn't work so hot, and now new UI libs are coming out to take a different approach, using the Windows widgets when running on the Windows OS. Mozilla has the same problem on the Mac, using Windows style buttons which I often overlook not thinking they are actually buttons when I'm on the mac.
Both look and feel are important, as is presenting a consistant user interface. The application should look the same as any other part of the application. In addition, it should fit in with the other programs running on the OS, in the way it behaves, the way it looks, and the way it acts. However, extending in new directions off the way the platform looks and feels can be a good thing, with examples of WMP9 and other applications which still have a similar windows look and feel, but present a UI with different styling. Now, how do you do that on a cross platform level?
Yikes. I just rambled on a lot. I hope that makes sense. If not, I'll have to come back and clear things up.
Even more questions: what about skinnable OS's? What's the windows-look-and-feel for someone who chooses the classic mode view in Windows XP? Silver vs. Blue theme? Keramik vs. Plastik on KDE? KDE or Gnome on Linux?
The best answer, it seems to me, is that there needs to be a standard for the widgets availabe on an OS and ways to access those, so that cross-platform GUI toolkits, be it XUL, GTK, Java, what-have-you can use the underlying widget + OS-level styling to maintain a consistent look-and-feel. As it stands now, it's way too much up to the application to implement consistency & skinning.
Which leads to my biggest beef with cries for fitting in with the OS: I like to improve the look of my XP machine by using programs that look better on it. I like iTunes. I like Noia 2.0 Extreme theme for Firefox. I like a similar brushed-metal theme for Opera if I use it. Since OS level skinning isn't really up to snuff, it's really nice to have apps that implement their own buttons so you can themes/skins.