<<< Date Index >>>     <<< Thread Index >>>

Re: UI enhancements



On Sun, Sep 02, 2007 at 10:08:08AM +0200, Thomas Roessler wrote:
> On 2007-09-02 00:44:15 -0400, Derek Martin wrote:
> 
> > This, on the other hand, seems kind of yucky to me... not because
> > there's anything inherently bad about it, but just because it
> > breaks with long-standing UI design practices.  Dialog boxes
> > generally go in the middle of the main window, and menus
> > typically go at the top of the main window.  
> 
> Yeah, right, that's why we have all these menus and panels coming
> out of the bottom of the screen these days, even with graphical
> UIs...

The panel is conceptually *EXTREMELY* different from an application's
menus and dialog boxes.  There are no GUI apps I can think of that
have menus pop up on the bottom of their windows.  Can you name some?

> > And if a big dialog box pops up in the middle of your window,
> > you're not going to fail to notice it, no matter how much
> > experience you have using Mutt...
> 
> It's not about noticing, but about causing minimal confusion.

It's hardly confusing.  The typical user is highly accustomed to
interacting with GUI applications, virtually 100% of which have dialog
boxes pop up either in the middle of the main window, or (more
commonly) in the center of the screen.  A great many curses-based
terminal-oriented programs behave this same way.  This is now decades
old, well-established, cross-platform behavior.  Saying it is more
confusing is like saying the Metric System (SI units) of measurements
is more confusing than the English System... it just isn't.

> > FWIW, I've also always wanted Mutt to have a multi-paned interface,
> > not unlike most GUI mailers: one pane for the folder list, one for the
> > message index, and one to display messages.  
> 
> Incidentally, I wouldn't want to have that particular kind of UI for
> myself. 

But lots of people would, hence the popularity of the sidebar patch,
which is standard on Debian's build of mutt.  And the point is it
would be configurable, like everything else in Mutt, so you don't need
to use it if you don't want to, and you can even enable/disable it on
the fly, if you want to use it some of the time... much like you can
do with GUI mailers, by dragging the pane frames around to hide or
unhide the various frames.

> > Mutt could do some (extremely) basic HTML formatting, like
> > handling <b>, <i>, and <tt> tags, and displaying inline images.
> > Yeah yeah bloat blah, but it's just a lot more convenient if I
> > don't have to launch external applications to view these
> > extremely common forms of e-mail.  
> 
> Use "lynx -dump -with_backspaces" as your default html handler. :)

This doesn't display italics on my terminal, nor does it display bold
as bold text.  That kind of eliminates the usefulness of using
formatted text to highlight and emphasize selected text over the
rest...  I could probably futz with my terminal configuration to make
it display that way, but I don't *want* to.   By contrast, the GUI
mailers just work as expected, in that regard.

> > I'm in no way suggesting that the GUI interface should/could
> > replace the terminal-oriented interface... 

> From a design perspective, that handler should actually be an
> external filter.

That makes sense for the Mutt of today (or rather 10 years ago), but
makes very little sense for (say) a GNOME-ized version of Mutt which
is (optionally) already linked against all the happy libraries that
handle HTML formatting and JPEG display, etc.  The point of Mutt's
design (and the Unix philosophy, in general) is modularization --
making small, easy-to-test bits of code that do one job, and do it
well...  But modularization can just as effectively be handled by using
good software engineering principles to write modular code, and using
any of a plethora of well-tested libraries to accomplish tasks that
Mutt currently accomplishes using child processes.

The current "design perspective" of Mutt was born in computing's Stone
Age, and is sorely in need of updating.  It causes a variety of
limitations that are not currently suffered by users of other, more
modern (GUI) mailers.  Mutt is still the most powerful and flexible
mailer around, AFAIK; but it is far from the easiest to use...  Mutt
could continue to be the most powerful and most flexible mailer, and
at the same time realize a great many improvements in ease of use and
configuration management by letting go of its ancient design
philosophy.  It need not lose its terminal orientation in order to do
so, either.  Best of all, by using principles of good software design,
a GUI interface could be written to do a lot of things internally, and
the same API interfaces could call code that calls on external
programs when the GUI is not available, as the current Mutt does.
Sometimes, you *can* have your cake and eat it too...

I reiterate that Mutt is still the most powerful and most flexible
mailer; but where once it was so by leaps and bounds, today several
other mailers are closing the gap, and have been in development for a
much shorter time than Mutt has...  Mutt is falling behind in some
areas too; other mailers have some nice features that Mutt lacks,
making them in some ways a lot easier to use.  the current code base
desperately needs to be abandoned, and a fresh rewrite started with
modularity and modernization in mind.  But that's a project -- and an
argument -- for a different, brighter day.  :)  For today, I'd be
satisfied if Rocco's patch were cleaned up and included.

-- 
Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02
-=-=-=-=-
This message is posted from an invalid address.  Replying to it will result in
undeliverable mail due to spam prevention.  Sorry for the inconvenience.

Attachment: pgpj7xwm3NZsR.pgp
Description: PGP signature