Keyboards: plug-and-play, not plug-and-communicate-what-they-look-like

by Michael S. Kaplan, published on 2007/11/05 03:01 -05:00, original URI:

I have talked a whole bunch of times about the disconnect between the hardware side of keyboards and the software "layout" side of them. Like in Keyboards: hardware vs. software, for example.

If I am in Windows and I am looking at the device manager, I can see an item there for my keyboard:

(ignore that disabled Wireless adapter, I just didn't need it enabled just then; it is not related!) 

and if I then plug in a Dell USB keyboard I have lying around (I grabbed it from work for reasons I will explain momentarily) it then adds another entry to the list:

Now you'll see no details are available on what kind of layout the hardware has. Even the 101/102 key entry for my laptop (a keyboard which I guarantee you does not have either 101 or 102 keys!) shows the problem.

The keyboards do not, as a rule, communicate about what they are to the computer. Even that USB layout is clearly plug-and-play, and not really very plug-and-communicate-what-it-looks-like.

The initial keyboard is figured out through a very complex mechanism of choosing based on OEM decisions (the OEM knows what hardware it bundles, so it just makes sure that is the starting selection).

This can occasionally lead to problems if there is no good information for particular hardware items (the Japanese 109-key hardware is a great example of a device that doesn't work all that well in Windows due to missing information on it, a fact that has apparently bitten an OEM or two while trying to put together the hardware to ship).

In the end, you can change the setting, but it isn't easy so unless you know the answer. There are a lot of choices....

I have to admit I like what Apple does here a bit more. :-)

If you plug in that same USB keyboard to a MacBook Pro running OS X 10.5 like mine, Leopard knows it has the same problem of identification of the keyboard hardware:

This wizard then asks a fews clarifying questions, such as this one:

or this other one:

and then it eventually decides it knows:

Some time next week I need to try out the tons of different language keyboards I have in my office to see if there are other questions I can make it ask! :-)

Anyway, this just strikes me as a much easier/better answer than forcing someone to know the exact hardware in question, right?

Kudos to Apple on this one, a much more usable solution for that whole out-of-the-box experience....


This post brought to you by(U+240f, a.k.a. SYMBOL FOR SHIFT IN)

# Zooba on 5 Nov 2007 7:20 AM:

"If the keyboard is working correctly... you can skip this step"


Umm... how do you skip this step? This is almost DailyWTF worthy...

# Michael S. Kaplan on 5 Nov 2007 7:52 AM:

Fair enough. :-)

There is the CLOSE button up there on the left, id that intuitive for Mac users?

What they meant to be talking about was if this dialog comes up and the thing that was plugged in was not a keyboard, then there are no worries. But the text is not entirely clear (and they never got into the CANCEL button on the Mac as much as they probably should have!).

# Andrew West on 5 Nov 2007 9:49 AM:

I'm not a big Apple fan, but I think that the Apple solution is so much more user-friendly than what Windows does (or doesn't do) that it does make you wonder what life would be with a Mac.

How difficult would it be to add a feature like this to Windows? As an outsider I get the impression that there is so much bureaucracy and politics within Microsoft that adding simple user-oriented features such as a keyboard identification wizard is nigh on impossible -- please correct me if I am totally wrong here.

# Michael S. Kaplan on 5 Nov 2007 9:59 AM:

Well, it is not exactly bureaucracy, but there is sometimes an inertia here that is hard to overcome....

I do think that if MS did go down this road they could do an even more complete job here (finding everything from the 101, 102, 103, 104, 105, 106, etc. keyboards in short order -- each with minimal effort), but the trick is convincing someone that the current solution is insufficient.

# Mihai on 5 Nov 2007 1:04 PM:

There is an Apple-like feature in Halo.

At the very beginning of the game you go through a technical check, and the tech guy holds an object up, then down, and asks you too look at it (the way an eye doctor would do).

This detects you controller preference for up-down behavior (push up look up, or push up look down (airplane control type)).

Clever, many people don't even realize they do a joystick configuration.

# Rosyna on 5 Nov 2007 1:53 PM:

Why did you take photos of the screen instead of screenshots?

Command shift 3 to take a full screenshot

command shift 4 to get a range

command shift 4, then space to select a window

hold control at any of the final steps to get the screenshot sent to the clipboard instead of the desktop.

# Michael S. Kaplan on 5 Nov 2007 2:05 PM:

