head shot of Peter Korn
Peter Korn's Weblog
The collected occasional commentary by Peter Korn, Accessibility Architect at Sun Microsystems, Inc.
Large Print   

20070328 Wednesday March 28, 2007

One (Accessible) Laptop Per Child - or per user with a disability

[Warning: another long post!]

Last month I posted in response to Chris Hofstadter's interview in AFB AccessWorld about the high price of AT products for the blind. As promised, I'm going to continue a thread I started at the end of my posting - a different approach to developing AT that is lower cost and more stable. But first, a digression...

In the AccessWorld article, Chris Hofstadter stated that sales of all screen readers from all companies is 2,000 month. That works out to 24,000 a year. Since the first Windows screen readers came out in 1993 (14 years ago), if we (somewhat generously) assume that sales have increased at a steady rate from 0, that is a total sales of 168,000 Windows screen readers. Make the further simplifying assumption that these sales serve 2/3rds of the users (half of the users only ever had one screen reader their entire life, the other half tried more than one over the 14 year period), and we have 112,000 blind people served by screen readers, having access to a computer and the Internet.

112,000 seems like a lot of people, and it is. But it is only a small fraction of the number of blind people who could benefit from this critical technology. Hard numbers are difficult to come by, but roughly speaking in the Western World, roughly 1 person in 1,000 is blind and could benefit from a screen reader. If we assume that these 2,000/month screen reader sales are only in the U.S., Canada, Australia, New Zealand, and Western Europe (the places where JAWS and WindowEyes and Supernova and ZoomText have been localized and run in the native languages), we are looking at a total blind population of roughly 7.2 million people. In other words, the commercial screen reader world is managing to serve at best only 15% of the potential market (again, making lots of assumptions in their favor). Now, there are some blind users running on Macintosh, and even some on UNIX (a certain Orca screen reader comes to mind, along with BRLTTY and other Linux console screen reader options). But those represent only a tiny fraction of Windows sales. So let's make a further, generous assumption that the commercial Windows space represents three quarters of the total number of screen reader users. That means we are at best serving only 20% of the potential blind users in the Western World. Remove babies and folks who are of an age that they aren't comfortable with learning this newfangled computer thing, and we will again, generously increase the figure to 30%. And this is in the wealthy West - in places like the U.S. where we have a fair amount of social services, and in Germany and The Netherlands where AT is often purchased for citizens who can demonstrate a need for it.

With all of these generous assumptions, that still means that at least 7 people out of 10 blind folks in the West who could be benefiting from access to technology aren't able to do so. It should be no surprise that the unemployment rate among the blind in the U.S. is 70% - so few blind folks have the opportunity to get the skills to learn how to use a computer. And jobs that involve computer use are some of the most attractive options for the blind (things like professional race car driving haven't panned out I guess...). This also explains why in places like China, the typical job prospect for the blind is massage therapist...

As was noted in the AccessWorld interview with Chris Hofstadter, screen readers cost a lot of money. And as I noted from my recent trip to Brussels, when you get to Europe that may get multiplied considerably. When you are unemployed, $300 for a computer can be an issue; spending 3-10 times more than that for software that lets you use the computer may be nearly impossible.

To finish this digression and get back to fulfilling my promise of sharing thoughts on changing this, I will observe that the approach to getting access solutions to all who need them is perhaps the same approach to making the One Laptop Per Child program accessible. (sorry, another brief digression...)

For folks who haven't met this yet, the One Laptop Per Child initiative is an attempt to provide an inexpensive laptop to enable the nearly 2 billion children in the developing world to "learn learning", with a dramatically smaller investment per pupil than in the West. If we assume the same ratio of 1 blind person per thousand of the West holds in the developing world's children, we are talking about 2 million blind children who need a screen reader if they are to benefit from the OLPC project. 2 million dwarfs by more than an order of magnitude the 112,000 blind folks we've managed to serve in Windows after nearly a decade and a half of working on it.

