[Python-ideas] Accessible tools
Stephen J. Turnbull
stephen at xemacs.org
Fri Feb 20 01:53:09 CET 2015
Executive summary:
Emacs's underlying design is very close to what you're talking about
already, and many (most?) of the features are already in place.
Bryan Duarte writes:
> A professor and I were discussing the idea of creating a completely
> text based IDE for blind developers.
This "text-based IDE" has existed since the early 1980s. Its name is
"Emacs." T. V. Raman, an ACM Fellow, former IBM and current Google
senior researcher, is the author of Emacspeak, which is a an audible
interface to Emacs. Emacsspeak goes back to the late 90s at the
latest, and Raman pops up on the Emacs devel lists every so often to
suggest or contribute improvements to Emacs itself that focus on the
UX for blind users (as he is, himself).
Emacs has most of the features you're talking about in some form
already. I admit it is questionable whether the quality is up to the
standards of Eclipse or Xcode. For example, Emacs's completion
feature is currently not based on the full AST and so doesn't come up
to "intellisense" standards. However, Emacs developers are working on
that, and Emacs already does have enough syntactic information about
programs to provide "not-quite-intelli-sense".
Emacs has a generic text-property feature, which is used by its native
IDE, called "CEDET", to mark program block structure. I don't know if
CEDET knows about Python for your purposes, but it is based on a
generic parser called "semantic", so it wouldn't be hard to teach it.
Emacs also has a separate Python-mode which may already have expand/
collapse functionality (I don't use it in any mode). Emacspeak
provides a high quality audible "screen" from what I've heard from
Raman on mailing lists. If you have a favorite editor that isn't
Emacs, such as vi, Emacs provides emulations of the keystrokes, often
quite faithful. vi has several competing emulations, and there are
quite a few oddballs too. (Recently somebody protested vigorously on
the Emacs lists against plans to remove the TPU emulation!!)
Emacs is not to everybody's taste. But its underlying design is very
close to what you're talking about already, and most of the features
are already in place. Please look at it.
More information about the Python-ideas
mailing list