[raspberry-vi] Re: A low cost Raspberry based computer for the blind (Amanda and Rich)

  • From: Rich Morin <rdm@xxxxxxxx>
  • To: raspberry-vi@xxxxxxxxxxxxx
  • Date: Sat, 5 Aug 2017 12:30:08 -0700

Before I jump into specific responses, I'd like to thank everyone who has
jumped in (or even followed the discussion).  Great stuff, folks!

The responses fall into a number of categories, including alternatives,
hardware and software selection, user interface, and project organization.
Of course, these are all intertwingled, but I'll try to tease them apart...

-r

# Alternatives

David asked "Why Raspbian rather than Android?".  Jeffery's response is
cogent and detailed, but there are a few points I'd like to emphasize:

Although Android is based on Linux, it has been heavily modified, restricted,
etc.  It's not a completely walled garden like iOS, but it has a lot of the
same characteristics.  I'm not interested in wrestling with these issues, so
an open source OS such as Raspbian Lite seems like a cleaner starting point.

There are a gazillion devices that run some flavor of Android.  Each one has
its own hardware peculiarities, which our software would have to deal with.
Contrariwise, I don't know of any Android devices with GPIO pins, let alone
example code, support libraries, and so forth.

# Hardware and software selection

Perky's base hardware and software choices are still in flux.  The RasPi is
inexpensive and popular, but it's not the only possibility (and other boards
will no doubt come along).  Also, there are dozens of operating systems that
could be used.  That said, I'll assume that we are talking about:

- Raspberry Pi 3 Model B and/or Zero W
- control panel (eg, buttons, sockets)
- power source (eg, USB-based Power Bank)
- Raspbian Lite, plus selected add-ons
- support software (eg, button handlers)
- custom applications (e.g., Morse code)

The Zero W is no speed daemon, but text-based user interfaces aren't as hard
to support as GUIs, so it could be Just Fine.  Then again, to support things
such as The vOICe and speech generation, having more cores and more RAM could
be a big win.  So, the real question is whether the result seems "perky" (:-).

The 3B's many sockets (audio, 10/100-BaseT, multiple USB) could be very handy
for use in a desktop scenario.  However, Perky's control panel could support
an audio jack and any other sockets that seem justified.  Fortunately, there's
no reason we can't prototype (or even produce) multiple versions, eg:

- Perky Pup - Raspberry Pi Zero W
- Perky Pro - Raspberry Pi 3 Model B

We have a pretty good start on a wish list of add-on software.  I'd like to
fill this in with more categories and packages, then implement the result as
a set of configuration files.  I'd like to see at least three default setups
(eg, minimal, standard, deluxe).  And a pony.

# User interface

The current design for the control panel has two rows of eight chordable 
buttons.
The interpretation of each button can be dynamically configured.  This should 
let
us support 6 and 8-dot Perkins, Morse code keys and paddles, etc.  It should be
easy for a user to select among existing interpretations and any programmer 
should
be able to hack on the interpretations, trying out user interface ideas, etc. 

For that matter, a motivated and competent hardware hacker could add other 
controls.
Sixteen buttons can be handled by 16 (or even 8) GPIO signals; that leaves lots 
of
pins free for other purposes.  For example, what about adding a rotary encoder?

# Project organization

I've been involved in FOSS for more than three decades.  For example, I edited 
Sun
User Group tapes back in the 80's and published a series of book/CD collections.
So, I have a pretty good idea of the requirements for a successful FOSS project.

Fortunately, the FOSS community has found ways to institutionalize and mechanize
a lot of what is needed.  By determining (and mostly following) the Golden Path,
we should be able to create convenient and effective project infrastructure.

My plan is to start with local development, publishing releases to GitHub and/or
Debian's apt-get repositories as appropriate.  It also seems reasonable to use
the Debian build toolchain.  If anyone here has chops in these technologies and
is willing to be a resource, please let folks know.

Getting from a prototype to a production version is a major undertaking.  It 
will
need management skills that are not my strong point.  For example, developing 
and
executing a successful Kickstarter campaign is a LOT of work.  If David or 
anyone
else wants to jump in here, welcome!

 -- 
http://www.cfcl.com/rdm           Rich Morin           rdm@xxxxxxxx
http://www.cfcl.com/rdm/resume    San Bruno, CA, USA   +1 650-873-7841

Software system design, development, and documentation


=========================================================== 
The raspberry-vi mailing list 
Archives: //www.freelists.org/archives/raspberry-vi
Administrative contact: <mike.ray@xxxxxxxxxxxxxx>
-----------------------------------------------------------
Raspberry Pi and the Raspberry Pi logo are trademarks of the Raspberry Pi 
Foundation.

This list is not affiliated to the Raspberry Pi Foundation and the views and 
attitudes expressed by the subscribers to this list do not reflect those of the 
Foundation.

Mike Ray, list creator, January 2013

Other related posts: