From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "T.V Raman" Newsgroups: gmane.emacs.devel Subject: Re: Emacs is very special regarding UIs Date: Tue, 08 Sep 2020 09:43:54 -0700 Message-ID: References: <87eenc1du2.fsf@blind.guru> Mime-Version: 1.0 Content-Type: text/plain; charset=gb18030 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26781"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Mario Lang Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 08 18:45:11 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kFgk2-0006qg-Qx for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Sep 2020 18:45:10 +0200 Original-Received: from localhost ([::1]:54892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFgk1-0002El-RX for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Sep 2020 12:45:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFgiw-0000sw-AF for emacs-devel@gnu.org; Tue, 08 Sep 2020 12:44:02 -0400 Original-Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]:50383) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kFgit-0002Sa-1S for emacs-devel@gnu.org; Tue, 08 Sep 2020 12:44:01 -0400 Original-Received: by mail-pj1-x1032.google.com with SMTP id b16so19944pjp.0 for ; Tue, 08 Sep 2020 09:43:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=bkH0+drprp4bVMHWi8BtJoOZ1kohWtAAwgPcsm68lTI=; b=NOVcGmdC2wYQ095ZIYq18sbtzyEcs6EcSHERiDRbS5NIV38BWmdOyRwttE9xNZUlQo sR60N7RA7XDLeaFX+OBAvGZo7OBB5mSQ3A+bgE+Xy+s2B/QDBxohWr69eM0pOtZB1m7o Xe+wsInvG1YhLx3nkvd9v0voeK6QzvsC9ASbRVd1yzQbp25eqC2xtkap2C92YuLB1A7J CV/qgaiauB29ikMbax0gBDbJ0E0bRLoMChAKqs2CzPEUYPV/uL7GUPEIBP8pLR2RGcUT 9VLLpLW6NRN+cz20gm5MVu/YF9+FtQFVlAMcHO11xypntXKOkP9HJoFugqnJ/nuq7hYy MfYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=bkH0+drprp4bVMHWi8BtJoOZ1kohWtAAwgPcsm68lTI=; b=BW1XG0MGwlENcC919Dt8QKbbSGf/r8874uXCD6uUWbXSVkWOaheDnDZ36Lp7HZB/wb Q1W+heONl8bHqyCXNXNLqaBBxugnqfu8Xi03wgv50tE+EI2/gDTkmWKnIBUr69+N4DgI 8gSXe2CuMctCXLUh7PZEIQnHONp46AnhCxJXJ3JUa2USYmonaNxmm8ZIBmJLB4bAOY9G /IMWENKoLsYiUuavQJ1nxA2vSJ4lJF4YeaM5Ojvx86Micjc9Uabl53eUPtHhdOVFQz6k Eoeytxl6b+9hnastkFObDsOuTUREV3EArjz2WXhwUYdZhDvtDM++BVqvbDd5lolwq5Bp QNhA== X-Gm-Message-State: AOAM530UnJUSmQKKZ4rD828sadHi5V4IxaKCHiK/1QSIBLvDNjzpt/y4 Y6ornWdM+g7HwVIqkN6AxAOYrg== X-Google-Smtp-Source: ABdhPJwcSL7rN8AmVoqXU7UiKxf0NHlr0D3HqQHQ7P0XTGM/3FRFjbn1S90+EpJOM78sZvVAwZFoqw== X-Received: by 2002:a17:90b:4b11:: with SMTP id lx17mr44340pjb.22.1599583437007; Tue, 08 Sep 2020 09:43:57 -0700 (PDT) Original-Received: from raman-glaptop.localdomain (c-24-4-174-65.hsd1.ca.comcast.net. [24.4.174.65]) by smtp.gmail.com with ESMTPSA id y16sm1535pjr.40.2020.09.08.09.43.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2020 09:43:55 -0700 (PDT) Original-Received: by raman-glaptop.localdomain (Postfix, from userid 13930) id DBC23C21DF7; Tue, 8 Sep 2020 09:43:54 -0700 (PDT) In-Reply-To: <87eenc1du2.fsf@blind.guru> (Mario Lang's message of "Tue, 08 Sep 2020 17:35:17 +0200") Received-SPF: pass client-ip=2607:f8b0:4864:20::1032; envelope-from=raman@google.com; helo=mail-pj1-x1032.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -175 X-Spam_score: -17.6 X-Spam_bar: ----------------- X-Spam_report: (-17.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:254773 Archived-At: 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=20 > 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 funct= ions), > if constructed according to established Emacs Lisp APIs, > will be useable across all major platforms *and* user interface modalitie= s! > > 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. --=20 =817=A94 Id: kg:/m/0285kf1 =950=DC8