This is the first ever layout designed by computer algorithm. It was made in an attempt to beat QWERTY, but the creator (last name Klausler) thought Dvorak was better. This layout has no outright flaws, but isn't as good as some of the others. Same finger on the left index is kind of high.
DVORAK SIMPLIFIED KEYBOARD by August Dvorak
score: 15.22
' , . p y f g c r l
a o e u i d h t n s
; q j k x b m w v z
This was the first alternative layout, designed in the 1930s. This layout has some good rolls like NT and TH, and has the best hand alternation. It overuses same finger though, and puts a little too much stress on the right pinky. There are a few distance issues; R and I are not on the home row, and they should be because they are more common than H and U.
Here's my (almost) latest version of the scoring program, in order of importance. (Higher scores are worse.)
-Each position has an assigned cost:
66 35 29 33 60 91 33 29 35 66
0 -8 -10 -10 40 40 -10 -10 -8 0
96 72 60 48 109 48 48 60 72 96
I decided on those values by measuring the horizontal and vertical distance between each key on a standard keyboard. I then multiplied the horizontal and vertical distance, with the proportions changed based on the strength of each finger. The horizontal distance was magnified for the middle and ring fingers because they are not good at moving sideways, only forward and backward.
Using the same finger twice costs 60.
Using the same hand and reversing direction costs 1.
Jumping over the home row costs 50, unless it's using the index finger on the bottom row, in which case it only costs 10. (Type VE, it's not too hard.)
Moving to the center without switching hands costs 10.
"Hand warping" costs 4.
Changing rows costs 10.
Rolling inward along one hand subtracts 2 from the score, and rolling outward subtracts 1.
I noticed that, throughout my creation of these values, I had to reduce some of them by a lot. The cost for same hand had to be very low, because it is such a common issue. It tends to take over the entire layout, making the same finger ratio or finger travel distance a lot worse. In the end, I made finger travel distance a lot more costly so it would actually put common keys on the home row. I kept all the values high enough so that they would still affect the layout. Even though same finger is a pretty rare occurrence, it still makes the layout so that very uncommon key combos are on one finger, like UE. You can't tell that the same hand is affecting anything because it's hard to see by looking at the layouts, but it does a fairly good job of reducing same hand. Since this was kind of messing up my layout, the solution I reached was to make the home keys have a negative cost. This way, it would be very sure to place the most common keys on the home row.
MTGAP'S LAYOUT
I use a computer program to determine the best keyboard layout. Mainly, I am dealing with the 30 standard keys: a b c d e f g h i j k l m n o p q r s t u v w x y z . , ' ;
I might at some point include the shifted form, but right now that's low priority because most keys are lowercase, and anyway uppercase letter frequency is about the same as lowercase. Plus I tried and I was getting annoying bugs. :)
Almost as important are the "big" keys: space, delete(I am using a Mac), shift, return, caps lock, and tab. However, there are so few of these that using an algorithm would slow it down more than it would help. There are 30 factorial (30 x 29 x 28...) combinations with just the main layout, but if you include these 7(with 2 shifts), there are 37 factorial combinations, which is about 51000000000 times more. But it's simple enough to place those using human logic. And if you have an
ergonomic keyboard, those keys can be put on the thumb pads. If you have thumb pads, you only need 1 shift. The purpose of having two shifts is so that you can type something that's on the pinky while holding down shift, and if shift is typed with the thumb, this is unnecessary. So if you have thumb pads, I'd put space under the right thumb, delete under the left thumb, shift off to the side on the left thumb, and return off to the side on the right thumb. Caps lock and tab are both pretty rare, so I don't really care where they go. (This description helps if you look at a
picture.)
HOW THE PROGRAM WORKS
You can't possibly go through every possible keyboard. The home row has 3.6 million combinations, the main 30 keys have 2.6*10^32 combinations, the non-numbers keyboard has 1.2*10^61 combinations, and the whole keyboard has 1.3*10^80 combinations. This is waaaay too many to look at all of them. So an evolutionary algorithm is the most efficient way to find the best keyboard without actually going through all of them.
The program has basically 3 parts: the scoring program, the keyboard program, and the evolution program.
KEYBOARD PROGRAM
This one's pretty simple. It generates a keyboard, and is in charge of rearranging all the keys on the keyboard.
SCORER PROGRAM
The scoring program runs a keyboard through it, and uses the scoring algorithm described above. It reads a text file, and scores the layout based on the letters it gets. At the end of the file, it divides the score by the number of characters in the file. This way, if there are 2 different sized blocks of text with the same letter frequency, a layout will score the same on both.
EVOLUTION PROGRAM
This one is the most complicated.
It creates a bunch of layouts and scores them all using the above methods.
It then kills the worst 1/2 of them.
On each remaining layout, two keys are swapped. The swapped versions as well as the original are scored.
Repeat steps 2 and 3.
Stop repeating after the same layout has been the best 20 times in a row. After 20 times, you can be pretty sure it's not going to come up with a better layout.
WHY A COMPUTER PROGRAM?
Creating a keyboard layout by hand is certainly easier. A program relies on its scoring system, and creating a well balanced scoring system is much harder than working off intuition. (I would know.) So why bother with a computer program? You could say it's because a computer can make a layout much faster than a person can. But I think the biggest advantage is that a computer is the ultimate multi-tasker. What I mean by this is that a computer can simultaneously balance every aspect of a layout to an extent that no person can.
New Developments
I soon discovered a flaw in the position costs. Presumably because the cost for same finger was too high, it was putting two vowels on the same finger, which not only increases effort but adds a lot of stress to that finger. I lowered the cost of same finger to 25, but that ended up being problematic because it was then undervalued, causing same finger to be way too high. But I soon realized that this was not the problem. The problem was that the costs for off home row movement were too low! So I changed the position costs to this.
66 35 29 33 60 91 33 29 35 66
0 -8 -10 -10 40 40 -10 -10 -8 0
96 72 60 48 109 48 48 60 72 96
This way, it is vastly better to be on the home row than anywhere else. I then increased all the other values like so:
Using the same finger twice costs 65.
Using the same hand and reversing direction costs 1.
Jumping over the home row costs 50, unless it's using the index finger on the bottom row, in which case it only costs 20. (Type VE, it's not too hard.)
Moving to the center without switching hands costs 10.
"Hand warping" costs 0.
Changing rows costs 10.
Rolling inward along one hand subtracts 10 from the score, and rolling outward subtracts 5.
These values are much more ideal because they didn't have to be artificially reduced.
Ergonomic versus Standard keyboard
Should the optimal layout be designed for a normal keyboard or an
ergonomic one? The current version I have is meant for a normal keyboard, because that's what most people have. But with a few simple modifications, the program can make an optimal layout for an
ergonomic keyboard. I will make an optimal keyboard for both.
I have, using the above scoring system, created the first optimal layout. There are 4 factors that can change what's optimal: it can be optimal for an ergonomic keyboard or a standard keyboard; can be easy to learn from QWERTY, or can leave this off in order to make the layout better; it can keep keyboard shortcuts easy, or can not do this so as to make the layout better; it can use the entire keyboard, or just the main 30 keys. This layout is optimal for a standard keyboard, just the main part, and restricts shortcuts but not QWERTY positions.
k g l d b j h u f .
r o t s w m n e a i
z x v c q y p , ' ;
This layout has very good finger travel distance and very good row jumping. The same finger is higher than on many layouts, but I think it's worth it for the really low travel distance. I ran it through a program I made designed to improve layouts, and it made no improvements at all. This is THE best layout with my scoring system, and I spent a long time making sure the scoring system was very good. I will not be providing a way for you to use this layout, for although I think it's really good, I want
Colemak to take over QWERTY, and having too many layouts will not help QWERTY get conquered. So go download Colemak if you want to use a good layout.
The most annoying digraphs and combinations are:
men
he
pen
Through learning MTGAP's Standard Layout, I have realized that the [QWERTY] V position is harder to type than I thought. I switched the M and P keys to make this easier. I also modified the algorithm so that the V position costs 54 instead of 48 in case I want to run it again.
6/18/08 Update: I have been using MTGAP's Standard Layout, here's what I think so far:
I've made some revisions to the scoring system based on how I felt typing on the other layout. I increased the value of inward rolls to 10 and outward rolls to 5, because I felt that there were far too few of them. I also increased the cost of jumping the home row with the index finger from 10 to 20, because although it is easier than with any other finger, it's still kind of hard. I also noticed that the QWERTY positions V and N are harder than I thought, so I increased their costs from 48 to 54. I also eliminated hand warping, because it's hard to change rows at all. So here is the new version:
, f h d k j c u l .
I've been using this layout all day. The rolls are nice. Row changing is a bit high, but that's pretty minor. The biggest problem is the location of , and . but only because I'm not used to it. This is a pretty amazing layout overall, and I have decided to make it the final version. If you see any problems with it, let me know. (See bottom of page.)
This layout is designed with the unevenness of the standard keyboard taken into account, but it should still be very good.
How can you know if a layout is the best? I am always skeptical of my own layouts; I've seen too many bad layouts that thought they were good. I don't know if this is the best possible layout, but I do know it's the best I've ever used.
You can put a pound sign before that line to basically make that line not exist, so it won't score that layout.