I've been pretty frustrated with my new Palm TX's Graffiti 2 software for inputting text. With the old Graffiti I could get about 20 words per minute (a word is 5 keystrokes, including spaces). That's a lot slower than I can type (60 wpm or so) but in a pinch it lets me write fast enough that I don't usually forget what I'm writing about. With the new Graffiti I am getting 10 words per minute. I could probably get that up to 15 with practice, but it is still slower since some letters are now two strokes (f, i, k, t, and x) and others are easily confused like u and v. So I'm also getting lots of typos.
On the Brighthand website (kind of like iLounge for handhelds) people mentioned a program called MyKbd by Alexander Pruss. It turns the writing area into a screen of hexes, each with a letter on it. You tap the letters you want, just like on a keyboard, but he has made it faster than a keyboard by putting the most frequently used letters next to each other, optimizing it for people using a stylus. He took it further by letting you slide from one hex to an adjacent one. Naturally he put t and h next to each other so you can just slide from the t to the h and "th" appears on the screen. And e is after that so that you can write "the" with one well-placed stroke.
Some IBM engineers used computers to optimize the layout of the keys with the following result, called Metropolis:
Supposedly having the vowels in branches makes it easier to navigate (hard to believe any engineer would put the . so far from the numbers though). The MyKbd author came up with his own version which put the infrequently used letters in somewhat alphabetical order to make those easier to find. I guess once you get trained you don’t have to hunt and peck but just kind of know where things are.
I've been learning Metropolis for a couple of days. I downloaded a game called Fitalyletris that helps you practice writing. It was written for another (non-hex) keyboard called Fitaly because one row of it spells out that odd word. It too has been optimized and supposedly lets you type 50 wpm, but I have doubts (fitaly was originally made as a sticker that you put in the graffiti area, but now the Palm TX graffiti area is an extension of the screen so you don't need an overlay). The hexes have an advantage in sliding to adjacent letters because a hex touches six other letters whereas a grid can only touch four. Other sources said that MyKbd had a slight advantage over Fitaly. With an optimized keyboard you really don't want to practice "The quick brown fox" because that sentence uses all the infrequent letters and is probably the slowest thing you could write. Instead Fitalyletris has different games that drop the most common words. Using this I was getting up to about 16 words per minute, but still getting some major delays learning the layout. At least there were a lot fewer typos. And there were a lot of words I found that could be done with one slide: "which sand of theirs play land not terse where plan to hire thick monday as the fond." With those words I could get 20 words per minute.
I still thought it could be better optimized. I found a guy who had worked on hex screens independently and later found MyKbd. He had created a new MyKbd layout that he called QUONG (as opposed to QWERTY). He pointed out that it was more optimized than the layouts that came with MyKbd and that he had run his own analysis using the most popular digraphs and trigraphs, which are 2 and 3 letter combinations that appear in words. I found the 10 most popular digraphs on a code-breaking website: th, er, on, an, re, he, in, ed, nd, and ha. The 10 most popular trigraphs are: the, and, tha, ent, ion, tio, for, nde, has, and nce. By the way the most common words are: the, and, of, to, I, a, in, that, you, and for.
I could score each system by how many of the top digraphs and trigraphs have adjacent letters. If I do that with the top 30 digraphs and 15 trigraphs, I get a score of 14 for Metropolis. Quong gets 17 and my new design gets 21. One way I was able to get more points was by getting the space key (the blank one) out of the way. I admit the space is used more than any other key, but because of that you learn where it is pretty quickly and can get used to tapping it at the end of each word. I feel like that will work better. By moving a couple of letters I was able to get the score up to 24.
After figuring out why I couldn't get the keyboard generator to work (it couldn't create an out_data directory on its own, so I made the directory and everything worked great), and debugging my design, then playing around with the color scheme, I finally got my keyboard working. I used more muted colors and made it less contrasting by making the borders gray (after reading some posts at 1src I found a site that lets you play around with keyboard designs which lets you see the layout faster than compiling it). The first time I tried to test my speed I realized I had left off Y. At least that's what I thought for a while, but I finally found that it was there, it was just the wrong color (part of the debugging). I still managed 11 words per minute after spending all that time looking for Y (using another program called WPM to test typing speed with "Now is the time . . ."). Once I fixed that, I ran another test and got a high score of 16 wpm. I did it again and got 17 wpm. I'm liking it! If you want to try it, here are the source and Palm files (another version in classic colors).
Part 2
P.S.: The picture and files above represent a tweaked version of my original layout. It has a score of 25 by moving the u near o and a couple of other changes.