
The keyboard layout project - alter8
http://mathematicalmulticore.wordpress.com/the-keyboard-layout-project/
======
dsego
How about this - The Workman Keyboard Layout
[http://viralintrospection.wordpress.com/2010/09/06/a-differe...](http://viralintrospection.wordpress.com/2010/09/06/a-different-
philosophy-in-designing-keyboard-layouts/)

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>

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

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

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

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

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

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

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

------
hso9791
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?

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

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

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

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

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

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

~~~
vinodkd
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?

~~~
moonboots
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...](http://thechangelog.com/post/20172996073/vim-smartinput-smarter-
punctuation-pairs-in-vim) [2] <http://emacswiki.org/emacs/ParEdit>

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

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

