Testing Swiftkey for iOS 8
Earlier this week SwiftKey announced that they hope to have their keyboard available on the App Store when iOS 8 finally rolls out to users worldwide. They've been kind enough to provide us with a beta version of the SwiftKey keyboard for testing, along with some insight into developing extensions on iOS 8 and their hopes for SwiftKey's future on both iOS and Android.
Assuming that nothing delays Apple's approval for the app, the first step for users who want to get SwiftKey after upgrading to iOS 8 will be to download it from the App Store. Due to the nature of Apple's implementation of extensions, even applications on iOS 8 that are essentially just extensions meant to run in other apps must have a container application that gets placed on the home screen. In the case of SwiftKey this is fine, as the application is home to settings for SwiftKey Cloud, languages, settings, and themes.
Once you've installed SwiftKey from the App Store, you'll need to go into the settings app to add it as shown in the image above. With the app installed the SwiftKey keyboard would show up in the section to add a new keyboard under a header for third party keyboards. Once you've done this you'll be ready to start using SwiftKey. However, you may notice that there's one very important thing missing.
Swiftkey immediately after installation on an iPad
As you can see above, the bar for predictions is covered by a banner asking the user to enable "full access." This is because of the sandboxing that Apple does for third party keyboards on iOS. Third party keyboards are, by default, placed in an extremely restrictive sandbox. They are unable to get information about what words are being inputted or what content is in an app, and they are unable to access networking to do server side prediction. These measures are in place to protect the user's privacy and security. To enable extended functionality, Apple allows users to enable full access for third party keyboards in the settings app. By doing this, SwiftKey is able to grab what characters are being typed to use with their prediction and correction technology which learns more about how a user types and what mistakes they make.
As far as the design of the keyboard goes, its layout is essentially same as the stock iOS keyboard so there's no real learning curve. Users who are familiar with the iOS keyboard can start using SwiftKey and feel at home right off the bat. iPad users will notice that the keys are larger than the stock keyboard, which in my experience made keys easier to hit without causing me to hit the wrong key due to the reduced amount of space between them. In addition to its accuracy, it's also extremely responsive. iOS 8 on the third generation iPad I was using for testing has an enormous delay between when you touch a key and when it actually registers. SwiftKey has no such issue, and for that reason alone it has become my daily keyboard on iPad. As for its appearance, the keyboard currently only comes with the nickel dark and nickel light themes that you see above.
Swiftkey's application, much like the keyboard itself, fits in very well with the visual style and design conventions of iOS. It's obvious that some care has been put into making it more than a port of the Android version of SwiftKey. The application is home to all the settings for the keyboard, including themes, languages, and SwiftKey Cloud. Currently not all the settings from the Android version have been brought over. Layout options and themes are two notable omissions. However, this is a first release, and I've been told that there will definitely be updates as time goes on.
With iOS including Apple's QuickType keyboard with similar correction and suggestion functionality, some users may be wondering why they even need a third party keyboard like SwiftKey. For me the most obvious reason is SwiftKey Cloud. My current setup is an HTC One (M7) and an iPad. Using SwiftKey on my phone but the stock iOS keyboard on the iPad would mean that the information each keyboard learns about how I type would not available to both keyboards. With SwiftKey on iOS and SwiftKey Cloud, all the information Swiftkey has collected about how I type and what mistakes I often make are available to both of my devices. This is a huge advantage for people who have mobile devices running multiple operating systems.
Another advantage that can be argued is that SwiftKey is a company that has had their keyboard available for 4 years, and specializes only in keyboards. It's not unreasonable to think that SwiftKey's technology for learning from how the user types may be more mature than Apple's which is just now being introduced with iOS 8.
The last advantage simply comes down to features. SwiftKey, and other third party keyboards, can always offer more features than Apple does due to their focus only on keyboards and the ability to ship updates whenever necessary via the App Store. One notable feature that SwiftKey offers is Flow, which is a method of typing by moving your finger from key to key. Users who use Swype by Nuance will be familiar with how SwiftKey Flow works. Unfortunately, I was unable to test Flow as the iPad version of the keyboard does not have it. This is due to memory limitations imposed on extensions. The functionality and visual effects for SwiftKey Flow when run on an iPad exceeds this amount of RAM which is why only the version for iPhone and iPod Touch includes it. Flow is most useful in a one handed situation on a phone so I'm not heartbroken by its omission in the iPad version. That being said, I am still hopeful that SwiftKey will be able to do further optimization to eventually bring Flow to iPad.
Overall, I'm very happy with how SwiftKey has turned out on iOS 8. The SwiftKey Note application makes it clear that the company has wanted to bring their keyboard to iOS for some time now and has just been blocked by the lack of third party keyboard support. The fact that it fixes the keyboard lag on my iPad and syncronizes what it has learned across iOS and Android are enough to make me very happy to use SwiftKey on iOS. I'm very excited to see what future updates bring.
SwiftKey should be available for free on the App Store not long after the release of iOS 8. The application is subject to Apple's approval, and so there could be some delay in its availability to users.
Update: SwiftKey is approved and available on the App Store now. Grab it here.