Hacker News new | comments | show | ask | jobs | submit login
The keyboard layout project (mathematicalmulticore.wordpress.com)
34 points by alter8 1667 days ago | hide | past | web | 44 comments | favorite

How about this - The Workman Keyboard Layout http://viralintrospection.wordpress.com/2010/09/06/a-differe...

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 personally don't suggest the truly ergonomic. While it's well designed from the outset, the underpinnings are a bit lacking. The existing firmware is buggy and has issues with Mac; and the programmable software has been promised for a while now but was never delivered. To boot, the company's support is nearly non-existent, except for - thankfully - their return process.

As mentioned by gokfar, I really look forward to the ergodox group buy

- ErgoDox: split, non-staggered, programmable, mechanical, all-around awesome. http://ergodox.org/

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

Author of The Keyboard Layout Project here. I'm familiar with Workman; it's a reasonably strong attempt, but I think it has a number of problems and fails to perform as well as Colemak or my own layouts.

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.)

Out of curiosity, do you have any references to support non-staggered keys are superior? I ask because (100 - ε)% of claims about ergonomics are completely unsupported by scientific research.

Not really. But you can take a look at Maltron keyboards, which are non-staggered and also curved. From what I can find on the web it seems that they have done some research.

The [Kinesis](http://www.kinesis-ergo.com/) Advantage is a cheaper alternative to Maltron that follows the same design pattern. It's the keyboard I use, and it's definitely more comfortable than a typical staggered keyboard, or even a simpler ergonomic keyboard.

(100 - ε)%

I like this very much. Another more accurate description that comes to mind is describing where you live: CountryA XOR CountryB

For years, I've toyed with a similar idea to this. I feel like a lot of work on this has relied on some pretty crude heuristics like "rolls" and "alternation". I think it's dangerous to overgeneralize about these, and I think it's also short-sighted because there are probably more specific patterns that affect typing speed.

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.

Hi, writer of The Keyboard Layout Project here. I'm well aware of the limitations of scoring a layout based on crude heuristics, and I'm trying to collect some good data. Right now I have some data from a few layouts that I've collected using [Amphetype](http://code.google.com/p/amphetype/), which records speed and accuracy for characters, trigraphs, and words. I'm curious, what program did you use to collect typing data?

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.

I'll see if I can dig up my old app for collecting the data (it was an OS X app, but would be easy enough to port). It can actually be layout agnostic (although I may have just implemented it with Colemak in mind, since it was for my own use). For the user's sake, it asks you to type out symbols according to your own layout, but the way it stores the data is only interested in key positions.

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.

Thanks, that could be valuable. Is the data separated by keyboard layout?

I wonder what the ethics review board would think about training someone on a nonstandard keyboard layout, as that would introduce a handicap to their life outside the study.

You can use a new keyboard layout and still remember QWERTY. It's just like learning a second language (only it takes a lot less time).

You can, but if you don't regularly practice, your QWERTY proficiency will deteriorate startlingly quickly. It's easier to pick back up than learning a whole new layout, but still.

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".

Then I'll make sure my test subjects continue to practice QWERTY.

Being a dvorak user, I must say, the "rolls" are extremely comfortable and fun.

I love typing the words church, tenth, school, etc.

That's why my keyboard layouts try to optimize for rolls more than any other layout I've seen. The most recent version has a number of very nice rolls, TH, IN, ST, and some other less-frequent digraphs.

I'm building KeyRocket bascially to help people get better with software from their behavior. I love the idea of making everybody transition to a better layout letter by letter and we could help with the data collection if it respects/protects people's privacy. What do you mean that there are 1,089 transitions?

As some already have pointed out, internationalization can be somewhat tricky on alternative keyboard layouts.

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?

Just what we need - yet another standard! Maybe it will be marginally better (like all the others attemps before - gogole around to see the approaches and results) - but still not enough to fully replace good old qwerty. Dvorak, with a larger support failed. How do you think it can succeed?

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.

Hardware is not a problem. Here I am, typing these words with Colemak layout on qwerty keyboard.

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.

Hardware is the problem is you want the figures on your keys to match what they do. (I love such "tiny" details).

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.

Hardware becomes problem when the keyboard you use has the wrong number of keys in the wrong positions for the layout you would want to use.

>the trouble to manage different keyboard layouts in their head

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].

