This is something I've not blogged about because, well, I've not been blogging much of late. I think, however, that it's time to introduce this project officially-at least, as officially as anything here truly is.
Android 1.6, released last September, included the beginnings of an accessibility API. Unbeknownst to me at that time, Google had already provided a basic screen reader taking advantage of this support and offering basic speech feedback for much of the phone's OS. Had I known that, I may not have begun work on
Spiel. But, as it happened, I begun work on my own screen reader project and had a basic version up and running in a bit over a week.
Spiel began life partially out of my ignorance of TalkBack, Google's own screen reader, and partially out of my desire to learn the
Scala programming language. Soon, however, it developed features that left TalkBack behind.
Chief among these is scripting. Accessibility is tricky for third party app developers to get right. In an ideal world we'd all know how to develop accessible applications, and would display the same dedication for accessibility as is commonly found with i18n. Realistically, however, controls aren't labeled, correct events aren't fired and the experience is less than optimal. For apps that aren't quite accessible, the ability for screen reader users and vendors to script the mechanisms by which the app is presented can prove invaluable.
Spiel currently exposes facilities for hooking into event presentation, as well as a simplified text-to-speech API. This makes it possible to present certain controls differently, or not at all. Currently this support is rather limited, and isn't yet exposed to the end user. It is, however, better than nothing, and I do plan to improve upon it as the accessibility API becomes richer.
Speaking of, the accessibility APIs Google provides are fairly limited for the moment. I've seen comments from engineers that this support is slated for improvement in upcoming Android versions, however. What I can accomplish today is somewhat less than I'd like, but I think that I've done quite a nice job with what I have, and hope to do more as soon as I can.
So why not improve TalkBack? First, because I really dislike Java and find Scala a far superior language. I'd also like the freedom to develop without the restrictions imposed upon me by having to work within Google's processes. Sure, I've no doubt that patches would be welcome, but I have my own vision for how Spiel will work, and would like to explore that with fewer constraints.
That said, I welcome patches and collaboration. See
the website for ideas on how, and watch
this space for more Spiel updates.
This post has been sitting in my drafts for quite some time now, but seeing as today marks the
release of version 0.8.0, there's really no excuse for not mentioning it here.
Mirrored from
TheWordNerd.info.