When assistive technology researcher Dr. Cliff Kushler contributed to the development of the T9 predictive text input system in the '90s, he helped pave the way for a major breakthrough in mobile messaging. T9 became ubiquitous on feature phones and is still widely used today on mobile devices with conventional numeric keypads.

Kushler's latest company, called Swype, offers an intriguing new spin on efficient text entry that could prove equally influential in the emerging era of touchscreen and motion-based input. Kushler began developing the underlying technology behind Swype a few years after AOL acquired Tegic, the company that he originally cofounded to develop T9.

Originally devised as head-tracking system and later adapted to touchscreens, the Swype keyboard allows the user to input text by moving a finger in a rapid sweeping motion over a qwerty keyboard, sliding in order over the letters that form the desired word. The software will analyze the path of the user's finger on the screen and compute possible word matches. This system allows users to input an entire word without having to lift their finger from the touchscreen surface. It offers a considerable boost in typing speed relative to conventional touchscreen keyboards.

Kushler began developing the Swype input system in 2001, but it took years of research for it to reach its current level of maturity. The technology was introduced to the public at the TechCrunch 50 conference in 2008 and soon attracted the interest of mobile device vendors. The Swype input system is now available in 35 languages and has shipped on roughly 15 devices over the past six months. Kushler is still heavily involved in the effort and serves as CTO of the Swype company.

Swype is working on an Android version of its keyboard, which is currently in the beta test stage. Although the Android version is still relatively new, it has already been adopted by several prominent handset makers. It will be available on Motorola's upcoming Droid X smartphone and Samsung's Galaxy S series.

I installed the downloadable beta version of Swype for Android on my Nexus One and have also tested it on a Droid X review unit that we recently received from Verizon. After spending two weeks with the Swype software, I never want to go back to using a regular touchscreen keyboard. It is a shockingly effective input system that tangibly increases typing speed and accuracy.

Instead of hitting each key individually, you just move your finger or thumb over the keys in succession. The software will draw a line that follows your movements, tracing your finger through the keys. When you lift your finger after tracing over a word, the software will compare the traced letters with the contents of its dictionary and look for a match.

For example, to type the word "write," you press down on the "w" key, move your finger to the right all the way to the "i," and then swerve back the way you came and end at the letter "e." The swift back-and-forth motion that is used to type that word with Swype can be performed much faster than hitting each key in sequence.



Typing the word "write" with Swype

The software is very permissive and will often still be able to compute accurate matches even if you missed a letter or veered a little bit off course. This allows you to move faster because you don't really have to be precise. In cases where there are multiple potential matches (like when you move your finger from the "p" in a left-hand direction to the letter "t" and it could spell either "put," "pot," or "pit") Swype will show you a list of words and you can simply tap the one you want.

Typing the word "put" with Swype

Obviously, this kind of predictive gesture-driven input will only work if the word that you are trying to type is already in the software's dictionary. This limitation is a bit problematic on smartphones, where users often have to type URLs, e-mail addresses, and other kinds of text strings that aren't in any dictionary. In order to accommodate those kinds of usage scenarios, the Swype keyboard supports regular key-by-key typing in addition to its gesture system.

When you are typing a non-dictionary word, you just hit one key at a time instead of sweeping. The words that you type in that manner will be added to Swype's dictionary so that you will be able to input them with a sweep on subsequent uses. For example, when I manually typed in "arstechnica.com" in the URL bar of the browser, it trained the keyboard to support typing "arstechnica" with a sweeping motion.

One of the most advantageous characteristics of Swype is that it works exceptionally well for one-handed input. I can type very quickly with Swype when I'm operating the phone with one hand by sliding my thumb over the keyboard. I no longer have to rotate the device into landscape orientation and use both hands in order to type at a reasonable speed. Next time that I'm traveling and find myself at an airport, dragging my luggage with one hand and trying to respond to an e-mail with my phone in the other hand, Swype is going to make the experience much less painful.

