Downloads coming soon. Some annoying bugs are still there, and the whole thing is only for the computing expert yet, but it works. It was working for weeks already, I wrote some 30 thousand letters of Kissy using it, but the end user couldn’t redesign it. Now they can. By editing a text document in our keyboard layout programming language, Coat. It’s called so because it’s full of buttons.
This is one of our first test keyboards. Kinesa layout for Hungarian, designed by myself for Palm in 2006, now a bit redesigned for Android. It’s a 10.1" tablet, that’s why I have so many keys. On a little smartphone, you should use less keys to make them bigger. It’s up to you.
Characters written in red on the top part of the keys are accessed by Shift. The numbers in the bottom row are layout switchers, experimental, currently leading to empty layouts. The round arrow on the left is the „roller” that turns letters to other letters, for example, accented ones.
Above the hexagonal grid, you can see a text editor with a part of the code in Coat language, describing this keyboard.
Best’s Keyboard currently features:
– a switchable keyboard layout (by switching files by a file manager, an easier method PIUF);
– a hexagonal grid of keys (other types of grids PIUF);
– described in Coat language (a WYSIWYG editor PIUF);
– allowing several layouts in the same file, switchable by keypresses (many concerning options PIUF);
– support for all characters present on your device (font and font attribute changing PIUF);
– a roller to change characters (several rollers PIUF);
– a short stroke keyboard (changing it not PIUF at all).
PIUF: Planned In Unknown Future. This is a pre-pre-prebeta, nothing more. I’m not making the program, I’m just giving ideas and support. My friend Thon is making it, but he’s got not much time to work on it – therefore, features PIUF may come tomorrow, next week, next year. We don’t know.
Other features PIUF include:
– extending it to handle more keyboards (now it takes a file called sdcard/_bestboard/bestboard.txt and refuses anything else, so to change your keyboard you have to overwrite that file and restart Best’s Keyboard by changing to another input method, then back);
– building an online database of keyboards;
– creating statistics based layouts (like Kinesa) to as many languages as possible.
As for the statistics based layouts. Another friend is working on a Windows program to build letter frequency statistics on text files, according to our special needs. Kinesa is a statistics based layout for Hungarian, and I know two for English. With the short stroke method (described below), it’s not practical to insist on QWERTY or similar keyboards. We need layouts where the most frequent letters, letter pairs and triplets are as close to each other as possible. To achieve this, we need to make statistics on real language text and study it. Of course, if there’s no statistics for a given language and no statistics based layout has been made, it’s still possible to create layouts for that language and to write with them, just it won’t be as quick and comfortable as it could be.
A sample to reduce Kinesa to ALAP (as large as possible). Also, alap means base in Hungarian, and yes, it’s just a basic set of characters. But 8 keys by row may be usable on a smartphone, too; I can’t try it, I have no smartphone.
The greatest amount of keys it was working with was 240 on my device. It took a bit longer to load, but it works. At 250 keys, the program crashed (actually it didn’t, but it took too long to load and the system shot it down). But I believe 240 is a bit more than you have with any other keyboard for Android, tell me if not. The theoretical maximum is around 1000 keys now.
The smallest amount of keys I tried was 1, and yes, it works. I’ve created a roller that goes through the alphabet, digits and punctuation, à la VHS remotes setting the name of a TV channel. It changes the character before the cursor from a to b, then c, then d, and so on. Of course, it has no feature to enter the first character, but I don’t suppose anybody wants to use it to write poems, so that’s not very important.
The most important feature of Best’s Keyboard is it’s a short stroke keyboard. You may already know long stroke keyboards like Swype, but Best’s Keyboard is different.
Long stroke and short stroke are my own terms.
In Swype and similar programs, you write a word by one single movement. To write “measurement” you have to stroke through all 11 letters with one single motion of your finger or stylus. During that, you’ll touch a lot of other letters (something like MjhgtrEsASdfghUytREdfghnMjhgtrEdfghNhyT), and the program tries to guess what did you mean. This needs a dictionary. If your word is missing from the dictionary, you have to delete the mess you’ve got and touch-type the letters one by one. Therefore, long stroke method is good for single language writing only.
In Best’s Keyboard, we’re using short strokes. When two or more letters are on a chain of neighboring keys, you can stroke through them. When the next letter is at a distance, you raise your finger, touch the next letter and start another stroke (if you can). For example, on my Kinesa layout shown above, the same word “measurement” takes four strokes: first you stroke MEAS, then touch U, then touch R, and finally another stroke: EMENT. (On a different layout, it would work different. Kinesa isn’t practical for English.)
Strokes can go from any key to any neighboring key, then further to any neighboring key and so on. There’s an exception: a space key is insensitive when travelled in between other keys. On Kinesa, the space key is the light red one in the ring of letters KINESA, thus making all these six letters a neighbor to each other. This makes it possible to write “measurement” with a stroke MEAS, actually touching the space between E and A, but it won’t appear.
We didn’t invent hexagonal keyboard, nor the short stroke method, even the insensitive space between keys isn’t our own. These features were present in myKBD by Alex Pruss, written for Palm OS 5 in 2006. These ideas belong to him and his contributors. Best’s Keyboard is not an Android port, it knows a lot more already, but we couldn’t make it without their work. We’ll contact them ASAP to let them know about our work and to say thank you.
One of the statistics based English layouts is ATOMIK, included with myKBD. Here is a screenshot of my first attempt to realize it on Best’s Keyboard, and the Palm version on the small image.