Keyboard Input: Considered Harmful?

All apologies to Edsger Dijkstra for once again abusing the Considered Harmful phrase [a quick perusing of Wikipedia: Edsger W. Dijkstra points out it was an editor that changed the title to include “Considered Harmful”], but I just had to manually type “Edsger Dijkstra,” which isn’t the easiest name for me to spell.

Occasionally an e-mail hits my inbox that was intended for someone else due to mistyping the address.

I get wrong number phone calls now and again.

I regularly see incorrect bug references (bugs are referred by number), and some of those I can’t find the right target despite trying nearby bugs.

Google Search is always asking me if I meant something else, and sometimes I did.

I’m not a bad typist, but I occasionally bite my lip when I’m chewing food, and that doesn’t require me to remember a number or spelling. In the cases where the computer or phone can ensure I get a reference correct, why shouldn’t it?

For mistyping URLs, that would require a separation I favor on the principle of separating duties: splitting out the history/bookmark/caching functionality from browser. That way my e-mail client can help on those references.

Same thing for the phone book: why shouldn’t that data be separate from the phone OS, especially for people that use multiple phones (soft phones, maybe multiple mobiles, etc.).

Some will say the cloud is the panacea, but it’s not. The cloud can help by synchronizing this data, but it’s the separation of data from application that’s the key. If every application has to implement a cloud’s proprietary API to get the data, that’s another coupling, this time to a third-party service.

With something like Firefox Sync, at least you can run your own instance, and multiple providers are possible. Plus you get encryption. And one would expect that the Boot-to-Gecko/Firefox OS project for mobile will expand the scope of Sync to include the address/phonebook.

But it still has to get integrated to everywhere you type.

For the browser, that means it has to remain separated from the page for privacy reasons, which makes it a bit uglier to implement. For most other apps that would require it, the implementation is more straightforward.

The big question is whether this is even a good idea. Would the errors people would make from this data integration be more common and/or more severe than mistyping references?

I think it is a win provided that the references contain sufficient context/they can be readily explored. If I mistook someone else for the author of Go To Statement Considered Harmful, the stored context could readily dispel my confusion.

That would help for things beyond typographical errors. Twice in two days I saw discussions where people were mistaken about geographic terms, and despite netiquette were treated badly for their mistakes. Had there been data integration, they could have seen their mistake and learned without the pain brought to them by social irritability.