2008-08-22 22:11:30 GMT
About a year ago when I worked for one of my earlier employers, I refactored much of the messy code that was created long ago before I got there. Thousands of lines of spaghetti code in PHP... It was a tough job.
My task was complex logically, but it was also an interesting lesson from a HCI point of view. I had to often navigate in various source files and I cound't help myself, but feel that my keyboard is making my job harder than necessary. Navigation in source code is a pretty usual activity of a developer, but it was even more peculiar in this scenario. I use computers since my age of six and I found myself fed up. There are two operations that I particularly dislike:
The above operations are time consuming. The travel distance of the hand is more significant in the first case because the hand needs to travel above the navigational and numeric blocks to reach the mouse in case of a right-handed user. The travel distance is less significant in the second case, but any typewriters who edit documents find confusing recalibrating his/her hands to the typewriting position on a regular basis when navigation is needed.
Since that day of enlightenment, I brainstorm about the perfect keyboard day by day. This is a special keyboard and I don't foresee everyone using it. It has a specific nieche, a nieche of computing professionals.
The requirements for the Ultimate Keyboard are the followings:
I've made 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 safisfy 1) because the right hand must move up and down in order to make any navigations with keys and change between keyboard and mouse mode. On top of that, I don't think that moving the whole right half of the keyboard is a good idea to do 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 safisfy 1).
Goldtouch is another brand that I see a potential in. They seem to be more conventional than Kinesis, but I think that 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 exact specifics, but rather wouldn't share them because I'd like to build a product out of this. I'm pretty 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 not sure which angle should the keyboard reside and in which height. I've talked to some of my friends who have the special knowledge, like designing and creating the exterior, designing and manufacturing the integrated circuits, but I don't know anyone yet that is an expert at ergonomics and usability. The last thing I'll do is giving up, this is too much of a challenge and is very interesting.
Try Integrated Keyboarding at 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.