Context-sensitive keyboards (or lack thereof)

Much virtual ink has been spilled about the significant changes in Apple’s iOS 7, which was released last week. Personally, i welcome many of the changes. I find the overall interface is cleaner, more mature, and clearly optimized for Retina displays. Everything looks so crisp and tight.

But one thing that has bothered me since i first started using iOS devices (a first-generation iPod Touch), has received surprisingly little attention, and is an issue that remains unaddressed by Apple’s UI team to this day.

It’s the keyboard.

Other than the app icons, arguably the one interface element we interact with most is the virtual on-screen keyboard. We use it for tweeting, updating our facebook status, composing emails and text messages, as well as entering account numbers, passwords and other pertinent information.

What has bothered me since day one is that Apple’s on-screen keyboard seems to be stuck in the static, physical world of a keyboard whose key caps do not, and cannot change. (Unless it’s the stunning Art Lebedev Optimus keyboard.) By that, i mean, when you press the “shift” key, the letterforms on the virtual key caps remain the same. Observe:

iOS keyboard - existing

Apple's iOS keyboard as it exists today.

iOS keyboard as it exists, with the shift key pressed.

Apple's existing iOS keyboard layout as it appears when the shift key is pressed.

Wow. That’s pretty subtle. I try to be conscientious with my personal security and privacy, and i do use a “secure” password that includes upper- and lower-case letters as well as symbols, on anything that potentially contains personal and identifying information. The non-dynamic keyboard is VERY difficult to use in this situation, because the user’s eyes are constantly having to jump from the keyboard to the input field to make sure the correct letter – in the correct case – is entered. When entering a password, iOS only shows the last character typed. Previous characters are replaced with round bullet dots.

I see absolutely no reason why an on-screen keyboard cannot be dynamic. This is perhaps the greatest benefit of digital user interfaces – the ability to change based on context. Just about every other mobile OS developer “gets it”. Android, Blackberry, even Windows Phone all have context-sensitive keyboards.

Text input would make so much more sense if Apple adopted this approach:

My proposed iOS keyboard in its standard form.

My proposed keyboard properly reflects the case of the text input. If you're typing in lower case, the keys are in lower case.

Proposed iOS keyboard with shift key pressed.

If you're typing in upper case, the keys are in upper case. The main usability benefit is that there is less confusion over which case the user is typing in, which is especially beneficial for secure passwords that include upper and lower case, as well as symbols.

The existing keyboard creates a disconnect between what’s under users thumbs or fingertips and the text in any document or input field. It’s like this on iPhones and iPads alike.

Please, Apple. There’s no reason why this cannot or should not be done.