Mario Lang writes: well said. Returning to chess.el, Mario wrote a Braille interface -- a year ago I added the audio-formatted extension using the same library from John that Mario used -- and what is nice is that you can use all 3 user-interface modalities, or any one of them and it's entirely transparent as to what you use. A lot of baggage gets applied today when folks talk about "Accessibility", but to me the touch-stone of a truly Accessible system is one where you dont have to ask what interaction modality someone else is using e.g. witness email, where the persons participating in a conversation never need ask "Did the person I am talking to use Braille, speech, or something else", similarly, someone who has a hearing impairment can send you email without you ever needing to know that he cant hear you. --Raman > Hi. > > To me, there is one thing that Emacs implements that no other program I > know of manages to do. I seldomly hear this property mentioned by > anyone else, so even if it scratches OT-ness, I wanted to get this out > to people to ponder over, or even be proud of. > > Emacs is the only serious program I know which manages to be truely user > interface independent, in addition to being platform-independent. > Emacs works with graphical toolkits on all major platforms, > but also offers a almost-feature-complete text interface. > With Emacspeak, it even has a (non-mainline) audio interface (speech > synthesis as a UI). > And I am not really talking about Emacs as just an editor. > I am seeing Emacs as a platform to write "apps" in Emacs Lisp. > These "apps" (we usually call 'em special modes or just interactive functions), > if constructed according to established Emacs Lisp APIs, > will be useable across all major platforms *and* user interface modalities! > > To give a concrete example to highlight what I mean, consider chess.el. > John Wiegley originally wrote chess.el with different types of board > styles. A graphical board which makes use of bitmaps, and actually two > text mode board for use with emacs -nw. He did that because as an Emacs > Lisp developer, one naturally thinks about how to best support emacs -nw > more or less automatically. At the time, I was looking for a text mode > user interface to play chess against engines and online. I was able to > make use of all of johnw's hard work in a way quite different to how I > suppose he is usually running Emacs. We didn't need to "port" anything > over to a text interface. Everything was already there any basically > working as expected. I was able to start contributing right away. No > digital divide! > > Due to the way how you usually render special modes > (text properties or overlays for metadata) it is usually pretty simple > for Raman to come up with a few functions to also provide a very nicely > tailor made audio interface for modes he stumbles across. > > This is something extremely special in the world of accessible software. > I would be surprised if someone could name another "UI platform" that > manages to pull this of in a similar way. > The scriptability of Emacs combined with its insistence on keeping > some sort of compatibility between graphical and text mode interfaces is > something no one else does. > > As a blind user, I can write a special mode which does something > specific, say, implement an IRC client. Almost all my work can > instantaneously be used by sighted people using their graphical > toolkit. True, a face change here and there can improve things, but 95% > of the code can be reused between totally different user interface > *modalities*. > > This is amazing. Thanks for being so stubborn during the period of > transition to graphical toolkits and insist on keeping a compatible text > mode interface. This has led to a truely unique outcome. > > I feel like me being a non-native speaker of English is a bit of a > hinderence to explaining how very special that "feature" of Emacs is. > To most of you, I guess it will not feel so important, since you likely > dont know how it feels to constantly fight UI problems. Having > discovered Emacs, and settled on learning how to extend it, was one of > the most important things in my computer life. -- ♈ Id: kg:/m/0285kf1 🦮