Text Entry Epiphany for the Tablet PC- SHARK


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_keypadSHARK 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.Shark_morphingThe 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.



Eb, I don’t know if the IBM folks plan a PDA version or not. I suspect it’s likely more resource related than anything else. It’s a free program and supporting multiple versions is likely out of the scope of possibility for the authors.


Hey JK,

Great article! I keep reading a lot of material about this ShapeWriter method of sliding the pen… but so far no PDA or SmartPhones that i know of have incorporated it! Am I wrong? And if not, do you have any idea why (technology is too heavy for a PDA, no demand, else ?)

Thanks for the feedback,
Eb, ebiwan@yahoo.com


One problem for me with shark is, that it doesn’t work in German. In English it’s somehow hard to use for me and text recognition works much better and faster…

Steve J

I’m using a phone pad on pocket PC 2003 SE and it works great, QWERTY is not so good, my handwriting is too poor for recognition could never get on with grafitti or similar, but the T9 pad as they call it with predictive text I am quicker than my old texting speed which was very quick. Would like to try Shark at some point though. Looks like it could be as good.


I tried MessageEase with great frustration. After watching their demo video I figured “even if I could become as fast the person doing the demo – who is likely the fastest person they could find – it’s still not fast enough for me”.

I haven’t tried SHARK but will now. Has anyone found an application that simulates a phone keypad for text entry like on cell phones? call me crazy, but i’m extremely fast on text entry on my cell phone and would love to apply that to text entry on my tablet.


cleverly designed and useful. The lexicon is somewhat limited (even the word “lexicon” is not in the lexicon!) but the ability to add to it by importing text fills is handy.

Bonnie Leung

I use a usb connected tablet to my laptop, as I have RSI, and since using SHARK for the first time on the weekend have become an instant convert. SHARK is extremely easy to pick up, and the accuracy is phonomenal. Even with my cheaper and not-so-accurate stylus I have not had to correct the program after the first hour of use. It is quicker and more accurate to use than voice rec or any other similar stylus based software. I think it’s amazing that even a beta version could be so complete in functionality, and best of all, absolutely free!

There are a few gripes or changes I would suggest, however there are minor and do not affect the program’s functionality in any major way. The first is that getting the software to run the first time was a bit of a challenge until I realized that I had to move the exe file into the other directory. Help for this, and other functions (such as how to transfer the text into other programs) was sketchy. I also noticed that when typing, some words or sentences would get lost during the overflow. Apostrophes, and not being able to highlight letters to correct case is a minor inconvienence. My other gripe is the amount of screen space this takes up. I think having a transparency option, and/or adding the usual “minimize, restore” buttons to the status bar would make this program truly fantastic. I have been able to resize the window (and the keys!) by clicking and dragging the window, but I have found that IBM have been spot on with the default key sizes. Any smaller and it becomes difficult to be accurate. All in all an excellent program. Very much looking forward to the next version!

Wayne Van De Graaff

Hi, I just wanted to add to the thread. I have tried messagease quite a bit and can tell you that, in my opinion, SHARK is much faster and easier to use. I had been beta testing SHARK previous to its release and to programmers at IBM really have done their research. It is wonderful to finally be able type quickly and accurately.
My email is vandegraaff@gmail.com and I would be happy to answer any questions.
Also, thank you so much jk for doing this review, it’s wonderful!

By the way, here is the link to download java
and when you unzip the shark file you need to put the shark.exe in the shark folder and then click on it, like jk said.


Pat, I have never tried MessageEase mainly because it looked like the learning curve was too great like most of these input schemes. SHARK worked quickly for me so I like it. And did I mention before that it’s free? :)

pat smith

Have you tried MessageEase? I too am a long time Fitaly user who wants something similar on my soon-to-arrive tablet. MessageEase and Shark look the most promising.



I had to move the shark.exe into the shark subdirectory and then it worked flawlessly.


Steve, corrections are always a problem for on screen input methods. SHARK has OK corrections. Since it inputs whole words at a time if a word is not recognized correctly all you have to do is click on the word in the text entry box and a list of words from the dictionary appears where you can select the correct one if it is there. Hitting the backspace key deletes the whole incorrect word. You can also tap the letter keys to spell a word that will not recognize just like any other keyboard.


This is nice. I have used Fitaly on my PPC for a long time and am trying to find something for my tablet that is as good. I do alot of writing and have yet to exploit the tablet for this purpose besides things like onenote. The big thing for me with most of the popular TIPs I have tried have been corrections. I make lots of mistakes whent typing inputting etc. Any feedback on corrections? How well does that work? Or do you just not make mistakes?


What files are in the Shark directory? I had to move the Shark.exe file into the same directory as the dlls.


I am interested in working with SHARK but am still unable to load the program. Even though I downloaded JAVA 5, I still get the error that some Java library cannot be found. Any ideas?


Mal, I still use the handwriting recognition of the TIP as it is quite good. I use SHARK for those longer sessions where I might normally use the TIP keyboard. SHARK is easier and faster for me.


I tried this last night onmy TC1100 tablet, and after som initial frustration, persevered to the point where I could enter most of the words that I tried. For some reason, even though I added them to the lexicon, I was unable to get “lazy” – as per the video, despite trying everything I could. Likewise my name “Malcolm” – no way…

I really like this – the more I use it the more I like it. Not sure if its really faster than using the Tablet 2005 TIP though. But I’m gonna keep at it…


I finally got use to Tablet 2005’s handwriting
recognition [and limitations], do you keep this on the
screen all of the time or did you remap the handwriting panel to the SHARK program?

I feel 90% accurate with the Tablet 2005 free hand recognition tool on the TIP and rarely use the on-screen display keyboard.


This SHARK program is most interesting JK… I wish I had brought my tablet with me. As it is, I’ll have to wait to go home to try it out! Thanks for the tip.

Comments are closed.