To be honest, because I didn't know -- I am new to the platform!

Of course from now on I know what I'll be doing here. Thanks for the info. :-)

# Dave Ross on 8 Nov 2007 7:07 PM:

That part of the setup really impressed me, too.  It seems like one of those cases where somebody asked "what problem are we actually trying to solve here", and finding the exact make & model of the keyboard wasn't the answer.

# Cam on 8 Nov 2007 7:13 PM:

Here is a great link for Mac keyboard shortcuts...

# Bucephalus on 8 Nov 2007 7:24 PM:

Actually, the setup scripts for X11 on my ubuntu machine does a similar sort of "press your keys and let us cogitate" process - though a normal user will never see it.

You have to manually reconfigure the xorg package to get there - which you should not have to do.

# Hans on 8 Nov 2007 7:31 PM:

At work, when I plug in a handheld barcode scanner into my Mac, I get the same dialog. The scanner is implemented as a keyboard, that is, when you scan a barcode, it sends keystrokes that correspond to the barcode to the computer.

Of course, I can't press the key they mention, because the scanner only has one button: the trigger.

It was funny the first time, but as mentioned, you just dismiss the dialog and go about your business scanning stuff.

# Douglas on 8 Nov 2007 7:32 PM:

Re screenshots: If you'd rather not use the keyboard shortcuts, open up Preview and select Grab from the File menu.

# Yuusou on 8 Nov 2007 9:07 PM:

@Zoomba: "Umm... how do you skip this step? This is almost DailyWTF worthy..."

You close the window. I know shocking, right.

# Jason on 8 Nov 2007 9:48 PM:

Hans, I had the same barcode scanner issue on my Mac, but I figured that rather than close the dialog box, I'd fake the Mac out.  I printed two Code128 barcodes, one that encoded "Z" and the other that encoded "/", and then scanned them at the appropriate times... and it works perfectly. :)

# Moeskido on 8 Nov 2007 10:06 PM:

I'm guessing Microsoft can't easily implement this sort of convenience because of all the varied legacy hardware they have to maintain support for. There's just too much.

# Michael S. Kaplan on 8 Nov 2007 10:24 PM:

Well, be sure to keep in mind that my test was with plugging a "PC" keyboard from a several years old Dell into a MacBook Pro -- so the superior experience in this case was with legacy hardware.

This is just something that Apple does better, that's all. :-)

# LKM on 9 Nov 2007 1:25 AM:

>Umm... how do you skip this step?

Mac OS X actually launches an application which asks these things. To avoid configuring the keyboard, you just quit the application (usually by closing the window).

It's obvious when you're sitting in front of the Mac.

# Michael S. Kaplan on 9 Nov 2007 1:34 AM:

Unless you aren't used to the way dialogs work on the Mac (on the opposite side of Windows)....

# oomu on 9 Nov 2007 3:35 AM:

>Unless you aren't used to the way dialogs work on the Mac (on the opposite side of Windows)....

it's really easy and fast to understand because all windows are the same and you will see it pop on the screen.

the system is already started,  you'll simply close the window if you are not interested.

no fuss here.

# Neoguri on 9 Nov 2007 4:58 AM:

I know that this wizard is also available in Mac OS X 10.4 (Tiger). And it nicely illustrates a technic-centric vs a user-centric approach.

# Nick on 9 Nov 2007 5:35 AM:

I use a Kinesis ergonomic keyboard and one thing about the Mac system I don't like is that I have absolutely no trust that it will understand the keyboard.  It seems to work, though.

# Jonathan Wight on 9 Nov 2007 6:44 AM:

Another vote for obvious when presented to you.

I do agree that a cancel button in this case is definitely merited, but I've seen that dialog a few times and never even thought twice about how to cancel it.

"and they never got into the CANCEL button on the Mac as much as they probably should have!"

What? It isn't the "Cancel" problem the Mac has trouble with, it is that stupid Windows "Apply" button. You know, the button that acts like an OK button, but can't be cancelled (or undone)…

Check the HIG for more info:

# Michael S. Kaplan on 9 Nov 2007 8:54 AM:

I never minded the APPLY button, but I have had opportunity to dislike dialogs like the IE Tools|Options dialog, which had an APPLY button for some settings but others happened immediately -- a mixed dialog like that is very non-intuitive....

