Apple's Missed Hardware Opportunities
Apple is committing a grave folly in not taking advantage of their tight OS/hardware integration. People forget just how much one can do with well-integrated hardware and software, but if you consider how much we do right now with peripherals that are barely aware of each other's presence, the potential is awesome.
Look at Microsoft's scroll wheel. Say what you want to about their lack of innovation, blah blah blah, but everyone I know who uses one won't go back to a mouse that doesn't have one. Even the most diehard Mac zealots I know all plug in either one of the Microsoft optical mice with scroll wheels or the Logitech clones of them. I started using a five button mouse about a year and a half ago (it's got extra buttons flanking the mouse on either side) and now I can't go back to 3 buttons because I'm too used to using those extra two to navigate forward and back in my browser or through file folders.
microsoft office keyboard
And all of this has succeeded despite Windows' complete separation of OS and hardware. That separation is necessary, of course, given the incredible variations that are possible when creating systems on the PC platform. But over time, Microsoft has been able to shoehorn support for the scroll wheel and extra buttons on the mouse, and the Windows key and application (menu) key on the keyboard, into Windows itself, first by including driver disks with hardware and then by migrating those functions into the OS in later revisions.
So what opportunity is Apple missing? OS X users are champing at the bit already, eager to point out that X (finally!) has decent right-click support. (Of course the old punchline is that Mac OS has always had a second mouse button, it's just on the keyboard.) The point isn't that you can right-click and cut, copy, or paste. The point is that you can move common UI interactions into much more readily understandable physical manifestations. I've got pretty good muscle memory for anticipating where a dialogue box will pop up, or where a scroll bar's thumb will appear, but if I'm running at an unfamiliar screen resolution or using someone else's computer, all of that memory is worthless. However, I've yet to find a person whose mouse scroll wheel wasn't immediately and consistently useful for me.
Heading in the wrong direction
People are focused on the wrong functions, of course. Consumer PCs have keyboards festooned with dozens of useless buttons, all covered in inscrutable iconography. Hit the yellow button with the square on it to launch the useless proprietary media player that your vendor preloaded onto your machine. But in a time where both Macs and Windows finally have stable, stays-up-for-weeks operating systems, launching an application hardly deserves a special button on a keyboard. Using them does.
Microsoft's hardware group, as usual, is on the right track. Their Office keyboard, while still plagued with pointless application launching icons, has some truly innovative features. Most prominent on the keyboard is a scroll wheel on the left side. Presuming that you mouse with your right hand, this wheel serves as a counterpart, for when your right hand is occupied with typing. Not that big a deal.
The OS X Dock could be represented with a touch-sensitive panel that could be clipped alongside a pretty LCD.
Much more useful is the trio of buttons below it, permanently mapped to cut, copy, and paste. That's useful, and works in every application right away. Granted, most power users are used to ctrl + c or ctrl + v, but for new users or those who relearn easily, it's a liberation. This is especially true because the shift + insert method of pasting data is inconvenient on the keyboard: they've hidden the insert key so effectively as to make it almost unusable. Given that it's never touched by anyone except for me, that's probably a fair trade.
I'd have put the scissors and clipboard icons right on the buttons, since most Windows apps use that convention anyway, but even with plain text labels, they're great. Isn't this the sort of thing Apple's supposed to be good at?
Above the scroll wheel are back and forward buttons. Again, duplicating functionality you can get on a lot of 5-button mice. But if you don't have 5 buttons, or you're more keyboard-oriented, these are powerful, and they'll work in your web browser, file browser, and lots of desktop apps that use the navigation model. Finally, beneath all of these new buttons lies a rocker switch, which lets you flip through applications without having to alt-tab. Powerful, useful, intuitive.
There's a ton of other functions, of course, like the great Undo and Redo keys, and the duplication of useful punctuation like the equals sign and parentheses above the number pad. But my point isn't to revel in a cool keyboard, it's to ask where the hell Apple's innovation is in this area.
Apple owns the APIs for their OS. They punish non-compliant apps heavily. As reward for being good, applications should get features for "free" when they comply with API standards. Microsoft does this well. Applications get the XP Fisher Price look for free if they're written to the API correctly. They get automatic handling of scroll wheels and application switching keys and all the other frilly horseshit on contemporary desktop hardware. But the overwhelming majority of Apple users are using the exact same keyboard and there's still no benefit accruing to them for doing so.
mac os x dock
Aside from the fact that they keyboards on Macs have been getting progressively worse, there's a tremendous opportunity being ignored. I'll ignore the obvious complaints about Mac mice, as nobody I know who's running OS X even uses the Apple mouse. But if I write my application to the Cocoa APIs, why shouldn't the keyboard have a touch-sensitive strip at the top that displays toolbar icons from the program? Back when the program menu in OS 9 listed running programs, why wouldn't there be an LCD showing the currently running program, next to a wheel that would let me switch between my open apps?
There's far more potential than that, of course. The dock could easily be represented with a touch-sensitive panel that could be detached from the keyboard and clipped alongside a pretty LCD. In an OS that used to be, and is slowly returning to being, focused on direct manipulation, it doesn't get more intuitive than touching an icon to activate it.
There's far more that I'm missing, of course. We're not used to thinking of hardware reacting to a change in status in software, except in limited (and largely useless) minor cases like force-feedback joysticks. There's room for tactile feedback, of course, but I'd be much more interested in having a dedicated wheel mapped to scrolling up and down in a window, or to flipping through the choices in a drop-down menu, become a standard part of keyboards. In having a button that brought the focus of my cursor to the Google search box on the toolbar in my browser, launching a browser instance if necessary.
Even something as simple as minimizing, maximizing, or closing a window has no single-key equivalent. It's been almost twenty years since these things went mainstream, people! The target area for the button I click on to restore a window's size, even having been enlarged by default in Windows XP, is still just a tiny square of pixels in the corner of the screen. It's an even smaller circle in Aqua on OS X. I can, of course, expand the area of that focus by double-clicking on a title bar in Windows, but most people don't know that bit of trivia, and couldn't figure it out.
We've been teaching keyboard shortcuts to users for decades because we're too lazy to teach shortcuts to people who make keyboards.