Getting back to Chris Hofstadter's interview, the key thing I think he was trying to say is that the money spent on screen readers at the retail level is ten times the actual engineering development cost for them. As I noted, such a 10x cost multiplier is totally logical. But software isn't like hardware. It doesn't cost significantly more to make one more CD the way it costs to make one more whole computer. And if the software is something that resides on the hardware of the computer you are shipping, it costs essentially nothing to ship one more - incremental cost is free for the bits that are pre-installed on the computer. [this, by the way, is why Microsoft enjoys such huge profit margins; they provide very little tech support for Windows when bundled with a PC, but they get $50 to $100 or more for every copy of Windows that ships with a PC]

Returning to our calculator, assuming 224,000 total sales of Windows screen readers, $800 retail price per screen reader and $80 of that retail price going to development costs. That's a total engineering investment in Windows screen reader development over the last 14 years of just under $18 million. Divide that by 4 (4 main screen readers: JAWS, WindowEyes, Supernova, ZoomText [which technically speaking is really a screen magnifier]) and you get roughly $4.5 million to develop a screen reader, on average. This is of course a rough number; some screen reader vendors are returning a profit, others a loss. But as a very rough figure, this seems pretty reasonable. Another way to estimate this is to assume an average of 4 folks on the development staff, costing my low estimate from an earlier post of $75,000 year in salary & benefits & such, working for 14 years. These assumptions yield a cost of $4.2 million. Now, most screen reader staffs have grown over time (they don't all start out with 4 folks), and salaries grow over time, but these figures aren't taking into account costs of equipment and facilities. So, overall, $4.5 million continues to seem like a fairly reasonable number.

But if we are bundling a screen reader with every computer (of "average Windows screen reader quality, as developed over the last 14 years"), then it doesn't matter whether we provide this to one blind child or 2 million blind children. The cost to develop it is essentially the same (with some additional costs per language to develop text-to-speech and translate the documentation). Of course, $4.5 million divided by 2 million children works out to $2.25 per blind child served (if we manage to reach all of those children with OLPC; a rather large assumption!).

Nonetheless, the point holds: with relatively fixed development costs and a model that doesn't charge incrementally for software but instead bundles it with the computer (and so eliminates costs of sales and marketing and accounts payable/receivable and shipping and all the rest), we can reach a lot more people at a dramatically lower cost.

And now we need to examine that $4.5 million development figure. We've learned a lot over the last 14 years of Windows screen readers - about what is important in a blind user interface, and what is a good (and not so good) technique for interacting with the web and with a spreadsheet. We have more powerful programming languages like Java and Python, that run in virtual machines with exception handling and garbage collection - features that eliminate whole classes of programming bugs (and the resultant programmer time devoted to tracking down those bugs and fixing them). And if we are prepared to move to environments like UNIX with the UNIX/GNOME accessibility framework (or Macintosh with its accessibility framework) which remove the need to devote huge amounts of programmer time to reverse engineering the operating system and applications, we again save a ton of programmer time and development expense.

So let us now assume that a more powerful development environment saves us 30% of our development time; and the need to reverse engineer saves us another 30%; and because we already know what works and what doesn't, we can get to the same, "average Windows screen reader" level of quality in half the time. 70% of 70% of 50% of $4.5 million gives us a new development cost of about $1.1 million. Let's be generous and round it up to $1.5 million. And now, let's look at Orca -> less than 3 years with an average of around 2.5 people working on it over its lifetime. Given its rapid progress and its increasing closeness in functionality to the "average Windows screen reader", it seems well on track to deliver within that envelope. Back to our rough calculation: $1.5 million for nearly 2 million blind children gets us down to around 75 cents/child.

And this now leads us, finally (and exhaustively) to what I believe is the answer to the "different approach" I hinted at last month:

  1. We must make a clean separation of responsibility for accessibility, offloading the job of obtaining the information the assistive technologies need from AT developers (who will no longer have to reverse engineer mainstream software to obtain it)

  2. We must further make it easy for mainstream software to provide this accessibility information by having the OS/platform define accessibility APIs, and developers of graphical toolkits implement those APIs in the toolkit so they can be re-used by mainstream software

  3. We should bundle AT software with the OS/platform (either as Apple has done with their screen reader VoiceOver, or as Sun and Ubuntu and others are doing with open source AT software on our UNIX platforms)

  4. We should then fund AT development through a new combination of sources, replacing our current Windows commercial model:

    • OS/platform vendors develop some AT themselves that they bundle with their OS/platform

    • OS/platform vendors fund development of open source AT (sometimes funding with cash, other times funding by having paid folks on their staff developing the open source AT)

    • Large "customers/users" fund improvements to open source AT to add features needed by their users, or they have folks on their staff develop those improvements (in lieu of buying commercial AT like the average $800-$900 screen readers)

    • Disability organizations fund improvements to open source AT or develop AT directly

    • Commercial AT vendors fund improvements to open source AT or develop AT directly in order to bundle that software with their hardware, and then sell the bundle

    • Grant organizations fund development of or improvements to AT as an inexpensive way to help lots of people who need technology access

    • And finally, individual users of AT, and folks who care about accessibility, may contribute their own time or money to develop and improve open source AT

