The keyboard layout project
mathematicalmulticore.wordpress.com
mathematicalmulticore.wordpress.com
But the layout is just one of the problems. The key staggering is also not very ergonomic. There are two cool keyboards featuring symmetric key positioning:
- Truly ergonomic keyboard http://www.trulyergonomic.com/store/index.php
- Type matrix http://typematrix.com
I like this very much. Another more accurate description that comes to mind is describing where you live: CountryA XOR CountryB
It should roll around before the end of the year, group buy happens at http://geekhack.org/index.php?topic=22780.0
As for layout, I suggest Colemak with a custom alt layer such as http://forum.colemak.com/viewtopic.php?pid=5001#p5001
As mentioned by gokfar, I really look forward to the ergodox group buy
If you compare Workman and MTGAP 3.14 (shown [here](http://mathematicalmulticore.wordpress.com/the-keyboard-layo...) using [my keyboard evaluator](https://github.com/MTGandP/Typing), MTGAP 3.14 performs better on every single statistic except finger work. (You can see all of the different statistics explained on [my GitHub page](https://github.com/MTGandP/Typing/blob/master/Fitness). I didn't post them all here because it takes up too much space, but if you want, you can pull the program and to the comparison yourself.)
So my idea was to collect data on all keystroke transitions. There are 1,089 of these on the part of the keyboard that you would optimize for. Typing 5 minutes a day at a relaxed pace would be enough time to cover each of those 8 times in a month, so collecting enough data to work with would be feasible pretty quickly. I was then going to take a big textual corpus of English, and the total of all transition times would serve as the fitness function.
I had the data collection program done, and was starting to collect data, when I decided I should redo it with triples (of which there are 35,937). Then the length of the data collection process I was looking at became really daunting, and I lost interest in the project.
What I'd quite like to do, though, would be to crowdsource the data collection using a web app. Then I could get good three-key data and not have it biased to my own personal quirks.
I love typing the words church, tenth, school, etc.
If you or anyone else has typing data or is willing to collect some, please post a comment on my blog (preferably [here](http://mtgap.wordpress.com/2010/01/16/wanted-typing-data/)) and I will email you.
Ideally, we would have typing data not just from QWERTY and carefully-designed layouts, but randomized layouts. All the layouts people use (except QWERTY) share design patterns—putting the most common keys on the home row, etc. We can get more accurate data if we know how people type on random layouts.
I plan on using a little grant money from my school to pay some people to learn randomized keyboard layouts and then record typing data. If anyone's willing to do this for free, I'd love to have your help; again, you can contact me by leaving a comment on my [blog](https://mathematicalmulticore.wordpress.com/).
Data collection with a web app is also a good idea. I don't plan on writing such a thing any time soon, but if anyone does plan to, I think it would be very useful.
It was really unsettling to watch, in only two weeks, my QWERTY proficiency drop from "90 WPM burst speed" to "stare at the keyboard while I type".
One confounding factor in collecting data this way, though, is it's actually quite a lot more difficult to copy a random sequence of characters than it is to copy real words, and I don't think that's just because of the key positions. I think it just takes more brain power to process them when you can't leverage your brain's language hardware to divide it into chunks.
As it is, I find that languages with extra letters often move some extra symbols (like {[]}) into combinations with peripheral keys, thus making coding a chore as compared to on US keyboards.
What I would like to see is if anybody has a good way of getting rid of both the "key" and "board" part of keyboards. Electronics and manufacturing is so cheap today that this could be feasible to produce on a large scale.
For those who have a sense of rhythm, I'm thinking a combination of twisting/pushing/tapping/whatever moves that in combination would indicate a given symbol. This would take some focused effort to learn, but after that...
The form factor could be a ball, a pair of gloves, a combination with pedals, a guitar-like thing, whatever. Keyboards would make a cheap fallback in settings where such a contraption would be inappropriate.
Has anyone else thought of something similar?
The advantage of being first in the market, and now having a large use based, let me think you'd need to have a solution at least 5 times better and easy to learn (less than 1 day), just for people to "consider" it due to the migration costs.
Fun story- I come from France, where everybody uses the azerty layout for some copyright reasons initially IIRC (qwerty was copyrighted, but if you switched some letters around it suddenly was not copyright infringement) and now for historical reason.
In high school, after examining the situation, I quickly decided to go with qwerty for some simple reasons :
- easier to find on new hardware (say, laptop, smartphone with a physical keyboard, etc)
- large software support (in the bios, now uefi, - not a single thing to change)
- good enough support for 8 bit chars (Brazilian Portuguese layout, us international, "canadien normalise"....)
- quick transition to different national layout (I'll be lost for some days, mostly for the commas and periods, but then I will be quickly productive)
You know the saying - you can't change others. You can only change yourself.
So I figured out the best hack was to hack my tastes, not the keyboard ;-)
qwerty might be 1 to 5% less optimal than something else - let's even say 10%. But being suported on 100% of the hardware and software makes all the difference.
Now when I need some hardware on ebay I'm sure I'll find a good qwerty solution. My french friends bitch and moan about the lack of azerty support, and the trouble it is for them to manage different keyboard layouts in their head. I wonder if that's the same for dvorak layout users.
Software, on the other hand, is a slight annoyance. Colemak (and any other keyboard layout) can easily be available in pretty much any OS except iOS. Also, many games implement their own keyboard input handling, and disregards custom layouts.
In the past I did try various kind of stickers, since it was hard to find my preferred qwerty layout (canadien normalise), but they were just a nuisance.
So I changed to a apple canadian qwerty layout (not many differences), it's just perfect - hardware support and software support out of the box.
And whenever I get a us qwerty I can still be efficient.
If by failed you mean widespread adoption. But I have been using Dvorak since 1999 on a variety of platforms without a problem. It's a personal success for me.
"the trouble it is for them to manage different keyboard layouts in their head. I wonder if that's the same for dvorak layout users."
It's only on extremely rare cases that I've been forced to use QWERTY (such as at a public library) and when doing so, it hasn't been hard. So I don't have to manage different layouts in my head. I only use Dvorak, and my hardware and software supports it.
That said, I don't do any heavy typing on an iPad...
> “Dvorak […] failed.” If by failed you mean widespread adoption. But […] it’s a personal success for me.
I think by that, he meant, “yes, I agree that Dvorak failed, if ‘failed’ means not having widespread adoption. But I don’t agree with that definition of failure. Dvorak is actually not a failure, because I have used it successfully personally.”
[1] FWIW, http://www.itu.int/ITU-D/ict/facts/2011/material/ICTFactsFig...
There are two main ways to type in Bulgarian on a PC: BDS - the National standard and Phonetic - a transliteration of Bulgarian (Cyrillic) letters into English ones.
I've always hated the Phonetic as its even worse than QWERTY. In high-school I forced myself to touch-type BDS so I can use it even on keyboards that don't have it. So when I heard about Dvorak in the university, I immediately decided to learn it since I already had two layouts in my muscle memory, a third one wouldn't be a problem. Initially I was using a Dwerty layout - a Dvorak when typing, a QWERTY when issuing commands (Ctrl+C, Ctrl+V), but since it was incompatible with Windows 8 I've abandoned it and am currently running on pure Dvorak.
I think an affinity towards foreign languages helps a lot, but have no research to back it up [besides Bulgarian I learned French (age 5 - 14), German in high school (age 14-19) and English (age 10-19) and recently (26) some Swedish].
I did briefly consider Dvorak but I wanted a full support and it wasn't there (ex: bios, bootloader ; for generic laptops) when I made my choice.
> quick transition to different national layout (I'll be lost for some days, mostly for the commas and periods, but then I will be quickly productive)
This is actually very good point. The problem with qwerty is that there is no single qwerty. Almost every country has some weird variation of it (and some countries have several!). This causes problems on two fronts: 1) you need different hardware for every country, which means that niche/high-end keyboards (or laptops etc) become harder to get/use. 2) Software (and programming languages) designed to be used on US layout are pita on national layouts as punctuation etc symbols are shuffled around.
I design keyboard layouts because it's fun. I want to discover what it means for a layout to be the best. It's more of a scientific curiosity than a desire to make things better—although I do think QWERTY is in need of replacement.
> qwerty might be 1 to 5% less optimal than something else - let's even say 10%.
It's definitely a lot worse than that. If you're just talking about finger travel distance, for example, most modern keyboards (Colemak, [Arensito](http://www.pvv.org/~hakonhal/main.cgi/keyboard), my keyboard) do about three times better.
I still don't get how shitty keyboards are still included in laptops and keyboard designs. I mean I remember using one keyboard with a backspace key the size of a number key and one where the restart button was near home.
One nit, however: although I'm a touch typist (having learnt typing on a typewriter), I've long since trained myself to type the braces together and then cursor-left to fill in the details. This I do for ()'s, {}'s, []'s and <>'s; as well as quotes. Similarly I type the C-style /* * / comments as the pair of /'s first, cursor-left, then two *'s, cursor left and finally the comment text. It started out in this mode only when I wrote code, but now I find myself doing the same even with normal text.
Not sure how many there are like me (a senior early in my novice days showed me the practice and it stuck), but it always seemed like a simple way to ensure no dangling parens (assuming you're using "just an editor" like I do).
Could you allow for cursor-lefts to correct instead of just backspace?
To keep braces/quotes balanced, I've been using editor plugins like smartinput[1] and paredit[2] that automatically insert closing symbols. Even with the assistance, I've found it's easiest to continue typing through the closing symbols (as opposed to right arrowing).
The javascript is also less hairy without needing to handle typing braces together:)
[1] http://thechangelog.com/post/20172996073/vim-smartinput-smar... [2] http://emacswiki.org/emacs/ParEdit