[04.51.18AM // 2003.04.13]

vinayvenkatesh

printf("%s says, \"%s\"", author, quote);

post comments:
name:

email:

url:


comments:

Remember?

[2003.02.11 // 05.54PM] [rant // technology]
apple's compliance with the hig released by apple

clarus

both erik and matt both wrote articles about apple's ui principles and and what they are doing with them now. this is my gripes, likes, and in general a response to both of those posts.

<rant>

as a loyal mac user for well over 15 years, i am proud to proclaim that when apple first designed and released the macintosh, they were leaps and bounds ahead of the world in getting the ui right. and they did it long before the competition (one can argue that system 7 was/is better than windows is now).

the move from mac os 9 to mac os x has brought a lot of new (and some of them probably uninvited) ui changes to the macintosh platform. but the real issue is what apple is doing about the human interface guidelines that they've updated for the aqua/mac os x interface.

first let me discuss the few problems i had with the os 9 interface. the first and foremost of these is the apple-tab behavior introduced in os 9. there was no visual feedback to which application was going to become foremost. this seemed like the hack that it was to provide some of the useful functionality that windows offered. this feature has been better implemented in mac os x. the dock provides you with feedback of which application will come forward and you can tab over to the application before having it come forward. much better. number two is the window-app relationship in 9. i clicked on a window, all the windows in that app come forward. while this is nice for certain occasions, it's not for all the time. mac os x again fixed this with the windows being independent of the other windows in the app. i click on a window and that's the only window that comes to the front. and what if i want the old behavior? oh i click on the icon of the app in the dock and every winodw of that app pop's to the front, in the same stacking order that it was before clicking. perfect. now we get into stuff that apple hasn't quite yet fixed.

some background before i talk about this next "problem". i am a keyboard person. i live and die by the keyboard, and while i do use my mouse, i like to think that i can do nearly everything from the keyboard. in os 9, i had quickeys installed and could launch any app on my drive with that, and moreover had several key shortcuts for within apps for anything i might do that's not already key accessible. but my big gripe was that i couldn't copy or move files in the finder with the keyboard. so in mac os x they started to fix some of these problems. using launchbar, i can launch any app on my system, and if i really want to select menu items, i turn on the ability to get to menu items and the dock through the keyboard (in the keyboard control panel). but wait! the finder still doesn't provide me with any sort of way of managing my files using the keyboard. in fact, it doesn't even provide me a way to "right-click/control-click" with the keyboard. interestingly enough windows does allow this with the keyboard. in 10.1 they did add the apple-c, apple-v to copy a folder from one location to another location. but it's not as well thought out as the windows version of the same exact feature which has been there since windows 98 (at least).

apple, however, is a company that pays attention to details. as i do, apple firmly believes that it is the little things that make the experience more enjoyable than the big things. i hate it when apps have a ton of features but are implemented terribly instead of doing one thing really well. i would rather use several separate programs that each do their part of an equation well, instead of one that does all of them, but is unpolished at it's job. so, we see a lot of "polish" in mac os x. matt called this coolness, and i'll stick with that. evidence of this is visible in the genie effect, the poofs that you see when you drag things from the dock, etc.

but since apple is all about the end user experience, apple has made it a habit to release human interface guidelines to guide developers in how to design their apps so that there is a consistent look and feel across all the apps in the os. i mean sure people break them but the hope is that all the developers will follow the guidelines. the question, however, is "how do you expect other people to follow the rules you've laid out, if you don't follow them yourself?"

ui widgets

ical checkboxesapple has released a set of standard ui elements and as matt pointes out they are there because apple wants you to use them so that there can be consistency throughout the os, as well as because it makes it easier for developers to get a lot of behavior for free. but what does apple do? apple doesn't use the widgets they've designed for their os in their apps. they roll their own, rebuilding the same functionality with custom graphics. a perfect example of this is the checkboxes in ical's calendar view. not only does ical have to implement the behavior itself, but the size of the application bundle gets bigger very quickly as you include more and more images. matt points out that ...


In most of Apple's i-apps, the buttons are TIFF images in the bundle, and not just one image per button: usually, there are four (normal, over, active, disabled). Multiply that by the number of buttons and widgets, and you begin to see why they launch slowly, resize slowly, and just generally run slowly. Your video memory is being used by these daft image-buttons, where standard UI elements would do the job just fine.

even using the metal appearance, the standard widgets work as they should, looking and behaving correclty. the guidelines specifically point this out in the section about textured windows.

apple preaches, but does not practice.

toolbars

safari's toolbar is something that many people (me included) have issues with. do i need to use a set of menu items to add and remove buttons from a toolbar? the frameworks that apple has released has this wonderful thing called an, get this, NSToolbar. funnily enough, all the functionaility has been provided for you! i can drag things into and out of the toolbar, change the order, etc. you get all sorts of functionality for no cost (on the developer's part) and it magically complies with a number of human interface guidelines surrounding the widget.

safari toolbardevelopers could argue that the toobar's weren't designed to work with metal windows (we'll get to that bit in a sec), but since apple added the metal windows to the api, it would have been prudent for them to extend the toolbars to work with the api. and certainly having the sunken text etc would have been a nice addition to it.

but nope, gotta stick it to the users because simple means that the user doesn't need to think. of course if we think about this, apple has even provided a way around this, the default toolbar. and of course using a toolbar doesn't prevent apple from having the stuff in the menu to turn on and off. once again, apple is replicating code to reproduce functionality that it has already provided.

but the weird thing is that safari has two toolbars both of which exhibit different behavior. the "favorites"e; bar and the button bar. i've already talked about the button bar, but the favorite bar has some of the features that the button bar should have. this includes the re-order-ability of the items. granted that the pop down menus need a little customization so that they fit into the theme, but there is a widget asking to be centralized into appkit so other people can use pull down menus in their apps (not that it will be, or should have been used in the first place. but, since they are using it, they should provide it for everyone). of course the folder/pull down menus in the button bar don't work like they should. i click on one and quickly click on the other and bam it closes the other one, but doesn't open this one. or if i click quickly it re-opens the one that was previously opened. not cool. but then what about the bookmarks button? well while other people may gripe about it, i think this is a good idea, just badly placed. it really should be part of the main toolbar. but since it's an unmovable part of the favorites bar, it's okay there. it works there. but more thought should have been put into it.

textures/metal windows

okay, i'll get flamed for this i'm sure. but i am not a fan of textured windows. granted, they look nice for safari, and calculator, and i'm used to it for itunes and the iapps, the answer is still no. there are plenty of applications that do similar things as each of these apps, and they look fine with aqua (is that what i should be calling them since the textured windows are still part of the aqua hig?) windows.

let's go back in time and look at where the metal window came from. back in the day, when mp3 players (such as macamp - plug plug plug) were becoming more and more mainstream, a reasonably new idea called skins was introduced. now before i get bitch-slapped, skins/themes was not pioneered by mp3 players. this is shown by apps such as aaron (first mentioned in wired in 1995) which changed the interface of system 7 to give it the platinum appearence of the then rumored copeland os. however, mp3 players did bring this idea to the app level. apple needed to support this burgeoning market and soon an mp3 codec was added to quicktime, and because apple wanted to get a foot in the door for the market, and wanted people to think of quicktime as an mp3 player as well, they introduced media skins to quicktime. on top of that, they introduced this new metal interface to quicktime to make it stand out and be very mp3 playerish.

qt player metal skinbut what to do when you get flamed for bad interface design? if you were any other company, you'd redo the ui. but you're not. you're apple, the company that gets the ui right on the first try, the people who "pioneered the graphical user interface". what you do is scramble and write up some ui guidelines that kind of allow for that skin. only there aren't any that can be adopted and bent around the skin. it's a skin, after all. it's meant to give a neato feel to the app, and be basically usable, but not much else. there obviously was no intention of making the ui be intuitive, or be a study in good HCI. so your guidelines don't fit, are incomplete and vague, and are quickly disregarded by the masses of developers who want be as successful and as l33t as you!

so it really isn't a surprise that you find that you really can't even pretend to stick to your published guidelines since they'll interfere with what you have already published. so how do you get around the fact that the new and improved app you've just released doesn't follow the guidelines? you disregard the guidlines and you use the very fact that you have control over every aspect of the os and push the textured window on the user so that it becomes familiar even if it isn't intuitive. in the end, people know how to use it, because they've been using it for so long. now you've become the biggest breaker of the rules that you said no-one, and you repeat no-one, should break. what does that do for the credibility of your company as a premier company in ui design and usability? either you break the awesome rules that you came up with, or you're leading the developers astray with bad rules while you use the right ones . the only conclusions available. (incedentally, i firmly believe that the earlier is true - that apple is breaking the good rules they've laid out.)

this of course leads us back to the metal windows in safari and the iapps. i believe (and i should be corrected if this is not the case...) that the hig state that metal should be used for an application if it is a single window application and is representing/interacting with some sort of digital media or device. hell, apple even advises you to use standard aqua windows instead of metal windows. once again, however apple throws their own suggestions out the window when it comes to their own apps. a quick step through the apps reveals that itunes could be representing digital media (cd's/iPod); idvd is certainly representiing digital media; imovie, well this is once again debatable; and ical, well i can't even think of media ical is representing. then of course there is calculator, final cut, ichat, and safari.

since i've already talked about safari, let's look at that. safari is a web-browser and is thus definitely a multi-window application, and not representing any physical media-related device of any kind. if apple had just used the standard ui, then the normal toolbar widget appearance would fit, with no need for hackery, and you'd save engineering time and hassle. omniweb has already proven that a standard aqua based ui is more than up to the task of providing web-browser with adequate features and can look nice too.

textured/metal windows & ui widgets

metal close widgetso a couple days ago erik pointed out that the window widgets in metal apps bring the application to the front. try it. put safari in the background and close a window. pop: it comes to the front. now try the same thing with an aqua app, say simple text. lo and behold, it doesn't come to the front. since it was one of the things that apple touted (clicking and acting on windows in the background) when they first introduced os x, i think that the standard windows' behavior should be mimicked for textured windows. the word is, er should be, consistency. apple seems to be throwing this word out the window however.

whosawhadzat? you did what?

font preview panel

font panel previewwe can then move onto general ui wrongs that one can see. did you know that in the font panel, there is a preview pane? i first noticed this about eight months ago when i was working on jaguar. of course at the time a lot of things were changing and i didn't think very much of it. about two months ago, though my room mate, michael found it. wow. took that long to find it. that was when i noticed that the font panel didn't have any sort of indication that there was a preview. no handle to imply that there is something you can drag down. normally for a split view you'd see a two line handle that you can drag around. nope, once again apple has thrown the ui guidelines out the window and manually rolled a new widget just for that one use. the thing is, that it would even be okay the way they had done it..wait, let me rephrase that. it would have been better, not okay, not correct, but better, if the preview window had been open by default. that is the first time i ever used jaguar, it was showing. but now, the default behavior is for it to be closed. that is no-one knows that it's there until they accidentally click on that area of the window and drag (how likely is that) or they are told by someone else in the know. now this is not just wrong, but exactly the opposite of what i thought apple's view on ui design was. wasn't it, "anyone can sit in front of a mac and be using it to full potential within minutes"? i guess not.

ichat

ichat new message ichat really is the super-villain of ui baddies. now there are so many things wrong with ichat, that i've reverted back to adium (which incidentally, before i get flamed, breaks a large number of ui rules, but for usability rather than neato factor. i can get into this at a later time). the first of my gripes is the when you get a new message. when someone messages
me, a new semi-transparent window pops up with their message. so this is perfectly fine. my problem is how the window behaves after i've brought it to the front once. first off, i shouldn't have to click the "display" button to expand the window so i can see everything the person has typed. secondly, if i don't type anything in the chat and click out of the window, bam it goes back to it's minimized state. _no_, bad ichat! the semi-transparent mode is to imply new messages, not messages that i've already looked at.

ichat chat buttonsnext on the list of ichat's flaws (or super powers, if you will) is the buttons in the chat window. normally, you'd think that when clicking on a button produces a beep, or essentially declares itself disabled in some manner, you'd expect that it would be grayed out in some manner. of course ichat completely ignores this paradigm that apple pretty much invented and has become a standard part of ui design. the very last button in the chat button bar is the attachment button. when i'm talking to a buddy who doesn't have that feature in his client (say who is using adium) clicking on the button produces a beep. that's the indication that that feature is unavailable. once again, not cool man, not cool! and of course the b and the i buttons which are for bold and italic. i don't agree with those being there, because apple had said previously that the way formatting should be handled is through a font menu. and granted that people want quick access to bolding and italicizing stuff, but that's what bold and italics menu items are for (and key short cuts). but this last one can slide because i'm a power user and joe schmoe user might want these buttons since he can't go up to the menu (note his hand is already on the mouse to click the button). the smily button is another one that bothers me, because there is no sort of indication that it is a drop down menu. even in the aol client, there is a little arrow in the button indicating that this button isn't just a single click action button, but it will require some more input after the first click. bah! and finally the "people i am chatting with in this chat window" button. well, i really have no problems with this button. it's okay just where it is. i just don't like the way i need to add people to the drawer that pops out. i won't even get into that.

ichat buddy buttonsthese buttons should really be in a toolbar (for some sort of consistency). the first changes the view of the buddy list itself and the second adds buddies to the buddy list. so the first two of these act on the buddy list itself. the next three act on buddies. there should be some sort of separation between the two sets of buttons. honestly? having a button for "message this person" is kind of lame because the same behavior is enabled by double clicking. and the get info and mail buttons? get info is understandable, because it pops up a window that allows you to change some of the information you have about that buddy, but the mail button? it's not even enabled all the time, and i am not going to go to ichat to mail someone. especially because that person already has to have an address in your address book (which can also be accessed from mail easier) for you to be able to mail him. now the correct place for this button (and it's not a bad idea, just badly placed) would be in the message window. because that's when i think of emailing someone - while i'm talking to them. i don't want to have to click on their name in the buddy list. i have to find it first, which is a pain when you have some 150 buddy's in some uncategorized flat list (why doesn't i chat have buddy groups?). and then move the mouse to the bottom of the window and then click on this tiny button. instead why not make it one of the buttons in the chat window.

other iapps

erik talks about imovie, but since i haven't really used it much, i'll let you read the things he thinks are wrong (as all of this and that are just opinions. they're right, but they're still just opinions) he talks about the ken burns effect on the imovie interface. and if i used imovie, i would probably come up with a very similar list. suffice to say, though i have previously used premiere, adobe's film editing application, and have since moved over to final cut pro, which is a huge improvement in terms of ui and usability and learn-ability over premiere.

itunes, well i have a lot of little gripes over itunes, but i can't fault apple for coming with a good ui for arranging music etc. and they certainly took over the mp3 player market really fast. the problem with itunes is that it's generally a good ui, and it doesn't use the cocoa widgets (it's a carbon app), and it uses too much cpu. i can go into significantly further detail about the ui and it's minor flaws, but not really worth it, since there is no other app that it can really be compared to.

ical. holy cow. so many flaws. the fact that the app quits if i click on the close button was one of my pet peeves for a long time. but finally with version 1.0.2 they fixed that one. but in general it has a lot of the same problems that ichat has, or any metal app has started to have. the widgets don't behave the way they should. i've pretty much talked about all the problems that ical is with reference to some other app.

general ui decisions

this is another large topic and should be left for another day. this topic would include things like the dock, and the changes made from os 9 to os x. i mentioned some of these in the beginning of this rant, but since i have just as much to say on this topic as i have already said in this rant, i'll postpone talking about this.

in conclusions

apple is still the premiere user interface company. they still pay a lot of attention to the user interface and human computer interaction. they're just losing their touch, and need to pay more attention to what they are doing with all the changes. of course looking at the hig, you think, "wow, apple has really gone through the trouble of thinking about hci and told us about what they think we should do so it will be easier for the user". but if you're going to go through the trouble of writing a nice long document which you are going to call human interface guidelines, and expect other developers to follow them, follow them yourself .

</rant>

when i get the energy and the time to talk about more ui stuff, i'll be posting it here. i mean, i have been called the ui nazi. i am nit-picky about ui. i've been this way for a long time, but there are times when i'm wrong, because i approach ui from a power user point of view, mainly because i've been a power user for about 15 years now. that's all i have to say on the matter for now.

[2003.02.11 // 11.07PM]
John Brian

Good lord man, that post was so long, its sheer weight broke the hook upon which it was hanging!

[2003.02.12 // 05.54PM]
z

With the font thing, they changed it from how it was done under NeXT/OPEN step...in NS/OS there is a Preview button you can click for the preview to appear. NeXT were much more sensible with their user interface design.

[2003.02.12 // 08.18PM]
Someone

You do make some valid points.
It is, however, kind of ironic to be critizising an user interface when you don't capitalize sentences and use a dark gray text against a light gray background.
Makes for a hard reading...

[2003.02.12 // 08.19PM]
someone

Heck!
You don't even let me capitalize my sentences! :-)
Hmmmm... is this a case of style over function?

[2003.02.12 // 08.30PM]
Paul

Men!, have you tryed to edit this under macromedia? (yes, im a ie6 user who cant see anything, has his eyes hurting coz of the grey/grey combination..but..after all you are making some good points here.

[2003.02.13 // 10.20PM]
Adam Younker

Wow. Nice post. Not being a developer I've never had any inclination to read Apple's HIGs. I'm glad you gave me the skinny without putting me to sleep and adding meat to arguments I've rarely heard fleshed out before. Kudos!

Adam Younker
Editorial Columnist
Mac Help Net

[2003.02.14 // 01.50AM]
Ex Mac User

Have you tried Windows XP?

Frankly, it has a better UI than Mac OS X.

Mac OS 9 is much better than both, of course.

[2003.02.14 // 02.10AM]
vinay

actually, i'm working on loading up my pc with windows xp. unfortunately in the process, it decided that it was going to leave my pc in an unusable state. currently i can't boot without booting into windows xp setup, and of course the setup crashes. when i have the time (and another windows xp cd) i will pull out that drive and try to install on another drive and see what i can do. until then, i don't have any sort of pc (and don't say vpc, it's too slow)

http://www.vinayvenkatesh.com/cgi-bin/mt-scripts/mt-tb.cgi/66
trackBacks to this article:
More on Apple UI
Excerpt: Vinay finishes up his big post on Apple's dip in UI quality with this: apple is still the premiere user interface company. they still pay a lot of attention to the user interface and human computer interaction. they're just losing their touch, and need...
Weblog: NSLog();
Tracked: February 11, 2003 07:22 PM

Apple UI-land In Bad Decline?
Excerpt: ...I'm going to add a few comments to this particular discussion, however-- both because I think in this case the nay-sayers have some valid points, and because I would like to offer some dissenting food for thought...
Weblog: Sci-Fi Hi-Fi
Tracked: February 14, 2003 09:55 AM

Inconsistencies
Excerpt: On Apple's trend toward slightly inconsistent user interface widgets (and why it's bad for the Mac)...
Weblog: Daring Fireball
Tracked: February 16, 2003 03:21 PM

Heh, heh - you said "tool"
Excerpt: I've been reading a lot of rants like this one recently, where at some point or another the author complains
Weblog: Blather and Nonsense
Tracked: February 16, 2003 05:05 PM

Me, Google, and Blogging
Excerpt: They say Google lives on fresh links, and I guess you could say I've been linked to a few times lately. But here's a resulting curiosity: Google on "metal mac os x hig" and the first result (or two, depending on how you count) is this very site. Y'know...
Weblog: NSLog();
Tracked: February 17, 2003 05:32 AM

More on Apple UI
Excerpt: Vinay finishes up his big post on Apple's dip in UI quality with this: apple is still the premiere user interface company. they still pay a lot of attention to the user interface and human computer interaction. they're just losing their touch, and need...
Weblog: NSLog();
Tracked: February 23, 2003 11:49 AM

Skinning Safari
Excerpt: In an otherwise slow news day (apparently, Apple has an MPEG-4 Video Gallery and it’s cool), Chris points out another Safari mockup for dealing with multiple web pages in a single window. Looking at all the available pictures, I just...
Weblog: raoli.com
Tracked: March 6, 2003 08:33 PM

Skinning Safari
Excerpt: In an otherwise slow news day (apparently, Apple has an MPEG-4 Video Gallery and it's cool), Chris points out another Safari mockup for dealing with multiple web pages in a single window. Looking at all the available pictures, I just...
Weblog: raoli.com
Tracked: March 6, 2003 08:36 PM

Skinning Safari
Excerpt: In an otherwise slow news day (apparently, Apple has an MPEG-4 Video Gallery and it's cool), Chris points out another Safari mockup for dealing with multiple web pages in a single window. Looking at all the available pictures, I just...
Weblog: raoli.com
Tracked: March 6, 2003 08:40 PM