Long-time readers of this blog will notice that this is exactly what we are doing in UNIX. Sun led the development (and did the overwhelming majority of the code-writing) of an open source accessibility framework for the graphical GNOME environment for UNIX. We further led the development (and again did the overwhelming majority of the code-writing) of support for that framework in the GTK+ and related GNOME UI toolkits, and in the Java Swing toolkit, and in the UNO toolkit (used by StarOffice, OpenOffice.org, and IBM's Lotus Notes 8), and the XUL toolkit (used by Mozilla and Firefox and Thunderbird). Together these graphical toolkits are used by thousands of open source and commercial software products, including major applications from Sun and IBM and Oracle and SAP and Adobe (among many others).

Moving to the AT space, Sun helped fund the development of the first graphical screen reader Gnopernicus. We funded most of the development of the GNOME On-screen Keyboard. We paid our own engineering staff to write Orca. Dasher is funded largely by the Gatsby Foundation. At the same time, improvements to Orca have come from ONCE (the Spanish National Organization for the Blind). And BAUM has funded Gnopernicus development, and funded improvements in Orca (helps sell Braille displays, and can be bundled with Linux underneath a reading machine). And individual blind users and trainers for the blind have contributed to Orca. Meanwhile others in the community developed BRLTTY, which is not only its own console-based screen reader for UNIX, but also the path by which Orca supports over 50 Braille displays. Still others in the community have developed open source text-to-speech engines for a variety of languages. And further, the open source community has translated and localized these AT products to a large set of languages - including many languages not supported by the main commercial Windows AT vendors.

And as a result, we are building a real accessibility ecosystem in open source UNIX. One where accessibility is developed by a community of folks who care about it. One where the software for accessibility is built into the platform, at zero additional per-unit cost. And one where accessibility is improving at a faster pace than in the commercial world (which is still busy maintaining old code in C/C++ with all of its memory management headaches, and still spends a huge portion of its development time reverse engineering every new release of Windows and MS-Office).


Astute readers will note that there is one thing I blithely glossed over - technical support. Just because the screen reader or other AT is built in doesn't mean that its operation is intuitively obvious, that it has been thoroughly tested with all possible software, that it is bug-free. If folks need support, whoever provides it for them should have their time compensated. But when you look at the support agreements for Windows AT today (and in fact, for most software), only a small amount of support is covered in the purchase price anymore. Anything beyond initial support must be paid for separately. So we are still pretty much "comparing apples to apples" here; we just need to make sure that as more people with disabilities use computers - as we grow the blind screen reading population from 110,000 to 2,000,000 - we also provide a support infrastructure for them. In some cases that support will come from whomever provides the platform (Apple for VoiceOver, Sun and Ubuntu for Orca and Dasher and GOK), with whatever support pricing options they provide. In other cases support will come disability organizations (ONCE supporting blind Orca users in Extremadura and Andalusia in Spain). In still others it will be purchased from specialized AT support organizations (as the Social Security Agency does right now for JAWS support). In yet still others, it will come "from the community" (Joanie Diggs and other community members providing e-mail support for Orca to eachother on the Orca users mailing list). For something like the OLPC, the support infrastructures being developed in the countries adopting OLPC will need to also support accessibility.

And in this fashion - and I truly believe in only this fashion - we will be able to provide an accessible system to at least everyone with a disability who can be served via software accessibility solutions.


P.S. if you are interested in OLPC accessibility developments, we've just started the OLPC wiki page and also the OLPC accessibility discussion mailing list. (2007-03-28 21:36:45.0) Permalink


archives
links