From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ilya Zakharevich Newsgroups: gmane.emacs.help Subject: Re: Fixing antediluvianisms in Emacs' UI Date: Fri, 9 Jul 2010 21:18:19 +0000 (UTC) Organization: U.C. Berkeley Math. Department. Message-ID: References: <20100707064305.GF31621@groll.co.za> <20100707080139.GA18906@groll.co.za> <9dc07ed9-f6f1-4ac5-949a-5b97368cc32a@n19g2000prf.googlegroups.com> <87mxu22rbc.fsf@lola.goethe.zz> NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1291845536 16669 80.91.229.12 (8 Dec 2010 21:58:56 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Dec 2010 21:58:56 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 08 22:58:52 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQS2G-0001MM-1p for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 22:58:52 +0100 Original-Received: from localhost ([127.0.0.1]:35233 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQS2F-0007VG-H7 for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 16:58:51 -0500 Original-Path: usenet.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!news2.euro.net!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.emacs Original-Lines: 57 Injection-Date: Fri, 9 Jul 2010 21:18:19 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="LlLjF8LevGdIZWbTvv+SXA"; logging-data="15161"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aRGd0eKwLtuvGoWhVJm1R" User-Agent: slrn/0.9.8.1pl1 (Linux) Cancel-Lock: sha1:eHWedlg3NrH8TIHgWOXEvbR9nnI= Original-Xref: usenet.stanford.edu gnu.emacs.help:179666 comp.emacs:100169 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:76092 Archived-At: On 2010-07-08, David Kastrup wrote: > I think the point was that the manual was not deficient concerning the > information it provides, but in not making Xah Lee want to read it. > In a way, it is a losing battle. Why consider it in military terms? The question at point is that Emacs' UI is lacking. So just fix it: make it self-documenting, as any good-UI program should be... Looks like some vestiges of 80s' mentality still remains in Emacs design: at the time, a common misconception was that problems with UI may be "fixed" by updating the manuals. Well, even if one still believes in this way, it is a dead end: Emacs' manual IS quite good already, so the improvements achieved in this way would have a trace value only. Now, after the flood of "grandmother revolution" [*], we know OTHER ways. "Self-documenting" means the program guides the user how to use it. Emacs is now flexible enough so that with most tasks, this may be easily achieved. [*] this is how as one of the designers of Plan9 called the major event of 90s: achievement of understanding of UI design so good that UI accessible to "grandmothers" may be created. He attributes this breakthrough to effort of M$; I tend to agree... > People expect software to just work without reading manuals. That's right. And when we can EASILY cater to their expectations, we should. The question at point: ISearch. Lemme sketch one possiblity of adding self-documentation to ISearch (people with better UI-design experience must be able to find something yet better): a) Change the prompt (configurable; verbose by default; self-documentation should mention how to disable verbosity): Isearch (F1 for help): b) bind F1 F1 to "Open manual on basics of Isearch"; c) bind F1 to open a shrink-wrapped buffer with "Quick info" on ISearch. This info should include the `current state' (case sensitivity etc) - plus information where this state "comes from": e.g., whether the particular setting is mode-specific. It should also state how to toggle "I" in ISearch, toggle case-fold, switch direction, regexpness, by-word, different ways to quit, etc. Should also state how to start Isearch in `a particular state' (with some toggles pre-loaded). Does not look difficult to do, does it? Hope this helps, Ilya