iOS 8, Accessibility, and Third-Party Keyboards

In the overview I wrote for MacStories of the new Accessibility features of iOS 8, I said this about the operating system’s support for third-party keyboards:

This topic (as well as QuickType) is worthy of its own standalone article, but the accessibility ramifications of iOS 8’s third party keyboard API are potentially huge for those with special needs.

Four months later, that statement still holds true.

Over the past few weeks, I’ve been using two such keyboards — Fleksy and Keedogo — in an effort to not only simply test-drive a new feature, but also to gauge the accessibility merits of the keyboards. While I’ve found Fleksy and Keedogo to be fine in terms of accessibility, even in the midst of testing them, I’ve found myself going back to Apple’s stock keyboard. In the end, that I don’t use any third-party keyboard as a replacement for the default one on my iOS devices is no fault of either developer — it’s Apple’s.

Before explaining why it’s Apple’s fault, though, it’s important to discuss the virtues of Fleksy and Keedogo.

Fleksy

At this year’s WWDC, I had a chance to sit down with Fleksy co-founder and COO, Ioannis Verdelis, to talk about his company’s product, and what the then just-announced keyboard APIs would mean for it. Verdelis spoke effusively of the opportunity to play with the new APIs, and we agreed that Fleksy would be a huge accessibility win.

In my time using Fleksy on my iPhone 6, I found our prediction to be prescient: visually, letters and numbers are big and high contrast, thanks to the black background. I had no problems typing on the keyboard using my usual hunt-and-peck method. As well, finding keys for punctuation and emoji was easy too. One other nicety: the Shift key goes black to denote that Caps Lock is on, which is a much better signal than the one Apple uses.

My criticisms of Fleksy are twofold: (1) The visual cues you get when tapping a key is too subtle for my taste — when you tap, say, the A key, all you see is a short “bounce” animation that, to my eyes, is hard to pick up. I much prefer Apple’s animation, where a large letter “jumps out” at you as you type. And (2) I don’t appreciate how Fleksy alerts you with a message to use the 123 key to access numbers and punctuation every single time you bring up the keyboard. I understand the intent is to be helpful (especially to first-time users), but otherwise I wish they wouldn’t bother with it, as it’s jarring to me.

Keedogo

Keedogo is an interesting app, as the keyboard is designed for iPad for elementary-aged children. I was alerted to the app by AssistiveWare founder and CEO, David Niemeijer, who described Keedogo to me as “…designed for elementary education through a focus on simplicity, early literacy development and accessibility.”

My background is in special education and early childhood development, and I’ve found Keedogo to be quite good. The former educator in me appreciates the ways in which the keyboard appeals to children. It’s loudly colorful, and certain keys (e.g., Backspace, Return) are color-coded so as to make differentiating and identifying said keys easier. Developmentally speaking, not only can Keedogo aid in learning how to type, but it’s a good tool with which to build early literacy skills (i.e., letter and number recognition), and even help in fine-motor development too. I can see parents and/or those in educational settings replacing the stock iOS keyboard on their iPads with Keedogo; it looks and feels very similar to the stock keyboard, yet I think it’s more visually approachable to children. Keedogo can invite them to type.

If there are two things that I, as an adult, don’t like about Keedogo, they are that I’m not a fan of the font and no emojis. To the target audience, however, these complaints mean next to nothing.

For as much as third-party keyboards such as Fleksy and Keedogo offer users, in my mind Apple’s implementation of them — at least, currently — really put a damper on their appeal and handcuff their usability. At this point, the downsides outweigh the upsides; right now, I can’t foresee, say, Fleksy replacing the default keyboard on my iPhone in the same way that a third-party calendar app like Fantastical has replaced the built-in Calendar app.

This is, as I said at the outset, Apple’s fault.

The biggest problem I see with third-party keyboards as they’re supported by iOS today is technical: installation and management. It’s a bit of a pain to get a keyboard active, even for tech-savvy users like myself. You must:

Download the “app” from the App Store (more on this below)

Open Settings, then navigate to General > Keyboards

Find the keyboard and enable it

Then to switch between keyboards, you have to tap and hold the globe icon from the system keyboard and scroll through them. But add too many in your zeal to see what developers are doing with the new functionality, and your list of keyboards can quickly become unwieldy. Furthermore, the fact that each keyboard is its own “app” that you get from the App Store is also messy. For one thing, the app doesn’t do anything upon launch except give you the aforementioned instructions on how to install the keyboard, as well as basic settings (themes, etc). Secondly, that keyboards install on the Home screen alongside “regular” apps seems inelegant and untidy. Personally, I stash all my keyboard apps in an aptly-named “Keyboards” folder; doing it like this is I think the best way to combat the clutter.

Obviously, Apple has made third-party keyboards work in this manner because it’s easiest for the average user. I don’t know of a better way Apple could handle this, but the nerd in me is disappointed by the setup as it stands right now.

The second problem with Apple’s implementation of third-party keyboards is they don’t have all the bells and whistles that the system keyboard does. To wit: no access to dictation or autocorrect; neither do they have access to the tap-and-hold-the-globe-button gesture to switch between keyboards. As well, switching from a light to dark keyboard for day/night, and using the UIKit blur effect is also disallowed by Apple.

All in all, the limitations that Apple imposes on developers rolling their own keyboards make them less attractive to customers.

When it comes down to it, for me, the best way to view third-party keyboards is as supplements to the default iOS keyboard (unless you truly can’t function without an alternative keyboard). To this point, I only regularly use one third-party keyboard: David Smith’s Emoji++. It’s one of those utilities that does one thing and does it exceptionally well, and I enjoy it very much.

On the positive side, the sheer fact alone that iOS 8 does support third-party keyboards is a huge accessibility win. iOS 8’s system keyboard has relatively low contrast, which, until iOS 8’s release, was only bettered by turning on Bold Text in the Accessibility menu. For visually impaired users, a third-party solution like Fleksy or SwiftKey (with its dark and light modes) may very well be a saving grace, usability-wise. Likewise, Keedogo seems ideal for iPads in the classroom.

Apple deserves credit here as well, despite my misgivings. First and foremost, it’s good for the platform as a whole that iOS is being more “open” than ever before. Developers have come up with some neat ideas for keyboards, both useful and whimsical — for example, TextExpander Touch and, yes, even a Klingon keyboard. Secondly, as stated above, the fact that alternative keyboards exist at all is a huge accessibility win for those who need them.

My hope is that in iOS 9 and beyond, Apple will relax some of their limitations to make third-party keyboards even more powerful and attractive. Generally speaking, however, third-party keyboards feel primitive and hamstrung by App Store regulations. Because of this, I truly don’t believe you can do any better than the keyboard that comes with iPhone and iPad. That being said, for those whose absolutely can’t use the stock keyboard for visual reasons, I wholeheartedly suggest looking into something like Fleksy and SwiftKey. If one of these apps means easier typing on one’s device(s), so much the better.