The Knoppix distribution goes back in time, to the era of text menus, to provide an interface for computer users who are blind.
Remember back when computers were driven mostly by text menus? Press:
[Y] Yes, I remember.
[N] No, that was before my time.
[U] Unknown. Seems familiar but it's hazy.
Enter your choice here: _
Yes, that sort of thing.
This isn't a trip down memory lane, but a proof of concept; this method of computing actually worked, and it worked well for many years. It was less asynchronous than modern interfaces, but that was largely because of random access memory constraints and CPU cycles than design. Once RAM became affordable and CPUs got more powerful, a proper Unix shell with the ability to launch subshells made the user experience more fluid than ever.
This old system of computing worked so well that many people strongly resisted the idea of a graphical make-believe "desktop" that they would have to interact with. Some people still do resist that idea; some are efficiency-obsessed Unix geeks, and others are people who cannot see the pretend desktops because they are blind.
It is the latter group that the venerable Knoppix distribution targets with its ADRIANE user interface.
Knoppix and ADRIANE
The Knoppix Linux distribution has existed since November 2000. It quickly grew in popularity because it was one of the first live operating systems available; you could boot from a CD and use Linux without actually installing it. The disc itself could be your operating system, as long as you saved your data to a hard drive or to a network share. At the time this was a groundbreaking idea, and it still is, given the lack of any such paradigm for non-open source operating systems (even an OS that has since developed a live-like environment for maintenance doesn't intend for you to use that boot disc as your OS).
Since live booting has become common, the clamour about Knoppix has died down, so the Knoppix team have not received much attention for developing a user interface based entirely on sound rather than visuals. It is specifically targeted at blind computer users, and is deliberately welcoming to non-technical users. This interface is called ADRIANE: Audio Desktop Reference Implementation and Networking Environment.
As is the case with many operating systems, Knoppix and ADRIANE are probably not installable, at least not easily, by a blind user, because to get into ADRIANE a boot argument must be provided, and there is no audio prompt telling a user when the computer is ready for that. To be fair, I have yet to see a computer with blind-accessible BIOS (some EFI implementations are better), so getting a computer to boot from install media in the first place can be tricky.
To boot straight to ADRIANE rather than a traditional graphical desktop, enter the string
at the bootloader, and then press the Enter or Return key.
If you're installing Knoppix on the behalf of a blind user, this boot option can be pre-configured post-install so that the user doesn't have to type it in each boot, making the system self-sufficient.
ADRIANE is, simply, a menu system. By default, it offers:
- Internet access through the ELinks text web browser.
- Text recognition from scanned documents.
- Multimedia playback, plus a custom YouTube interface.
- Text editing with a custom interface built around GNU Nano.
- File management.
- Contact management.
- SMS text messaging, for phone and service providers that support it.
- Settings for all the usual computer preferences (volume, network, email settings).
- Graphical fallback when a traditional screen reader is required.
ADRIANE has additional customizations.
The first option in the ADRIANE menu is the HELP screen. This explains some of the extra navigational options of ADRIANE, mostly centering around the Caps Lock key. For instance, the Caps Lock + Spacebar prompts ADRIANE to read the current line (which ADRIANE does by default, but if you want to force a re-read, that is how it is done). Caps Lock + Up Arrow prompts ADRIANE to read the previous line, Caps + right arrow reads the current line character-by-character, and so on.
Normal navigation is as you would expect, using the arrow and Enter keys.
In a way, the overall design sensibility of the ADRIANE interface shares as much with old style text menus as it does with modern smart phones. For instance, the main ADRIANE menu serves as a kind of Home Screen, with the Escape key serving as a kind of universal Back button. To anyone who has used a web browser or a smart phone, the interface is familiar even though it is entirely unique to Knoppix.
The applications underpinning ADRIANE are familiar to a daily Linux user. The text editor, for example, launches to a custom notepad-style management system. The default option is to create a new note, then GNU Nano launches, and you can write and edit in a fairly familiar and intuitive environment. Ctrl-x exits Nano and returns to the note manager, with options to edit the note that you've just written or start a new one. As always, the Escape key takes you back to the main menu.
Similarly, the email application is the popular keyboard-driven Mutt client, but its famously complex configuration is handled by ADRIANE Settings, with presets for popular email providers.
The result is a usable system with a custom audio interface that still uses familiar and well-supported applications. With the custom Caps Lock-based shortcuts, the system is cohesive and unified in ways that normally would not be achieved by randomly stringing applications together.
ADRIANE is a great interface with a solid plan for design and functionality. In a way, it reduces a computer down to a minimalist device tuned for the most common everyday tasks, so it might not be the ideal interface for power users (possibly an Emacspeak solution would be better for such users), but the important thing is that it makes the computer easy to use, and tends to keep the user informed every step of the way.
It's easy to try, and easy to demo, and Knoppix itself is a useful disc to have around, so if you have any interest in low-vision computer usage or in Linux in general, try Knoppix and ADRIANE.