But Apply by itself when there is no mix is nice, like hitting the SAVE button for a Word doc without having to close potentially in-progress work.

# Mark on 9 Nov 2007 9:43 AM:

Apple only has the three keyboards.

# nex on 9 Nov 2007 10:44 AM:

About the Halo thing ... IIRC there _is_ some calibration taking place there (you could call that configuration of you like), but it definitely doesn't set your preference about the vertical axis automatically. The virtual instructor explicitly has you try out both options, then sets the default option, and explains how you can invert that setting again, should you like the alternative better. It's a fun way for setting preferences in a game, and more games should do that. However I'm not sure how well you could translate that into other apps. Games have unique UIs and you have to be able to learn a new one quickly. An app with a Cocoa GUI, OTOH, should behave just like all the others.

Anyways, identifying a piece of hardware is an entirely separate matter; it's not about the user's preferences at all. The method shown above is quite simple and convenient. Linux installtion programs have done that for ages. No idea how long Apple were prodiving this, I've never seen that dialog. (The only keyboard I've ever connected to my Mac is a one-handed one and requires a special driver; it's not a HIG device apparently.)

And regarding Zooba's comment about WTF-worthiness: This comment is entirely justified, and I'm disappointed by the amount of apologetics here saying there's nothing wrong with the dialog. First of all, the text in the dialog is very badly written. First it tells you that the keyboard is not usable until it is identified, but doesn't tell you about alternate ways of identifying it, making it look like you'll absolutely have to go through that routine. But then it tells you that you can skip "this step" if it's working properly. How can you tell whether it's working properly as long as it's not usable? And what is it with the talk about another USB input device that is not a keyboard? My best guess is that they mean if you have, say, a mouse, then you can use that to identify the keyboard in some other way. But it has to be a USB mouse, a bluetooth mouse would be no good? Wha?

Secondly, it's not obvious that "this step" is the only thing that app does and that "skip this step" is the same as quitting the app. Therefore, a 'skip' button or at least a 'quit' button would definitely not hurt!

In practice there might hardly ever be a problem. The dialog has probably been tested a couple of times and been refined to a point where inexperienced users will end up doing the right thing. (Experienced ones know what to do anyways.) But even when they do, they'll end up with a slight aftertaste of confusion. For those who first need to figure out what's going on, the design of that dialog should be more educating and less patronizing.

# Watts on 9 Nov 2007 4:12 PM:

Actually, some Mac programs have "Apply" buttons, too. I think Windows programs sometimes go a little overboard in their use of it, but it's nice to have at times.

As for moving close buttons and what have you, well. People used to the Mac think the Mac is intuitive, are frustrated by Windows... and are usually surprised when someone who's been using Windows for a decade sits down in front of a Mac and gets frustrated. :) But in either case, it's not really a different language, just a different dialect, and arguments about clear superiority of one or the other tend to be... exaggerated.

I like the fact that Apple goes through the steps to identify the keyboard, but the dialog box could certainly be refined -- although I'm not sure I'd call it "patronizing." Not to any greater degree than most "wizard"-style dialog box progressions are, at least.

# Mo on 9 Nov 2007 6:38 PM:

What's even better than this is… open Keyboard Viewer (you'll need the language menu bar item, unless you use AppleScript to launch it), especially if you're on a MacBook/iBook/PowerBook/MBP. Type a few keys with your external keyboard, then type some more on your laptop keyboard.

# Nick on 10 Nov 2007 6:31 AM:

@mark: it was a Dell keyboard?

# Paul on 10 Nov 2007 1:07 PM:

@Mark - Apple actually only sells two keyboards at the moment.... but they each come in at least twelve different layouts, at least according to the Dutch store.

# Michael S. Kaplan on 10 Nov 2007 1:36 PM:

Ah, it looks like even Mac folks confuse the hardware with the software when it comes to keyboard sometimes. :-)

When Mark talks about three, I am pretty sure he is talking about those three from the last dialog -- each of which can be used by multiple different language....

keely P. on 20 Oct 2010 11:09 AM:

U Suck!!!

Michael S. Kaplan on 20 Oct 2010 11:28 PM:

Um, ok. Thanks for the feedback.

referenced by

2011/08/17 Having 103, 106, or 109 keys when they may not be expected

2007/11/12 Apple 3, Microsoft 0 (aka Sorting Mac and Windows all Out)

go to newer or older post, or back to index or month or day