Thoughts on Human Interface Guidelines
Daniel Jalkut wrote up a little bit on the Mac world's slow but steady drift away from the human interface guidelines. I guess it never really bothered me that Apple started bending and breaking the rules. After all it's their set of rules. Daniel has had a lot of great quotables recently, and this is one of them:At the very least I think it’s time for us crotchety old engineers indoctrinated by System 7 or earlier values to mellow out a bit. I got so used to defending the party line for so many years, that I stopped questioning whether it was worth defending.
First of all, LOL. Really, though, there was a time when the HIG stuff was worth defending vigorously. It kept things from descending into the depths of... well... the sort of stuff we see on other platforms.
This was partially because the Mac was just sort of orbiting Windows, and many big-name Mac apps were Windows ports. You considered yourself lucky just to have something that ran without crashing. Nowadays, the Mac has its own gravity, and is actively charting a path for Windows UI.
It also was a lot more important when the Mac didn't have quite the rich selection of standard controls and widgets. Now that we do, even the Mac apps that don't try so hard on the UI front are still pretty good.
But We Need Guidelines!
I think the developers that are interested in keeping the human interface guidelines up to date basically want to know two things:
1. What can I do to make a good Mac app today?
2. Where is this all going... what's the master plan?
Pretty much everyone has figured out the first one. If you want to know how to build a "modern" Mac UI, look at Apple's current lineup of apps. That is and likely will be the de-facto standard for some time. It changes at least every year, and maybe more often.
For the second one, I think the big secret which isn't such a big secret is that there is no master plan. There are some interesting stories in Revolution in the Valley about how the Mac team had an overall goal, but they didn't know the details of how they were going to get there. They basically figured it out as they went along. I think that's what we're seeing at Apple today.
Apple could have either sat everyone down and said "look, we're doing things a bit differently now," at which point people would absolutely freak out, or they could just start moving the direction they wanted to go and wait for everyone to sort of figure it out. Guess which one they chose.
I really think this is the right path, though. Can you imagine Front Row with NSTableViews?
What Does This Mean to Developers?
Here's the deal. You can either sit there and fret about the lack of a proper document, or just import ideas from Mail, iLife, the Pro apps and work it all out as you go. Frankly, most end users don't even know or care what the human interface documents say. They want it to look nice and they want it to fit in with the rest of their experience.
Even if there was a document, the Apple application teams and the OS team are going to continue to move forward on their fronts, so the document would likely be obsoleted quickly after it is published, and possibly always out of date.
The current state of Mac apps is the documentation of the human interface guidelines, even though that sounds like a paradox. Trust me on this.
What About Users?
Some Mac users are concerned that the lack of guidelines means things could spin completely out of control. Here's what I've learned: Mac users, on the whole, have a sense of taste. If an app's experience isn't right, they simply won't use or buy it. The Mac user base is its own filter. It's not just theory, we've seen it happen.
In any case, all of this will seem tame when Leopard hits the streets with Core Animation on board.
Thoughts on Human Interface Guidelines
Posted Oct 23, 2006 — 13 comments below
Posted Oct 23, 2006 — 13 comments below
MZiray — Oct 23, 06 2136
returnself — Oct 23, 06 2139
Look at Mail.app in Tiger.
The source pane on the left is a custom outline view. In addition to the background color (trivial to do) it also has the neat rounded selection rect for drag and drop and the custom badge when you drag more than one item.
The buttons beneath the source pane are custom jobs.
The highlighting of threaded messages in the messages pane is custom.
The header view beneath it is custom.
So basically everything you see in Mail is a custom control. Mac developers can recreate these things (some are trickier than others) but then the community ends up with 30 slightly different implementations of the + and gear icons. That, IMO, is what is degrading the consistency of the platform.
Dan Price — Oct 23, 06 2140
Frankly, most end users don't even know or care what the human interface documents say. They want it to look nice and they want it to fit in with the rest of their experience.
Yikes. This is the attitude on Windows. Problem is, everyone has their own idea of what 'looks nice'. I see people using all manor of awful Windows skins and customizations, and as we move towards to thin-client/web apps, the lack of standard HCI is only making things worse.
When you don't have a consistent standard, and developers who enforce that standard, pretty soon everyone starts to do their own thing. They think their apps look great. The result for the end-user?
Windows.
Bill Coleman — Oct 23, 06 2142
Now, in the early and mid-90's, Windows certainly garnered a lot more attention than the Mac, but the Mac was always on its own trajectory.
As for the HIG issue -- it's been around a long, long time. Back in 1988, Hypercard broke a lot of the rules. And it took forever for Apple to deliver a lot of the UI controls that Hypercard introduced as standard controls.
For a large software house like Apple, it's not a huge proposition to say, "OK, we don't quite get the right feel from using the standard controls, we're going to whip up our own." Which is why you see so much custom stuff in Mail.app, or the way iTunes appears to change style with every season.
For a small developer, creating a lot of custom controls can be prohibitive. Leveraging existing work is very important to producing a quality product.
The key to producing a quality product, I think, is user testing. Regardless of what UI design you come up with, you need to validate it in front of real users.
Preston — Oct 23, 06 2145
Marcelo — Oct 23, 06 2148
You don't need to wait for Core Animation:
http://www.chachingapp.com/
This little app looked like a delicious library for money control... but once installed I couldn't stand the overuse of animations, transitions, and etc.
This is really really a bad sign. When it's used in the right way it could be ok, but we already have a bad example.
Apologies for the developers, but the UI is a little over the limit!
Scott Stevenson — Oct 23, 06 2150
I don't think people will pay for such apps.
I don't foresee many new Leopard apps coming out from Apple for a while to use as a model.
Apple already uses Core Animation-like concepts in their apps. CoverFlow in iTunes is one example, Front Row is another. Xcode 3.0 also uses Core Animation, but in a 2D context.
returnself: The thing that bothers me about Apple's drift from the HIG is that they keep adding whiz-bang new controls but they don't share them with the rest of the Mac developer community.
This comes up a lot at the WWDC feedback sessions. I think the app teams (not the system-level framework folks) come up with new controls, so transitioning them to publicly-supported API isn't instant.
In a way, this is good because it forces the controls to work through the real world first. What happens if Mail has to ditch or drastically rework the new controls, but the public versions of the controls still exist? Break compatibility?
It's inconvenient in the sense that new controls only come out every 18 months or so, though. Maybe what Apple needs to focus on is creating a set of base controls that behave in a certain way, and the developer can make them look however they want.
Dan Price: I'm not sure I agree Scott. You've only got to look at the mess that is iTunes 7, Mail and the Finder to know that this 'make it up as we go along' approach is dodgy.
I don't get what the big deal is with iTunes 7. Other than the scrollbars, it looks great to me. I don't like the Mail buttons but I've gotten over it. I really like the Mail sidebar, though, and it seems most people do. That's probably how it has worked its way into iWeb, iTunes, and so on.
The Finder is a topic onto itself, but it's probably the one app of the three that you listed which most closely follows the rules.
Yikes. This is the attitude on Windows. Problem is, everyone has their own idea of what 'looks nice'.
The attitude may be similar, but the environment is completely different. Apple sets the bar very high to begin with. By definition, Mac users won't just take whatever comes down the tube, or they wouldn't be Mac users. I'm not worried about it. The user base rewards good design over and over again.
Bill Coleman: I don't remember a time that the Mac "orbited" Windows. EVER
I meant when it orbited Windows in the minds of the average person. Now with iLife, Final Cut, and so on, the Mac has its own identity.
For a small developer, creating a lot of custom controls can be prohibitive. Leveraging existing work is very important to producing a quality product.
True. To argue the other side of this, though, the standard controls work just fine. It's just that people want their apps to look like Apple's. I suspect part of the reason Apple makes custom controls is to keep things fresh and different.
I think you could make the case that the custom controls are most interesting when not everyone has them. Other developers do the same. It's something to make your app stand out. The folks behind Disco get this.
Scott Stevenson — Oct 23, 06 2152
Just do whatever seems right to you. You should do that regardless what a piece of paper says. Your goal is to make the user happy, not Apple's documentation department.
If you try a bit of UI and your users tell you they don't like it, you can change it.
Dan Price — Oct 23, 06 2158
And you just accepted iTunes 7 :P
I don't agree, and I do worry about it. Mac users have a habit of accepting whatever Apple produces. I know people who don't use iTunes because it simply can't handle their gigabytes of songs. And it uses more system resources than it should. Pages looks nice, but really struggles with documents of any size. iWeb has been slammed for producing bad HTML and inefficient pages etc.
Although a Mac developer in my own time, I work in Windows software development so I have a perspective on both realities. I use enterprise software on Windows, that, although ugly and unintuitive, has the scalability and power far in advance of anything I've yet to see from Apple and I don't see that changing that anytime soon.
I can't help but feel that there are people at Apple who get payed just to come up with no widgets and non-complient UIs to dress up old applications. iTunes looked perfectly fine in version 6, so why change it? Must the UI of an app change significantly in order to qualify as a major revision? Is that the rule at Apple when they run out of ideas?
I'm worried that with Leopard, Apple will change everything again, just because that's what it thinks the end-users expect of a major release (unified look anyone?). At least Windows XP, or even Vista, allows you to choose the 'classic' look, if the latest widgets don't float your boat.
Scott Stevenson — Oct 23, 06 2159
I think you just have a different philosophy about app design than the prevailing thinking at Apple. All of the issues you cite seem to stem from that.
MZiray — Oct 26, 06 2162
Steve-o — Oct 26, 06 2164
It is good that people strive to conform to them, but the twitchy reaction to every little "infraction" or variance from the guidelines always makes me a little annoyed.
Henrik — Nov 02, 06 2274
The astronomical difference is one of the reasons why potential switchers usually have to try OSX before they are convinced to switch, rather than just look at screenshots to be convinced.
Why should anyone at Apple worry about guidelines, when everyone else hardly can keep up? Everyone else are scooting off in all directions.
I think the OSX GUI can almost keep itself aligned, because there hasn't been anyone coming up and producing a better solution for GUI programming on OSX as opposed to other OS'es. There hasn't been a third party solution available that made you say "Well, Cocoa certainly sucks compared to this new thing that looks completely different."
Most of the time you can tell whether a program is built under one framework or another and if there is too much difference, it adds up to a disjointed experience.
How many GUI systems do we have on Linux now? There are even 4 different solutions for AmigaOS, with it's current microscopic userbase. This is part of what prevents proper guidelines to exist there at all beyond menu placement and basic window management.
It really makes OSX looks superclean and extremely well ordered, even if OSX users might think that iTunes 7 scrollbars are the end of the world.