The BT Speak (blazietech.com/bt-speak-pro), particularly in its "traditional" (non-GUI) mode, takes such an interesting approach to implementing a UI specifically for blind people.
From the mid 2000s until I got my BT Speak, I thought the only viable options were to either implement a screen reader for a GUI, or implement a fully custom UI designed specifically for speech output and whatever kind of keyboard or keypad the device supports. The BT Speak does neither. 1/?
reshared this

)
Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •The BT Speak's central application is an editor, a modified version of GNU nano. Now, nano is under the GPL, so I guess I'd be entitled to share *that* code if I wished.
The other key component is what looks like a home-made terminal multiplexer, similar in function to screen or tmux, but tailored for the BT Speak UI. So, according to the ps command (which I can run while accessing the device via SSH), that runs on tty1, and the editor runs on pts/0. 4/?
Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •The Python script uses a "dialogs" Python module, which is also directly used by some other programs that are written fully in Python. The BT Speak system is quite polyglot. ui-main and the libraries it uses are in C. As I said, there are several shell scripts. And there's another program I'll get to later which is in Tcl.
I'll write more about this dialogs module after I've studied it. 11/?
Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Martin from Toronto
in reply to Matt Campbell • • •Matt Campbell
in reply to Martin from Toronto • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •I could go deeper on various things that I've discussed on this thread. But I think I'll just briefly discuss the software update process and wrap up with some closing thoughts.
The update process pulls from the private GitHub repository (using an authentication token, presumably a read-only one, that can easily be found on the device), then does several steps (announcing each one), including installing Raspbian packages and compiling some things on the device itself. Then it reboots. 21/?
Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Glyph
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Matt Campbell • • •I hope that many blind kids have BT Speak units bought for them in the years to come. It seems to me that the openness of the software in this device (in practice, if not in license) could help future generations of blind hackers get their start. 25/25
(At least, I think this is the end of the thread.)
David Goldfield reshared this.
Matt Campbell
in reply to Matt Campbell • • •Jayson Smith
in reply to Matt Campbell • • •Tech Singer
in reply to Matt Campbell • • •Matt Campbell
in reply to Tech Singer • • •Matt Campbell
in reply to Matt Campbell • • •Tech Singer
in reply to Matt Campbell • • •Martin from Toronto
in reply to Tech Singer • • •Matt Campbell
in reply to Martin from Toronto • • •miki
in reply to Matt Campbell • • •Matt Campbell
in reply to miki • • •@miki The origin Git remote is configured to pull from GitHub via HTTPS, with a token embedded in the URL in .git/config. No, I won't share the token. I presume it's read-only but don't wish to test that.
The first line in /home/pi/.bash_history is:
/BTSpeak/Tools/prepare-for-shipping -a
Haven't gone looking at other dotfiles.
miki
in reply to Matt Campbell • • •Come to think of it, this is actually not a great idea.
If they need / are forced to ever revoke that token for any reason, if it expires, or if Github changes their authentication mechanism, the devices are pretty much FUBAR and will need a far more arduous process to make them updatable again.
Steve
in reply to Matt Campbell • • •Matt Campbell
in reply to Steve • • •Martin from Toronto
in reply to Matt Campbell • • •Matt Campbell
in reply to Martin from Toronto • • •miki
in reply to Matt Campbell • • •I've always wondered whether you could do something like that, but with Emacs and a hypothetical "Braille notetaker mode".
It seems like the perfect piece of software for that kind of device.
Andre Louis
in reply to Matt Campbell • • •Jayson Smith
in reply to Matt Campbell • • •Matt Campbell
in reply to Jayson Smith • • •