Accessibility, Internationalization, and Keyboards (#4 Creating good keyboards, part A)

by Michael S. Kaplan, published on 2005/03/24 22:45 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/03/24/402055.aspx


This post is another of the series about international and non-international issues surrounding keyboards, MSKLC, and accessibility. Through them I will deal with issues important to developers in their application, issues important to keyboard authors in their works, and issues important in the use of MSKLC (and MSKLC's own accessibility triumphs and failures).

The first article deals with shortcuts. The second article deals with accelerators. The third article deals with the accessibility issue in MSKLC's own user interface.

This article deals with some of the issues one should consider when one is designing a keyboard.

First and foremost, try to use a layout that is printed on an actual keyboard's keys. As I have said many times before, many people have a conceptual block that keeps them from understanding the notion that the layout of the letters that the keyboard types must somehow always be what is printed on the keys. It is not true, and they are wrong. But you won't impress people by telling them they are stupid. So really think about this when they can.

Of course, as a strategy it has limited use since it is unlikely that you would be trying to create a keyboard if you needed to match what is printed on the keys -- that is probably already built in. So lets talk about the things to consider when you can't match what is printed on the keys.

You really should go with some kind of existing standard layout that people use. This is not a place for innovation! People have to type with this sucker, and it is much easier to do so if they do not have to learn the layout.

But maybe there are no keyboards, or no typewriters, or none of either that people like. So what do you do then?

You need to make sure that a lot of the basic punctuation will be included, especially !#$%^&*()[]{}\|;:'",.<>/?@ because if you don't then developers such as I am (or maybe as I used to be?) will be unlikely to use the keyboard. We need those little things to write code with. I have often been asked to look at people's keyboards and when I notice that people skip these or make some of them dead keys (like they do with the US International keyboard) that the layout kind of sucks for a particularly surly and opinionated group of users who are particularly anti-social anyway.

You have to know all of the letters in the language that the keyboard is for. This sounds obvious but even professionals can miss something on this one. So really try to cover the language well.

Now although this last point is important, don't over-reach. Keyboards that try to do much usually suffer from the handicap of not doing anything particularly well. Thus if trying to create a keyboard for English you do not need to add the letter é just so people can type the word resumé. People who do this sort of thing often find themselves needing to keep their resumés fresh. Keep the keyboards focused on what people need for their normal usage and keep "Ԁ" (U+0500, the CYRILLIC CAPITAL LETTER KOMI DE) off your everyday Russian keyboard layout.

(I have a sort of waking nightmare about this last point that the already barely usable Canadian National Standard keyboard, already so likely to trip on its overburdened self as it is deigned today, will need to support languages that use the Canadian Aboriginal Syllables and will thus need to add several new shift states and be completely unusable to all.)

For the layout itself, you will want to put the characters that are used most often closer to the middle and characters used less often toward the edges or in different shift states. It must be easier to type things as it is to say them, because people have to search for words enough and they do not want to have to search for letters once they have found the words that they want to express. Note that different languages will often have different usage frequencies and thus may be better served by layouts that take this into account.

This last point helps point to why the Canadian National Standard keyboard is overburdened -- it is attempting to support many languages and since it is impossible to do all of them well simultaneously, each one is shortchanged by the compromises....

Try not to use too many features -- you may like dead keys or SGCAPS or whatever but if you mix and match too many features then nobody will consider the keyboard to be usable, as no one can remember all the features since no one can remember them all.

Consistency and sensible usage of features is also good -- don't have dead keys type keys unrelated to the base character or the dead key that was typed. It is just really hard to stay intuitive when you try that hard to design against such a thing.

Knowing your target audience is also a good idea, since picking features that will not be intuitive to potential users will keep them from fulfilling such a potential....

Keep it as simple as you can manage to. MSKLC can give you many shift states but do not feel like you have to use every key on all of them. If people cannot remember where all the letters are on your keyboard, they will ultimately find to be forgettable. If you know what I mean.

And stay away from shortcuts used by Word. I do not know when they will fix the problem where they stomp on key combinations the keyboard uses. In the words of Captain Don Cragen on Law & Order, "I'd love to know when my mother in law is moving out, but I'm learning to lover her pot roast." If your keyboard does not work well with the shortcuts in Word then it is better to avoid them than to build keyboards you cannot use in Word.

Make the keyboard layout design process an iterative one, where you build draft versions for users and get feedback from them based on actual usage in their natural computing tasks. This is how you can find out when there are issues!

Ok, that' enough for now. But I will revisit this topic another day....

 

This post brought to you by "Ԁ" (U+0500, a.k.a. CYRILLIC CAPITAL LETTER KOMI DE)


# Mike Dimmick on 25 Mar 2005 6:58 AM:

"Thus if trying to create a keyboard for English you do not need to add the letter é just so people can type the word resumé."

Tell that to the people who designed English (UK)! AltGr+E (or Ctrl+Alt+E) produce é, and the same is true for the other vowels. You might think this useful for French, but that language doesn't, AFAIK, use ú, ó or í at all. There's no way to get the grave accents à or è apart from Alt+0224, Alt+0232. (Also, we don't typically use the word resumé - we refer to it as a CV, the initial letters of the words Curriculum Vitae, something that the Office team hasn't learned yet!)

English (UK) doesn't cover Welsh either, but then I guess you knew that since Welsh language support was added for XP SP2. It seems a little odd that you don't appear to have followed the Mac Welsh keyboard layout at http://www.evertype.com/celtscript/cys-keys.html but it's not clear whether this is an Apple design or an invention of the author. I'm not Welsh nor do I speak it.

I found a useful piece of research "The Alphabets of Europe" at http://www.evertype.com/alphabets/index.html.

# Mike on 25 Mar 2005 1:08 PM:

Interesting post. This is kind of unrelated, but I have a serious pet peeve about American keyboards; something that strikes me as a bit of an obvious design flaw.

I'm a developer by trade, and so ergonomics are very important to me. I use an ergonomic keyboard, which makes it very easy to locate the center of the essential part of it, which I'd define as everything to the left of the F12, Backspace, Backslash, Enter, Shift and Ctrl keys.

Given that 90% of the population is right-handed, my question is, who decided to place the numpad on the right hand side? I end up with a mouse that I have to reach all the way to Swaziland to use, and a totally bare left-hand side of my desk. I know that people in general don't really like change, but I'm amazed that no one's come out with a keyboard design with the numpad on the left-hand side.

I dunno; it's just not that often that I find a forum in which I can get away with venting about something so... weird. :)

# Brian on 25 Mar 2005 2:52 PM:

Um, it's on the right because the majority of people are right-handed. How well can you 10-key with your off hand? You can question the need for a numeric keypad, but given that it's present, the right is the natural side for it.

# Michael Kaplan on 25 Mar 2005 9:08 PM:

I have to side with Brian on this one -- you have to go with the usage.

Though of course you can always get a keyboard that does not have the numeric keypad if it bothers you that much. :-)

# Pavel Šrubař on 26 Mar 2005 2:40 AM:

Talking about numpad: who decided that the digit layout on computer keyboard is

<br> 789
<br> 456
<br> 123
<br>
when cell phones and remote controllers use different layout

<br> 123
<br> 456
<br> 789

# ChipH on 26 Mar 2005 3:21 PM:

On the hardware side of things, I just bought a UK layout keyboard from Unicomp (who inherited the rights to manufacture the original PS/2 keyboard). Love that buckling-spring goodness!

Strangely, AltGr+E doesn't produce a é, you have to use the Ctrl key with it (like Mike D. said above). That may be a Windows-2000 thing, I dunno.

The cool thing about it (from a internationalization standpoint) is that it has removable keycaps. You use a letter-opener or something, and just pry them off, starting in a corner and working your way across.

I ordered additional keycap sets for Canadian National and German. Unfortunately, I couldn't get Turkish or either of the Chinese layouts. :-(

# Ian Argent on 26 Mar 2005 11:40 PM:

I think I'd have to chop off a non-essential body part from someone who put the keypad on the left-hand side and expected me to use it. I am so right-hand dominant it's not funny, and I love numeric entry. Now, if I could just get a hex keypad on my kb at work, I'd be a little happier... (Yes, I know you can buy them, but a) it's just my job, and b) I don't have admin rights, and I don't know what HID devices are allowed to be installed. Mice are, I know, as are mass storage devices (!), but my PDA is not...)


(And I have no idea why mass storage devices are allowed, either).

# Michael Kaplan on 27 Mar 2005 3:46 AM:

Pavel -- see http://blogs.msdn.com/michkap/archive/2004/11/28/271121.aspx for the anecdote that comes to mind. The adding machines begat the calculators, which then begat the numeric keypad on the computer.... :-)

ChipH -- http://blogs.msdn.com/michkap/archive/2005/01/21/357960.aspx is your friend. There are occsional hiccups between the hardware and the software sides of the fence. Of course the HHK with blank keys is another fun idea here, and it has no numeric keypad which will make some other people here happy as well!




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