It's funny we have quite similar experiences but you picked up dvorak instead of qwerty - Whatever floats your boat they say :-)

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.

"Dvorak, with a larger support failed."

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...

That's great that it works for you, but 'widespread adoption'? Really? If you were to take a random sample of 100 computer users how many do you seriously think have adopted Dvorak?

I think you misunderstand techiferous. This is what he said:

> “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.”

techiferous means it failed to get widespread adoption but succeeded for him personally. In fact my story is remarkably similar. I adopted Dvorak around 1999 and have had no problems using it since. If I use a computer long-term I change the keyboard layout (but not the hardware). If I use a computer short-term I hunt and peck. For me personally it's been very successful.

Ah, that makes more sense. Thank you. Personally I don't see any keyboard layout displacing QWERTY. It's so entrenched in hardware, software, and people's minds. I think, if anything, it's more likely that voice recognition and things like Swype will displace traditional QWERTY typing. I can barely get family and friends to keep their phone or computer up to date despite it only taking a click here or there. A new keyboard layout? I may as well ask them to learn high level calculus. Even if we start by trying to teach an alternative layout to young children I just don't see it catching on.

IIRC, Dvorak has about 500,000 users worldwide.

Okay. If that's just food for thought, fine, but if that's an argument for widespread adoption it falls pretty short. In 2011 35% of the world's population were internet users according to a quick wikipedia reference source [1]. That's 2.45 billion people. Taking the 500,000 Dvorak users into account yields 1 Dvorak user out of every 4900 internet users. I realize these are all kind of soft numbers we're throwing around, but I feel my point stands.

[1] FWIW, http://www.itu.int/ITU-D/ict/facts/2011/material/ICTFactsFig...

I'm not trying to design yet another standard. I recommend that people use [Colemak](http://colemak.com/)—even though it's not as popular as Dvorak right now, it's easier to learn, so I think it has a better chance of overtaking QWERTY in the long run.

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.

> 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)

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 was kind of hoping this would be a petition for keyboard manufacturers...

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.

If anyone's interested, I embarked on a similar project for one-finger typing for users with motor disabilities: http://ktype.net/wiki/research:articles:progress_20110228

I question whether these keyboard layouts are ideal for programmers. On Qwerty, Colemak, Dvorak, and Workman, the symbol keys are pushed to the periphery of the keyboard. To improve practical typing efficiency, I created and use http://typing.io, which allows you to type real code instead of prose.

Nice interface, although it took me a moment to figure out that the orange background was the caret.

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?

Thanks for the feedback. Occasionally I also find myself typing opening brace, closing brace, left arrow, inner text, and right arrow. However, it's very inefficient to jump to the arrow keys, so I want to discourage this typing pattern.

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

Agreed. I'd like to try the colemak layout, but the various brackets and braces need to be handy for programming. Say what you will about qwerty, but at least on the US version the punctuation is decent and reasonably logical on the right.

For programming you should consider that programming languages most likely have evolved to use the particular symbols that are easily available on US keyboard layout, without as much consideration if those symbols are the logical ones to represent whatever function.

You can use [my keyboard layout optimizer](https://github.com/MTGandP/Typing) to create your own optimized keyboard. I provide a corpus of programming text you can use, and you can change the weightings to increase the significance of the programming text. (I don't remember if I wrote documentation explaining how to do this; if you want to do this but can't figure out how, remind me and I'll write up some documentation.)

I don't think QWERTY is as bad as it has been portrayed.

See http://www.utdallas.edu/~liebowit/keys1.html

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact