About a year ago, when I worked for one of my earlier employers, I refactored much of their messy, legacy code. Thousands of lines of spaghetti code in PHP… It was a tough job.
My task was logically complex, but it was also a valuable lesson regarding human-computer interaction. I often had to navigate various source files, and my keyboard made my job harder than necessary. There are two operations that I particularly dislike:
- Moving my hand between the keyboard and the mouse
- Moving my hand between the alphanumeric keys and the navigational / function keys
The above operations are time-consuming. The travel distance of the hand is larger in the first case because the hand needs to travel above the navigational and numeric blocks to reach the mouse in the case of a right-handed user. The travel distance is shorter in the second case, but leaving and re-entering the home row upon cursor navigation is counter-productive.
Since that day of enlightenment, I’ve been brainstorming about the perfect keyboard day by day. This is a special keyboard, and I don’t foresee everyone using it; it mainly serves the niche of computing professionals.
The requirements for the Ultimate Keyboard are the followings:
- Every possible interaction, be it a key press or a mouse pointer movement/button action, must be done without any hand movements (moving fingers is allowed).
- A short learning curve must be required to master the keyboard within a week of daily, intensive use.
- Ergonomic comfort is a must for computing professionals, which this keyboard must provide through long hours of uninterrupted use.
I’ve done some research, and there are some interesting keyboards, but none of them satisfy all the above requirements.
combimouse satisfies 2) and maybe 3) but fails to satisfy 1) because the right hand must move up and down to navigate keys and change between keyboard and mouse mode. Also, I don’t think moving the whole right half of the keyboard is a good idea for pointer movements. The keyboard itself shouldn’t be moved.
The Ergonomic Touchpad can also do a good service when placing it on the keyboard, although some pointer actions are hard to do with it, I believe.
Kinesis has some revolutionary keyboards (also watch the YouTube videos) that definitely satisfy 3), and most of them satisfy 2), but none of them satisfy 1).
Goldtouch is another brand that I see potential in. They are more conventional than Kinesis, but I think they know what they’re doing, and their keyboards may be very pleasurable to use (see YouTube video). I think their products definitely satisfy 3) and 2), but not 1).
I know most of the specifics, but I don’t want to share more details in this post because I want to build a product out of them. I’m quite confident that I have a correct vision that satisfies all of the above requirements and can lead to a unique keyboard that skyrockets developer productivity.
The one thing I’m not sure of is the ergonomics. I’m unsure which angle the keyboard should reside at and which height. I’ve talked to some of my friends who have special knowledge, like designing and creating the keyboard case and designing and manufacturing the integrated circuits. Still, I don’t know anyone who is an ergonomics and usability expert. The last thing I’ll do is give up; this is too much of a challenge and a very interesting project.
Try Integrated Keyboarding at http://www.inkeyboard.com. It will satisfy all three of your requirements. You conrol the computer from the keyboard without moving your hands. You can learn it in minutes. And you use any keyboard you want.
Thank you for your comment, I really appreciate it. The documentation and flash demo on the http://inkeyboard.com site is very good and I really feel what it’s all about. As a matter of fact I’ve also implemented such an alternate keyboard layout using XKB on Linux within my Coder Keymaps project. – http://monda.hu/coder-keymaps – Well, I’m not quite sure I’ve commited the code to the SVN, but I’m using it for about a year with great results.
Unfortunately, Integrated Keyboard is purely a software solution and it has a number of shortcomings:
1) Pointer moving is very inefficient by merely using keys.
2) Remapping through the Windows keys is suboptimal, because the pinky is our weakest finger and it shouldn’t be moved that much for doing navigational shifting because we can use it for typing alphanumeric characters.
3) Integrated Keyboard is not OS-agnostic.
Despite the above reasons, I’m sure that Integrated Keyboard is more useful that the standard layout and it’s a cool software solution for Windows.
Interesting and fun, but not much different than Mouse Keys. And if you have an embedded number pad like on a Kinesis Advantage or almost any laptop, it’s almost the same. Probably should be freeware.