Steve is the conductor. We just play in his band.
(Custom look and feel considered harmful)
Suppose you’re playing piccolo in a marching band. You want to play the Stars and Stripes Forever because it really shows off your skills as a piccolo player. However the rest of the band is playing the Star Spangled Banner. The talented piccolo player plays the Star Spangled Banner like everyone else. The pointless prima donna plays Stars and Stripes Forever. It sounds awful and everyone stops listening to the band.
User interfaces are no different. Some are advocating that we each choose our own tune, and indeed designing libraries to help us do that. However this serves only the egos of the players (or programmers). It does nothing for the audience (or end users) except make them walk away in disgust. I reiterate: it is the goal of a Java application (or any other application for that matter) to fit in with other applications, not to stand out.
Consistency is a virtue in user interface design. It doesn’t matter if the user interface of an application is best considered in isolation. It matters if it works the same way as every other application on the system. Users should not have to learn a new user interface for every application. We’ve tried that before (remember DOS?) and it doesn’t work. A large and mostly unrecognized reason why the Mac is still easier to use than Windows is that Mac developers mostly know this, and other developers mostly don’t.
This is why Mac users are far more likely than non-Mac users to install and try new applications. They have a much greater expectation that the applications do not have a huge learning curve. A person can only hold so many user interfaces in their head at once. It doesn’t matter that your design is 20% better than the Mac standard design. The mere fact that it is different makes it harder to use. This is why Mac users on average use several more applications daily than Windows users do.*
Custom look-and-feels are like playing the wrong tune because you want a different tune. Changing the UI for Mac OS X is like changing the tune for the whole band. The conductor decides what tune the band plays, and if he chooses wisely the band sounds better. If he doesn’t they sound worse. Either way, though, they’ll sound much better if they play what he has chosen than what each individually wants to play.
Most of us are piccolo players, not conductors. It is our job and our responsibility to play the tune the conductor sets on the instrument we have chosen. It is not our job to change the tune, and when we do that ugliness (in music or user interface) is the expected and natural result. It doesn’t matter that Steve occasionally changes the tune we’re playing. That’s his prerogative as conductor. When he does that, we change our tune too. But we should not change to a new tune we happen to like while the rest of the band is still playing the old one.
P.S. The listener is of course always free to listen to a different band. If the end user wants to change the user interface, that’s acceptable. However we as application developers should not presume to know what’s best and change the standard interface for them.
P.P.S. If you’re playing in Bill’s band, of course you should follow his tune instead of Steve’s. It doesn’t matter a great deal. Whatever Steve is playing today, Bill will likely be playing tomorrow.
P.P.P.S. If you’re playing in Linus’ band, play whatever you feel like. No one else is playing the same tune anyway.
* This certainly used to be true. However I haven’t seen recent figures on this characteristic. Possibly the gap has closed a little in recent years, though I very much doubt if Windows has caught up. There are still too many egocentric, idiosyncratic user interfaces in the Windows space.
February 18th, 2007 at 1:28 pm
Hear, hear.
February 18th, 2007 at 1:28 pm
Umm, there’s a factor you are overlooking. The iPod didn’t become the bestselling widget of the age because it had a standard user interface: quite the contrary. It’s telling that for some years now the one bog-standard delivered-with-Windows application with a highly divergent interface is the Windows Media Player.
February 18th, 2007 at 1:41 pm
The iPod changes the band. Heck, it changes the auditorium. It is as reasonable for it to have a different interface as it is for a toaster and a microwave oven to have different interfaces. However everyone who buys an iPod learns the iPod’s user interface. There’s no reason to expect it to look at all like Windows Media Player. Windows Media Player is a Windows software program that runs in an environment with a big screen, a mouse, and a keyboard. An IPod clips to my belt, has no mouse or keyboard, and a minimal black and white screen. (Slightly larger, color screens in later models, but still nothign like even a VGA monitor.)
A problem would arise if people were distributing iPod programs that each had a different interface. Of course, nobody much installs third party application software on the iPod aside from a few extreme geeks so that’s mostly an academic concern. People do install third party content on their iPods. Imagine what would happen if different music publishers or individual bands started designing custom iPod interfaces for their own songs. You’d have to learn a new interface every time you wanted to switch from the Beetles to Beethoven to Brahms to Blondie. That would be an absolute disaster.
However, people do install lots of third party software on their PCs and this is what has to play well together by following the user interface conventions of their host systems. When third party software does not adhere to its host system’s conventions, chaos and confusion results, even if the changes in UI individually make sense.
February 18th, 2007 at 1:44 pm
Oh, one more thing, it’s been a few years since I’ve played music on Windows, and the last version of Windows I used with any regularity was 2000, so perhaps things have changed. However, when I was using Windows, no one seemed to use Windows Media Player. WinAmp was the standard if anything was, and there were certainly lots of other third party options.
These days when I look at my students playing music on their Windows laptops they seem more likely to be using iTunes than Windows Media Player, but that’s just my impression.
February 18th, 2007 at 5:24 pm
Hmm, some interesting analogies here… If you’re comparing OS with big bands (marching / orchestras), then you’re right on track. The market fraction that they manage to take are quite close to what Mac has been able to do over the last 20 years. Sure, classical music sounds divine to a true appreciator of classic music, but the big money and the market is in the pop / rock. Classic music listener undoubtedly looks down on all those unwashed masses and feels superior, but the unwashed masses could care less.
Saying that Mac users are more likely to install and try new apps is like saying that Linux users are more likely to spend time configuring their system with scripts and custom shells. Operating system is just a conduit. Having Steve be a conductor implies that there is some kind of dictatorship (in the design land), and even Mac users wouldn’t like them (since they would be considering themselves more elitist and more technical). So, you shouldn’t wonder why Mac developers use custom skins and write applications that most certainly are not “piccolo players”.
And your comment about WinAmp doesn’t really serve your purpose here. At the time of its launch, and throughout the years since, it has served as a great example of a UI that completely broke the OS paradigms (skinning, minimizing to a title bar, visualizations, keyboard shortcut customization and what not) and still managed to be the application in its field. It just shows that a useful application with no matter what UI will always win over a no matter what application with a useful UI (two all-time most downloaded projects on SourceForge only reinforce this).
February 18th, 2007 at 7:02 pm
I’m confused at those examples, media player, quicktime and winamp are programs that are used by lots of people and many times they are not consistent with the UI “standards” of the platforms they are running on. Heck, winamps main thing was it’s skinning ability, which Kirrill’s kind of loud L&F often seems like it might be good for those types of apps.
February 18th, 2007 at 11:22 pm
Even iTunes, a Mac OS X application, does not follow the standards. iTunes 7 is even not consistent across all its UI. Yet, it’s a fantastic application.
February 19th, 2007 at 6:05 am
Hmmm. Let’s look at the applications most people would use on their PCs: Office – approximately standard until Office 2k7, but very unintuitive despite that; IE – similar situation; IM apps – google talk, skype etc. almost all have custom L&Fs; Media players – custom L&Fs (including Apple’s).
Actually Apple’s own software is not good at following their own L&F guidelines, same with Microsoft. Most “creative” software has its own (bizarre) L&F e.g. Adobe products, Final Cut Pro, Shake, Poser etc.
There are two separate issues here: custom looks, and custom behaviour. For example Mac users don’t care that most Apple products look different, but the get all angry about apps that don’t do drag and drop properly. This is why native L&F has been a big red herring in desktop Java adoption.
P.S. correlation != causation (RE: application usage on Macs and PCs)
February 19th, 2007 at 6:28 am
WinAmp was skinnable but by the user. That is a critical distinction that people keep missing. The user can have the option to change the skin. The developer does not.
Apple has indeed caught some flack for being inconsistent with iTunes, QuickTime Player, and so forth. However that seems to be a function of changing to a new tune instrument by instrument rather than all at once. The brushed metal L&F you see in these apps is the new tune.
Of course there’s also the issue that if you’re Itzhak Perlman or Pavarotti you can indeed tell the conductor what tune to play. In UI design this is called the Kai Krause rule. Most of us aren’t that talented though.
February 19th, 2007 at 8:13 am
Could a post be any more pandering? Is it Jim “Steve” Jones we’re talking about?
My very favorite thought, brings a smirk of happiness every time, is the joy of knowing all the people who are “being different” just like everyone else.
February 19th, 2007 at 8:45 am
Elliotte: WinAmp was skinnable by the user but the default skin was still far from looking native. I totally agree that the feel of your applications should be consistent (a right-click on a text field should popup a menu with copy/cut/paste for instance) but the look does not matter that much. When the design is good, the user will be able to use the application easily.
There are non-native-looking applications that are far easier to use than many native-looking applications, simply because they can provide a UI that works better for the features they offer. Locking you into a native look and feel just for the sake of it brings you a lot of constraints that are not necessarily good for the users.
And yes, it is hard to come up with good design for user interfaces and it should *not* be the job of the developers. I do believe that most developers are smart enough to know when they can drive away from the “standards” and when they can’t. Unfortunately there are many applications that show the contrary 🙂
With technologies like AJAX, Adobe Apollo, Flex and Microsoft’s WPF you will see less and less native-looking applications. That doesn’t mean they will all be hard to use or hard to learn.
February 19th, 2007 at 11:19 am
“P.P.P.S. If you’re playing in Linus’ band, play whatever you feel like. No one else is playing the same tune anyway.”
Uhhh… well, there are two main bands, GNOME and KDE, but each band does play the same tune to a pretty good extent:
http://developer.gnome.org/projects/gup/hig/
http://usability.kde.org/hig/
So let’s be fair…
February 19th, 2007 at 11:24 am
I think we all agree then that there is no consistency in the look of popular applications. This is an important point to make, because I get that feedback at work all the time. “We want the application to look like a native Windows app”, when I show people a native looking windows app it doesn’t register as such, for many corporate users. Why? They are talking about something like the Office 2k3 look and feel! I flip a switch and enable an office like look and feel, and then people are happy.
Elliotte, I think the type of L&F Kirill is offering is something that users can turn on if then want. We’ve seen many apps who provide this, which is much more flexible than say your options using iTunes. I suspect your main objection is that Kirill’s visual implementation of his look and feel is something of an eye sore. On that, I would totally agree, but I have to say he has some cool ideas and apparently there are some people who like it because he does have users. It’s also apparently very customizable, so that Dali can go in it and change the colors to his liking.
February 21st, 2007 at 10:51 am
iPOD is alright. I don’t mind using it.
But, iTune is just the biggest crap I ever used.
February 28th, 2007 at 11:28 am
Hello Elliotte.
Please clarify. You’ve mentioned before that programmers shouldn’t design UI. You are a programmer. So, by your own definition, your opinions and ideas on application UI are invalid. Therefore I must strike everything you’ve said in this post from the record.
But you say, I’m special and have UI training. So, its OK for a programmer to comment on UI if that programmer thinks their special. Hmmmm. Who’s ego are we really talking about here?
March 1st, 2007 at 10:00 am
Registry …
Install lots of stuff on Windows (I can’t comment on Vista but definitely for earlier versions) – end up with crap-filled machine that runs slowly, even when it’s uninstalled.
Install lots of stuff on Mac, delete the apps – end up with a Preferences folder full of text files (and the odd irrelevant entry in Open With).
May 18th, 2007 at 7:52 am
[…] Bill Higgins takes a very unusual way of explaining why Mac apps should look like Mac apps and Windows apps should look like Windows apps. It also explains why desktop Java […]