I was reading Bruce Tognazzini's 'Ask Tog' on Human Interface this month (as I often do), and noted some things I wanted to comment on.
If you haven't read the article, I recommend that you do so, at: http://www.asktog.com/columns/035SquanAdv.html
Normally, I try to contact the author first before publicly responding, and I did in this case as well. Unfortunately, Bruce was out-of-town, and in fact out-of-country (and requested that people not bug him via email).So with no ability to contact him about some points for at least a month -- I'll just ambush the guy publicly, and respond on-line (on my site).
My intent is not to offend or attack Bruce's views -- I respect him and his work, and we've talked before and he seems like a nice and sharp guy. My response is just to offer some support, elaboration, and some counter-points (and my point of view).
Bruce pointed out that Apple has control over both the hardware and software, and this is a competitive advantage over Microsoft -- and that Apple hasn't exploited this advantage as much as they could/should. I tend to agree that Apple should exploit it more, but that is just impatients. Apple has done a pretty good job so far, and more than anyone else - so criticizing Apple seems unfair (or at least holding them to a far higher standard), as no one else has done more.
I'm writing this on my Titanium G4, which added many small interface innovations -- like a wider screen (so I can compare Bruces article to my own, side by side), or that the wider format makes it easier to type and use on my lap, or that it isn't as deep means that it is easier to use on an airplane, or that I'm using airport (802.11 wireless networking) and on-line while sitting on my couch (and not tethered to a wall), and so on. The keyboard is above the trackpad -- why? Because Apple put it there 5 generations ago, and the entire market followed. Why is there software controlled power button? Because Apple added that to computer interfaces over a decade ago, and later, others followed. There are half a dozen or more other interface innovations in the hardware, like I transfered files by telling my portable to boot as a FireWire drive, and there is a slot-loading DVD, and so on.
So I agree with Bruce that Apple could exploit their hardware advantages more -- but I don't think we should discount (or forget) what Apple has done so far. Most people don't realize how much Apple has influenced the entire computer industry, and we shouldn't play to their ignorance but instead educate them.
Bruce mentioned that Microsoft has done a real advance with the wheel-mouse. Bad choice of examples (for me). The Wheel-mouse is an offensive piece of interface (to me) -- and anyone who has used one for more than 10 minutes should realize this. But let me explain more...
The only reason why you would put one type of discrete controller (like a wheel), on top of another discrete controller (like a mouse), is if you need to move them both independently (and at the same time). In other words -- if you are trying to move the cursor up, while simultaneously moving the scroll wheel down (or up at a different rate, etc.), then this is really good interface. If you don't use it like that (and no one I've observed ever has) then it probably isn't really good interface.
Users do want to scroll using a better interface than having to move off their current position, hit a small target like the scroll bars (far away), and then moving the cursor back to where they were before they started scrolling. That is why the little wheel has become popular despite its flaws. I just don't think the little itty-bitty wheel on a mouse is good for doing that -- and my finger gets tired real easily trying to scratch that little itch.
The million dollar question is "why use a little controller (like the micro-wheel), when you have a nice big controller in your hand already?"-- that controller being the entire mouse.What users really need is another button or "mode modifer" to tell the mouse to go from "cursor movement" mode, to "scroll mode". When that button (or mode modifier) is selected, it can change the entire mouse from moving the cursor to moving the contents of the window (like the little wheel). Since the mouse is easier to move and position accurately than the little wheel, this is much better interface. In fact, the mouse can handle movement in two axis at once, so you can scroll vertically AND horizonally (when necessary) -- making it a much more versatile interface. And the action of pushing a button and moving your entire hand, is much easier than the fine motor movement of trying to just use a fingertip to fine position some wheel -- and an annoying wheel that also has click-and-lock modes, and so on. Thus simpler is usually better -- and the wheel is worse. So you have more control, more versatility, a simpler interface, users are already trained on the mouse, and you have more consistency in interface -- everything about this way is better.
So why doesn't Apple use this? Well ironically, they do (and did from very early on). The first version of Mac Paint used this -- where you could make the cursor into a hand -- and viola. Later on, Apple added it to the Finder (1). But Bruce Togzaninni was correct -- Apple has done a bad job of implementing what they created. This behavior should have been implemented system wide, and encouraged by Apple. And the command key modifier is tricky. This behavior is the perfect excuse for another button on the mouse itself. Have a second or third button to turn on this behavior, and users "get it" (and it is a one handed operation instead of two).
(1) Try it in the Finder: Take a long list (a window with an active scroll bar), and press the command key and move the mouse; the mouse will turn into a hand and that will force the "scroll mode on". Moving the mouse then moves the contents of the window -- and everything is great. Show this to the average user, and get them to try it next to the stupid little scroll wheel, and in 5 minutes they'll prefer the Mac way -- and curse Microsoft and their sore finger joint.The problem was that Apple didn't get everyone to adopt it, and wasn't good at adopting it in all their programs as well.
So Apple did a poor job of utilizing better interface -- and Microsoft popularize worse interface. (Gosh, where have I heard THAT before?)
Bruce then talked about the advantages that Apple could exploit with the keyboard. And I tend to agree with him -- Apple can exploit many advantages and improvements. We know that keyboards were designed before computers (and mice), and could be made better. He mentioned making more functions available for the left hand, so those of us who are right handed (the majority), could do keyboard functions without removing their hand from the mouse, or doing hand-gymnastics. As I said, I agree -- but there is some irony to that statement as well.
In fact, Bruce didn't mention one of my pet peeves with all of Apple portable's keyboards -- no command or control modifiers on the right side of the keyboard. I'm very used to pressing command with my right thumb when I'm also pressing a key that is on the right side of the keyboard. It was just more natural to me, and changing that for portables was irritating at best.
The first Alto's at Xerox PARC took this concept a step further. Rather than having a keyboard for the left hand, they had a chording keypad -- you could type any letter (or anything) with your left hand, using chords (series of keys pressed together). This was an innovative interface that kept your left hand on the keyboard, while leaving your right hand free to use the mouse (or vise versa, assuming your were a lefty).
If this was such a good idea, why didn't it take off? Of course one-handed typing might be a often used for adult chat-forums, or people with physical limitations -- but it doesn't work nearly as well for daily use. People didn't want to have to retrain (and learn chords) to just use the machine -- even if it was better. How many people are willing to use the Dvorak keyboard? So despite being better, it was not very popular.
This is a tricky balance -- standard versus better. New things not only have to be better --- they have to be better enough to justify being different. Adding keys are not a big deal in training (so they are relatively low risk) -- but changing keys or behaviors is a big deal. You have to be very careful in changing things -- most people hate change, and if you are changing something it has to offer them a huge and immediate advantage, or they will resent the change more than they like its benefits.
This stuff wasn't really the point of Bruce's article -- and I know he is aware of all this stuff. But it is a point that I think needed to be made when people are discussing these things.
So Bruce's point that Apple could (and should) do a lot to make a modern keyboard more effective for computers is correct. But Apple has taken a lot of heat for the changes they did make already (like the command key) -- and it takes years (or decades) for people to adapt to one set of changes. And you have to be cautious about how soon you force another on them. But I do think it is time to improve the keyboards some more.
I agree that Apple should add gesture recognition. But Apple has pioneered almost all the gestures we know (the lingo-franco of interface). Remember, Drag and Drop is a form of gesture recognition, as is are drop-down menus, double-clicking, and so on. Elaborating on the gestures we can do with the mouse, could be a good thing. Apple explored quite a few -- like throwing icons at things (and having them continue trajectories) and so on -- but most annoyed users more than they helped, and exactly because there is a looser relationship between mouse-screen, it is harder to teach and use most gestures.
So you don't need a tablet to do gestures -- the mouse can do gestures too. If you want to throw away the mouse and go to an input device like a tablet with LCD display or touch screen, then that is somewhat a seperate issue. The higher fidelity of a pen on display (over mouse and its looser relationship to the display) does empower more gestures -- but gestures can be done with many things. It just seems that the whole form factor of computers needs to change to a tablet form, for many more gestures to be really useful and intuitive.
Tog mentioned that the Palm uses gestures better in some ways that the Mac. That is fine and true -- but not mentioning the Newton and it's gestures, and where the Palm interface came from is not fair to Apple. Again -- Apple pioneered a lot in this type of interface -- but just isn't using as much as they could on the desktop.
I tend to agree -- that Apple should do more with integrated telephony. But I have my suspicions that Apple is trying do more in information distribution and connectivity with audio, video and data collaboration as well -- ala iMovie type of thing. So an Internet phone and analog phone integration is probably already on their radar -- one would only need to look at some of the jobs they are looking to fill to see this.
But who has done the most for trying to marry these devices in the past? Certainly there's been quite a bit done on Macs. Apple has been the most commited to modem and computer integration of any company I can think of -- and certainly that is a form of computer-telephone. So that Apple has failed to do a really good job of analog phone and computer is partly Apple's fault, and partly that phones themselves don't have enough good digital features. But caller ID, and other newer phone systems are changing things. Lets hope that computers and the phone company can continue to work towards better integration.
One of Apple's biggest problems in management is follow-thru. Apple (and Kai fu Lee) pioneered many speech and computer integration breakthru's. Speakable items and speaker independant voice recognition was incredible -- but it wasn't incredibly useful. It could have been, and was on it's way to being that -- but it lost momentum. Once people realized the complexities and problems with voice recognition, it sort of fizzled -- computers weren't magic, and they were a bit underpowered for what we were trying to make them do. The realities and problems with speech recognition (and there are many), got in the way. But that doesn't mean that you should stop all your efforts. Quite the opposite, time and Moore's law will cure all evils -- keep pounding on the problem, and it will keep getting smaller, and when it is ready to take off, you will be there. But Apple had run into their own financial issues, and just dropped the ball -- which is understandable considering their situation of the time.
But good ideas keep coming back. Speech is unlikely to ever be the only way we interface with a computer (unless physical handicaps require it) -- but there is no doubt that it will augment the way we interact with them. So we will see more voice control and capabilities in the future -- I just don't think the hardware or wetware (people) were quite ready for it last time. And it could be a couple more generations or breakthru's before we are ready next time.
Extending the interface
Now the most intriguing part of the article is in the discussion of a deeper relationship of data and physical objects. Apple and others have explored many neat concepts in desktop interfaces. What if you could pile groups of files together? What if folders gave you the count of items in them or reflected their size (by their thickness). What if items reflected their age on screen with wear or antiquing effects (cracks, cobwebs, etc.)? All interesting points that I've seen mentioned and explored before.
The point is there are ways to refine and improve the interface. But not all of them are that good. Do users really care how old a file is? 99% of the time, I know I don't. To add problems to that, Age is a relative thing. If I'm on the computer 18 hours a day, and a day trader (where seconds matter), "old" could be 3 days, and ancient could be last week. But for many users, it may have been longer than that since they last used their machine. So while the idea is neat in theory, that doesn't mean it works well in practice, since the customization and setup is more complex than any usefulness it might offer. The concept is valid -- but computers may have to evolve a lot before we could ever put these things in practice and offer real value.
Sometimes good ideas are just too soon. For example -- Apple's OpenDoc. Apple has done more to push human-computer interface than anyone (in the way we work with computers). OpenDoc was an excellent attempt at redefining how we would work with files and applications. Instead of running Applications and then looking at files (application centric computing), it tried to reverse that. You had files that you could work with, and they contained data elements, that you could use various tools (applications) to edit/alter them with (document or data centric computing).
It was an excellent idea -- but the implementation and timing just wasn't quite right. It flopped not because it wasn't the right idea -- but because of many factors, that I'm not going to get into, because they are long and complex and would drag this article into a totally different area.
The point is that good ideas do come back. We will have document centric interfaces at some point in the future. In fact, the capabilities of Cocoa, Aqua and OSX, may help hasten that return. Sometimes you have to give up and start over.
Tog mentioned many other ideas -- about how to build a hierarchy and relationships. The thing is that most of them required complex relationship between the data. This isn't a bad thing, but they make the most sense if you create document centric interfaces, and the whole metaphor is wrong for that right now. We can hack up the current interface, and try to evolve our way into a more document centric view of things -- but that actually adds some inconsistency and confusion. So we wait and let people and systems evolve at their own pace.
I think Bruce is being a little too hard on Apple in his conclusion, because he's frustrated by what they are doing (and are not yet doing). He claims that OSX is not advancing interface -- I disagree. I think translucency, contextual icons, dynamic icon sizing, browse in place, and a few other concepts are steps forward. They are taking a few steps backwards or sideways in the process as well -- but they are at least moving.
Apple pushes these things more than anyone else in the industry -- certainly Apple does 1,000 times more than Microsoft to advance human interface. But you not only have to do the right thing, you have to do it at the right time. The right time is when the political climate is ready for this kind of change, and also when the industry and hardware capabilities are also ready. Tog is already well aware of that, as he did excellent work on interfaces at Sun -- but Sun implemented almost none of it. Why? Because it all required change at a time when Sun was not ready for it. Getting this timing right was the magic of the Macintosh, and the failure of many other good systems or ideas.
There are a lot of neat and fun ideas that we can talk about in theory, that would be better -- but just not be better enough to justify their existence. Sometimes you have to put many changes together into a complete system, and can't just increment your way into them. So you have to group some changes together, and exclude good ideas because the rest of the system isn't yet ready. There are a lot of things I want to see in interface, including many that Bruce mentioned. But I know this just isn't the right time for it -- yet.
Apple is pushing change right now -- but it is change at the foundation. Apple has layed down a new foundation with OSX and Aqua. They've evolved in a few small changes to the User Interface, and some foundation and new capabilities there as well. They are trying to build a foundaiton of better development tools. But this is all the tip of the iceberg. Apple needs to get the new foundation out, and get everyone migrated to the new system. Once that migration is complete -- then they'll be ready to push in more dramatic areas of new interface.
But they need to be careful with change as well. Too much change is bad -- and users only adopt to change at a certain rate. With OSX, they need to avoid disrupting users too much. They can push a few new things here and there -- but there is already a lot of disruption and change. The last thing I think Apple should do is radically change the way the machine operate (at this time). Little evolutions and improvements are good -- but change is bad.
So I would love some more evolution of the GUI / computer interfaces. And I think that people and systems are just about there, and the political climate at Apple will be right AFTER they've gotten everyone over to OSX and happy. But many things have to come into alignment at the right time for real magic to happen. Apple needs to finish the foundation of OSX, before they start mucking with the facade.