Swiftkey's driving theory is that, with enough information about you, it can predict what you want to type. Seriously. They even use the phrase "mind-reading" on their website. How do they expect to get to "mind-reading" levels? Well, they basically want to scan everything you've ever written. Swiftkey can mine your text messages, Facebook, Gmail, Twitter, and even your blog's RRS feed for sweet, sweet data about your typing habits. They feed all this data though a "ground-breaking artificial intelligence engine that uses word context and personalized language models to think about words like you do". They even claim it can adapt to your typing habits. So does mountains of data really make a keyboard better?
Pricing and Setup
Swiftkey has a 1 month free trial available in the Android Market, and if you want to keep the app it'll cost you $3.99. On behalf of everyone who's been burnt by the 15 minute app return period let me just say "Thank You" to the people at Swiftkey. You have a whole month to try their keyboard out. They don't want a cent from you unless you like their product. Awesome.
Swiftkey's setup is pretty slick. It gives you a much-needed helping hand though the tap-heavy process of activating a new keyboard. Interestingly, it asks you to choose a "Typing style" -- Precise or Rapid, which basically means "more or less prediction." It then asks for your Facebook, Gmail, Twitter, blog, long form birth certificate, and text messages. Well, some peoples' text messages. I use Google Voice. Nothing ever works with Google Voice. Still, it has tons of data from my Gmail, Facebook, and everything else. Trust me.
While entering your various login information, You get an immediate glimpse of just how aggressive the autocorrect is going to be. After setting up Facebook, it figured out my email address, and for the Gmail login, offered to autocomplete my email after just a few key presses. Cool!
Swiftkey setup being really awesome (left) and really lame (right).
One thing left a sour taste in my mouth during the Facebook setup. They have a box to spam your Facebook wall with a Swiftkey ad, and it's pre-checked. And if you uncheck it and go back into the options later it gets checked again. I don't think AP will allow me the proper vocabulary to express how this makes me feel, so I'll have to rely on Swiftkey's mind-reading to get the message across. When you are asking for so much data from people, you need to tread very lightly with stuff like this. Swiftkey's reputation would be better served without the shady advertisement checkboxes.
Next Word Prediction
The Swiftkey website states "SwiftKey X’s predictions are so accurate, it can predict your next word before you press a key." So after turning over all my logins and passwords, can Swiftkey really read my mind?
Reality check: No.
That's such a silly thing to say. There are a million different things a person could say at any given moment, you can't get any sort of decent prediction from past writings. It's just not possible. I don't know why they would claim such a ridiculous ability. On precise mode, Swiftkey will get the next word right about once every 15 words, and will get the word right after about 3-5 letters. Maybe other people are more predictable in their writing, but for me, it's just not doing much.
Not for Rapid Typists
I think Swiftkey is geared toward slow typists. In fact, I can prove it. Here's the difference between the "Precise" and "Rapid" modes, from Swiftkey's support site:
The Precise mode is the original Swiftkey typing mode, which is intended to reduce the number of keystrokes when you type by predicting and/or completing each word .
The ‘Rapid’ typing style is optimized for very fast typists who want to type quickly without checking predictions frequently.
So the original idea behind Swiftkey was low typing speed, and high word prediction. That's probably why, as a fast typist, Swiftkey isn't doing much for me. When you type quickly, next word prediction, while cool, doesn't help you type any faster. You just end up ignoring it. Think about it: Swiftkey wants you to type the first few letters of a word, stop, read the autocomplete choices, and pick one. If the word you want isn't there, type one more letter and read all 3 choices again. When you know what you're doing, stopping to read is not conductive to fast typing.
I think it's designed for someone like my mom. She's new to smartphones (and even text messages), so typing anything is a pretty painful experience for her. Swiftkey will cut your amount of keystrokes in half if you use predictions religiously, for a novice typer that's a time saver.
Swiftkey on rapid mode is just like any other keyboard. I would imagine the dictionary is much more complete (or incorrect, see the next section) after scanning everything I've ever written, but on a well designed keyboard, adding things to the dictionary is trivially easy anyway. Swiftkey says it will save you keystrokes, but when you can do a few keystrokes a second, basic math will tell you it isn't worth stopping for a second or two to read the word suggestions. There is little value here for a fast typist.
The scariest part about Swiftkey, for me, is the idea that after scanning everything, Swiftkey will import every typo and misspelling I've made over the years and add them as words to the dictionary. As a bad speller, I trust a stock dictionary, I do not trust a dictionary made from my past casual writings. Sadly, there isn't a way to take a look at the dictionary Swiftkey has built. As a geek, I'm greatly disappointed, I would love a look under the hood of Swiftkey's import process. It would make it much easier to judge the value of handing over my account credentials, and might even be a little fun to see what strange words of mine it has managed to pick up.
I have spotted a few misspellings in the dictionary and other words that I would rather not be there. So it's time to remove them. How do you go about this without a list of words? Well, Swiftkey handles it better than any other keyboard I've ever tried. Everyone else, start your photocopiers.
Just long press on the suggestion. Amazingly simple, yet no one actually does this. I love it. All other keyboards need to copy this right now.
Say you type a sentence and notice one of the words is messed up or you picked the wrong autocorrect choice. On most keyboards, you can tap on the word, and the keyboard will bring up the list of possible autocorrect results. It's very handy to be able to poke a word and fix it. But Swiftkey doesn't work like that. It will give you a list of autocorrect results from the current cursor position. So if you poke a word and your cursor lands towards the front of the word, it's not going to take into account anything to the right of your cursor. Observe:
The right way to do it (Gingerbread) and the wrong way (Swiftkey).
Landing one letter in is an extreme example, but I ran into plenty of instances when Swiftkey's autocorrect wasn't displaying the right word because of the cursor position. If you want Swiftkey's list of predictions for the whole word your cursor can only be directly to the right of it. It makes fixing incorrect autocorrect suggestions very annoying. Micromanaging the cursor position is one of the most painful things you can do on a touch screen and Swiftkey makes me do more of it.
Options and Keyboard Panes
You get the usual assortment of numbers and symbols from the "123" button. There's arrows on the symbol keyboard too. Very handy.
Theming is a cool little extra the Swiftkey people included. You can choose from a few different themes: dark, light and neon. "Neon" is probably the ugliest keyboard I've ever seen. But hey, if you like blue and purple, be my guest. If not, their website promises a future theming API.
Pick your flavor
You get lots of little adjustments under the advanced options. Some are scarily precise, like long press duration for special characters; you get a millisecond slider. Do you want your long press to be 572ms? You can do that. You also get a personal favorite of mine, arrow keys!
The major missing option is the ability to turn off auto spacing after a period. Swiftkey will tack a space after every period except in the browser bar. This means you can't enter URLs in the search box without it auto spacing, and you can't type a URL in an IM, text message, or your notes without watching for extra spaces. "Google.com" will end up as "Google. com" if you aren't careful.
Why do keyboards insist on taking space bar control away? They never do it right, and they aren't saving me any time; I'm used to pressing space after a period. Keyboards, remember, are based completely on familiarity. QWERTY only exists because that's what we're used to. Period + space is ingrained in my fingers. Stop messing with it.
The Bottom Line
Swiftkey will save you about half your keystrokes in exchange for stopping and reading the word suggestions. Is this tradeoff worth it? Well, it depends on how fast of a typist you are. The quick-fingered won't notice much difference. They will blow by the predictions and eventually stop looking at them. For people with typing difficulties, saving them a few keystrokes is a godsend, but there's a hard drop off in Swiftkey's usefulness once you learn to type at a decent clip. Stopping to read suggestions will just waste time.
The data compiled dictionary is also a tradeoff. Lots of brand names and other non-dictionary words get correctly entered, but so do your spelling mistakes. You won't be able to trust the dictionary anymore.
- Great for typing novices. If typing a word is a painful proposition for you, this can cut your keystrokes in half.
- The best dictionary word removal in any keyboard.
- One month trial. That's above and beyond.
- Has little to offer fast typists.
- Imports your past spelling errors.
- Incorrectly takes cursor position into account when fixing autocorrect mistakes.
- Automatic spacing after a period will give you a hard time with URL typing.