I can also type quickly with Swype by holding it with one hand and performing the sweeping gestures with the index finger of their other hand. The thumb and index finger methods are both comfortable for me and work equally well. I find myself using the index-finger typing method more often on the enormous Droid X, because I'm usually operating the large device with two hands anyway. On the N1, I generally use the one-handed thumb method instead of the index-finger method unless I just happen to pick it up with my left hand, which has a lot less thumb dexterity.

Swype offers several minor conveniences that help to further accelerate typing. As Swype input is generally done one word at a time, there is often a need to be able to delete entire words while typing. To delete an entire word rather than just a character, you press and hold the backspace key. It will continue to delete entire words for as long as you hold it down. This allows you to delete whole paragraphs rather quickly.

Another minor convenience is that you don't have to hit the space bar between words. After you input a word, you can just pick up your finger and start inputting the next word. The software will automatically input a space between them. Similarly, when you are presented with a set of options for possible word matches, the software will assume that you wanted the first one in the list if you just start inputting another word rather than selecting an item from the assortment. In our put/pot/pit example above, you will notice that "put" is highlighted green and placed at the top of the list. If I ignore the list and start inputting another word on the keyboard, it will automatically insert "put" before computing the new word.

I did some typing tests to compare my performance between Android's standard touchscreen keyboard and the Swype keyboard. I used the ExtremeTypist program, but disabled its eccentric Extreme mode. I was able to get 74 characters during a test with the regular keyboard and I got 102 characters on my first try with Swype. That's with a relatively artificial set of words—I suspect that the measurable gap might widen further if I was typing a coherent sentence rather than random words.

One of the factors that makes Swype faster is that it largely insulates the user from typos. With the regular touchscreen keyboard, I find myself fat-fingering the keys and having to use backspace to make corrections. Swype still manages to figure out what I meant, even if I miss, so it gives me much higher accuracy.

Of course, the downside is that a typing error with Swype is more costly than a typing error with a regular keyboard because you will have to do the whole word over again rather than just redoing a single letter. Some of the handset vendors that are licensing Swype include a quick-edit feature that makes it easier to go back and change a word. This feature is not supported in the downloadable beta version that you can install on other Android handsets, however, because it requires modifications to Android's input method system.

Although Swype improved my typing performance on a touchscreen, I'm still faster with a physical slide-out qwerty keyboard. I thumb-typed more articles than I care to admit on my old Touch Pro 2—a device with a physical keyboard that I regard as the gold standard for smartphones. Swype can't beat that, but it is definitely the best touchscreen keyboard I have ever used. Even on devices with a good slide-out hardware keyboard, Swype would still be highly useful and relevant for situations where you want to do fast text input with one hand.

The future of Swype

I spoke with Swype CEO Mike McSherry to learn more about the underlying technology and the company's plans for the future. The algorithm that attempts to guess the correct word is implemented in C++ and is relatively portable. This has made it practical for the developers to bring the Swype input system to multiple platforms. It is supported today on Windows Mobile, Android, and Symbian. The company is investigating a MeeGo port and intends to bring it to other platforms in the future.

Swype's developers are also exploring the possibility of adapting the input system to work on other kinds of devices besides smartphones. McSherry says that the basic principals behind the Swype input system will likely work well in any computing environment where you have a means of tracking the movement of a pointer over a surface—any screen that you can touch or point at. For example, he thinks that it could be a perfect match for the motion-based control systems that are becoming popular on gaming consoles, such as the Nintendo Wii.

He also cited tablets, car computers, and televisions as other potential devices where the Swype technology could potentially be useful. Mass-market consumer electronics are where Swype expects to find its biggest business opportunities, but McSherry commented that the company is also committed to developing effective input systems for people with disabilities—a goal that initially inspired Kushler to develop both Swype and T9.

The small conveniences, high error tolerance, and excellent efficiency of the sweeping gestures really make Swype shine. It's a pleasure to use and requires very little acclimation time because the sweeping gestures feel extremely natural and intuitive for text input. Swype is very impressive and is likely destined to become a must-have feature for smartphones.