On the Limitations of iOS Custom Keyboards

Somewhat buried in a good Verge piece on iOS custom keyboards is a reiteration by Apple on why they don’t allow dictation for third-party keyboards:

Apple has long been a stalwart for erring on the side of caution when it comes to keeping your data private and asking you to make sure you know you’re sharing something. The company’s policy is to not allow microphone access for extensions (like these keyboards) because iOS has no way to make it clear that the phone is listening. Giving third-party keyboards access to the microphone could allow nefarious apps to listen in on users without their knowledge, an Apple spokesperson says.

As far as I know, it’s not just custom keyboards: no kind of app extension can access the microphone on iOS (plus other APIs). This has been the case since 2014 and it appears Apple still thinks the privacy trade-off would be too risky.

The principle doesn’t surprise me; at a practical level, though, wouldn’t it be possible to enable dictation1 in third-party keyboards by coloring the status bar differently when the microphone is listening?

I also have to wonder if, two years into custom keyboards, it would be time for Apple to lift some of their other keyboard restrictions. To recap, this is what custom keyboards on iOS can’t do:

Access the system settings of Auto-Capitalization, Enable Caps Lock, and dictionary reset feature

Type into secure text input objects (password fields)

Type into phone pad objects (phone dialer UIs)

Access selected text

Access the device microphone

Use the system keyboard switching popup

Aside from microphone access, secure input fields, and phone pad objects, I’d like to see Apple add support for everything else in iOS 10. More importantly, I’d like to see their performance improve. Here’s an example: when you swipe down from the Home screen to open Spotlight, Apple’s keyboard comes up with a soft transition that’s pleasing on the eye; if you do the same with a custom keyboard, the transition is always jarring, and it often doesn’t work at all.2

I struggle to understand the position of those who call custom keyboards “keyloggers” because, frankly, that’s a discussion we should have had two years ago, not as soon as Google launches a custom keyboard. Since 2014, hundreds of companies (including Microsoft and Giphy) have released custom keyboards, each theoretically capable of “logging” what you type. That ship has sailed. Apple has featured Microsoft’s Word Flow on the front page of the App Store and the entire Utilities category is essentially dominated by custom keyboards (and has been for a while). Every few weeks, a new type of “-moji” celebrity keyboard comes out and sits at the top of the Top Paid charts.

I think it’s very unlikely Apple is going to backtrack on custom keyboards at this point. It’s not just Google – clearly, people find custom keyboards useful, and Apple is happy enough to promote them.3

The way we communicate and work on iOS has grown beyond typing. Despite their limitations, custom keyboards have shown remarkable innovations over the past two years. With more privacy controls and some API improvements by Apple, they have the potential to work better and look nicer going forward.

Not necessarily via Siri, so Google could use their own dictation engine in Gboard, for instance. ↩

I’ve had multiple instances of iOS being “stuck”, unable to load a custom keyboard or switch back to the Apple one. ↩

Unless, of course, it’s Gboard, which got no feature whatsoever this week, though it’s currently the #1 Free app in the US App Store. ↩