The Text Entry Problem definedAnyone who has used a handheld, Tablet PC, or computer with a touchscreen has dealt with the problem of on-screen text entry. Every device platform has some sort of keyboard that appears on the screen with which the user “spells” words by tapping on the letter keys. These methods work fine but are generally very slow and somewhat cumbersome in practice. A few developers have written programs over the years that attempt to deal with this problem but I have not seen one that I would feel comfortable using all the time. Most of these methods require learning a system of gestures to input whole words and the learning curve is often too great to allow me to get proficient. Usually special keyboard layouts are used because QWERTY key layouts are just not designed to accommodate input speeds on any platform. The DVORAK layout has been around for decades to offer an alternative input method, and the FITALY layout has been around for a good while too. There is a resistance to adopt these key layouts because both of them come with a steep learning curve for people raised on the old QWERTY layout and most people end up giving up trying to use them. None of the methods I have used in the past are capable of handling large volumes of text entry which is a big shortcoming with them.This whole text entry problem has been researched for years and I am happy to report what I feel is a revolutionary breakthrough. IBM has long researched text entry problems from many different angles. They produced the first research to produce a viable end-user speech recognition program with their Via Voice program that first appeared over ten years ago. That program has matured tremendously over the years and is still one of the top recognition engines on the market today. The IBM research has also tackled the text entry problem through the development of a number of on-screen keyboards for computers with touchscreens and you can find freeware versions of some of these on the internet.A couple of days ago I ran across a program on the IBM alphaWorks web site that is the culmination of some heavy research by IBM. The program is called the IBM Shorthand Aided Rapid Keyboarding (SHARK) and is a Java based on-screen keyboard that works with gestures made by spelling words on-screen with a stylus. SHARK is a simple to use program with some very intense technical algorithms behind the scenes that makes it fast and accurate to input large amounts of text with very little practice.SHARK is best used with the ATOMIK key layout which is designed to put letters that commonly appear in words right next to each other so the user’s stylus doesn’t have to travel very far. Instead of tapping the letter keys the user slides the stylus over the letters and creates a spelling “gesture” which is what the program actually translates into text. The whole process is extremely rapid and very intuitive requiring a very short learning curve before efficiency jumps up. I can input text in SHARK almost as fast as I can touch type on a keyboard, the first time that has happened with any method I’ve used prior to SHARK.Installation of SHARKSHARK is a free download that IBM is offering to end-users who want to try the method. It is a complete solution so although it is technically beta software I have encountered no problems at all while using it. SHARK requires Sun Java runtime version 5 to be present and the install will fail and tell you so if it is not detected on your system. Once the current Java runtime is installed the program will setup properly. This is not a standard Windows XP installer so it might be important where you install it for it to work properly. I ended up putting it in the root folder of my boot drive and it works fine from there. Once SHARK is installed it is invoked by executing the shark.exe file created by the install.Using SHARKWhen you first invoke the SHARK keyboard take a few moments to look at the layout. It is quickly apparent the key placement is laid out intelligently so that letters that are adjacent in common words are placed next to each other on the keypad. This means that most words will require very little stroking on the keyboard and whole words are input very simply and quickly. This default keyboard is the ATOMIK layout I mentioned above but the user can select the old QWERTY layout if you are not comfortable using the new one. I strongly recommend you give the ATOMIK layout at least a brief try because it is really fast and simple to use. SHARK is designed to be used by computers with a touch screen digitizer, either a Tablet PC or handheld computer that is used with a stylus. It will also work with computers that have a digitizer attached so it is not strictly limited to Tablets. In practice the program will actually work with a mouse but I wouldn’t recommend that for any length of time at all. This flexibility is one of the strengths of the method, and is augmented by the fact that SHARK will coexist peacefully with other input methods such as the Tablet OS TIP.The SHARK on-screen keypad can be dragged anywhere on the screen so you can place it where it is most comfortable for you to use. Words are entered by sliding the stylus over the letters in the word which creates a gesture or stroke pattern. The program then interprets that stroke gesture into a text word with amazing accuracy. There is even an animated “morph” that shows your gesture transforming into the word. This can be turned off if you find it distracting but I found it very cool and informative. You can actually see the technology work! SHARK has a default lexicon of 8000 words but the user can add words that are less common to the lexicon on the fly. I can’t stress enough just how accurate this method is.The SHARK keypad has all the special keys you will find on any keyboard with some keys performing double duty when used after the SHIFT key is stroked. You will find all the keys you expect, TAB, CTRL, ALT, SPACE, ENTER, CAPS LOCK. The number keys I find especially useful as they are in the arrangement of a number pad which is much easier for input than a standard keyboard without one. All of these keys make it simple and quick to input a lot of text with virtually no errors. When you do encounter a misrecognized word it is usually a more uncommon word. SHARK has a good correction facility built in- just click the word in the text box above the keypad and a word list will appear. Just select the correct word and off you go.Configuring SHARKSHARK has a settings area that provides good control over the user’s experience with the program. The first tab in the SETTINGS is the GENERAL tab that lets you select if you are left or right handed. This is a big boon for left-handed users as SHARK will adapt to the different writing styles of the two groups. You can also turn off the animated morphs I mentioned earlier in this section. The last setting you can make here is to enable/ disable the phantom keyboard. The phantom keyboard is an interesting feature that some users will really like. Since text is entered into SHARK by moving over the keypad some users will have problems since the hand may obscure the keyboard on the screen. The phantom keyboard produces a second identical (but non-functional) keyboard alongside the real one. This lets you input words and still see the whole keyboard during the process. The ink strokes can be toggled to show on the phantom keyboard too. This was a big benefit when I first started using SHARK but I turned it off when I got up to speed.The next tab under SETTINGS is the LEXICON tab where you can specify a special lexicon file to use instead of the integrated one. It is also here that you can add or remove words from the lexicon. Following the LEXICON tab is the KEYBOARD tab where you can toggle between the ATOMIK and QWERTY key layouts with a preview of the particular layout selected. There is also a place here to use special layouts but I wouldn’t mess with these without an intimate knowledge of the program. It is an interesting inclusion by the SHARK programmers as it would allow any layout to be used by the program.The last SETTINGS tab is the RECOGNITION tab where virtually every technical setting of the actual recognition engine can be tweaked. I wouldn’t change anything here unless you are familiar with the particular technology used by the programmers.ConclusionThere is no question in my mind that SHARK is the best on-screen text entry system I have ever used. This method is so simple and accurate it amazes me every time I use it. It is a must try for every user of a Tablet PC or other touchscreen enabled computer. I am using it on the Sony U-70 UPC and it is phenomenal. It doesn’t replace the handwriting recognition of the Tablet OS 2005 but it augments it wonderfully. The method is very easy to pick up and allows faster entry than handwriting. It is almost faster than touch typing on a keyboard, and I am a very fast touch typist. The program is totally free to end-users making it a huge bargain, and IBM considers requests for commercial licensing to incorporate the technology into other programs. SHARK is highly recommended! An excellent video of the program in action can be found on the SHARK web site and the program can be downloaded here (registration required). I hope that IBM will port this to the Windows Mobile platform as it would be a natural on the Pocket PC.This entire article was written using SHARK on the Sony U-70 Tablet PC.