swiftkey-ios-8

When Apple announced iOS 8 at WWDC earlier this year, I actually got very excited for an iOS update for the first time … possibly ever.

I use iOS daily and, despite popular belief, I don’t hate it. However, for the last few years, iOS has been a bore, and it’s been a little behind the curve, particularly in the ability to share information between apps, or interoperability. This stemmed from a combination of Apple’s walled garden, as many like to call it, and sandboxed applications. Apple only officially allowed cross-application sharing between a few, select applications, like its own Messages and Mail apps or Twitter, Facebook, and Flickr.

With iOS 8, Apple introduced Extensibility, a set of APIs which give third-party developers the ability to integrate their respective apps with iOS more deeply. Many third-party applications are now sharing options in Safari, Chrome, Photos, Dropbox, and anywhere else you can share links, pictures, documents, or practically anything else. Of course, third-party support isn’t something that happens overnight, and while the potential is there, few developers have actually taken advantage of Extensibility for sharing.

That said, third-party sharing is only a small portion of what Extensibility introduced. It also brought third-party extensions in the built-in photo editor, third-party widgets in the Today view of Notification Center, and, most importantly, third-party keyboards.

On iOS 8 launch day, just two days before Apple’s new iPhones arrived, popular third-party keyboards from the Android platform went live in the App Store. I immediately downloaded SwiftKey, Swype, and Minuum, three keyboards I have used off and on since their respective launches, three of my goto keyboards on Android.

minuum
minuum-keyboard-expand

It didn’t take long for me to realize some pretty major differences, however, like number and symbol previews in the default keyboard view. On Android, both SwiftKey and Swype show number previews on the top row of letter keys and symbol previews on the rest of the letter keys. Long-pressing on any of these will insert the associated symbol without having to switch to the number/symbol panel. Likewise, Minuum shows a selection of numbers and symbols above the letters in the default, miniature keyboard layout. Long-pressing (rather than just sloppily tapping) will allow you to precisely select a specific letter, while pressing then sliding upwards will let you choose a number or symbol.

In other words, on Android, all of these third-party keyboards offer significant advantages over the stock Google Keyboard. Developers have gotten creative and found ways to truly make text input on pocket-sized screens less … infuriating and more intuitive.

For some reason, though, their iOS counterparts are not nearly as useful. That’s not to say they’re horrible, but they’re definitely dumbed-down versions of the Android keyboards.

At first, I chalked this up to the keyboards being so new, so fresh. Minuum, for instance, said it would be adding more features over time. It has, but not in the manner I was hoping. Instead of sliding your finger upwards over the letters to access numbers, you can now slide from the 123 key to any number or symbol to quickly insert it – like with the stock iOS keyboard. Unfortunately, there is still no way to insert specific letters from the miniature view. Instead, you have to drag the keyboard upwards to expand to the full view and type as you would on a normal QWERTY.

swype-ios

I later learned that Swype does come with number and symbol previews, but only when using a specific theme, the Dark theme – one that isn’t set by default. Symbol and numbers can be inserted by long-pressing on keys using any of the themes, but without using the Dark theme, the only way to know which letter corresponds with the various symbols it to remember. Great.

I talked about this not long after iOS 8 was released. I wrote about how the stock keyboard will randomly appear at times while third-party keyboards sometimes won’t appear at all and the several other bugs that plague the new third-party keyboards. But that’s the smaller issue. The discrepancy – a pretty significant one at that – between the iOS and Android versions of these keyboards made me wonder is Apple to blame?

I spent several hours sifting through Apple’s App Store Review Guidelines and the App Extension Programming Guide, looking for anything that might indicate some purposeful limitations put in place by Apple to make its stock keyboard seem better. There wasn’t much to see. So long as the keyboards adhere to a few loose guidelines, keyboard developers are free to do pretty much whatever they please – even if it means creating a GIF keyboard which, by the way, is awesome.

iphone-6-plus-review-4

Apple purposefully making its own keyboard perform better might sound absurd, but it wouldn’t be a first. If you remember the Nitro JavaScript engine, Apple made it only available to Mobile Safari in iOS 4.3. Third-party browsers like Chrome, Dolphin, Opera, and all the rest were significantly slower at rendering web pages. That’s no so any more – all apps now have access to Nitro, meaning web performance on iOS is much better than before, across the board.

It would seem counterintuitive for Apple to do this again, but it honestly wouldn’t come as a surprise. The explanation for Nitro being limited to Safari was supposedly due to security reasons. I can’t imagine there would be a similar cause for third-party keyboards to be limited in functionality.

Except there is. One line in the App Extension Programming Guide reads, “Custom keyboards, like all app extensions in iOS 8.0, have no access to the device microphone, so dictation input is not possible.”

third-party-keyboards-ios-8

If you want to dictate your messages, you have to use the stock iOS keyboard, due to security reasons. So, despite the fact that Swype is owned by Nuance Communications, also the owners of Dragon NaturallySpeaking, you can’t use Swype’s powerful dictation software found on Android.

And there are other, tiny things that make Apple’s keyboard better, like the ability to long-press the globe button to quickly select between any active keyboards. In a third-party keyboard, you must scroll through all keyboards, one by one, until you arrive at the keyboard you want. And third-party keyboards are constrained to the actual size of the keyboard. Apple’s can go outside its visible barriers with things like letter preview pop-ups and (at least on iPads) a floating, split keyboard. You won’t find the free-floating Minuum and SwiftKey keyboards on iOS anytime soon.

Currently, I’m an iOS keyboard nomad. I can’t stick with one, because they’re all so limited and buggy. SwiftKey is the most reliable, but Swype has number and symbol shortcuts. Minuum is a great fallback, but I’m sad I can’t rely on it. It’s my choice keyboard on Android and as much as I want it to be as great on iOS, it simply isn’t. And I often find myself reverting back to the stock iOS keyboard, no matter how much I dislike it, simply because it performs the best.

I’ll leave it up to you to decide if this is by Apple’s doing or just the growing pains of new third-party keyboards on a slightly more open platform. Either way, it’s safe to say that third-party keyboards on iOS aren’t quite as exciting as the prospect was following the WWDC announcement.