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:
- 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 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:
- Every possible interaction (be it a keypress or a pointer movement / button action) must be doable 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.
- Ergonomical comfort is a must for computing professionals which must be provided by this keyboard through long hours of uninterrupted use.
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.
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.