[3024] in Release_7.7_team

home help back first fref pref prev next nref lref last post

Evaluation of Mahogany mail client

daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri Oct 19 15:35:59 2001

Date: Fri, 19 Oct 2001 15:35:54 -0400
Message-Id: <200110191935.PAA22178@error-messages.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: aui@mit.edu, release-team@mit.edu

I've finished evaluating Mahogany.  I wrote it as a web page, but here
is a lynx dump (edited a bit) for archival and convenience.  In
general, Mahogany seems adequate but uninspiring.

                          Mahogany Evaluation Report
                                       
   Mahogany is a C++ mail client written using the wxWindows
   cross-platform GUI library. Fortunately, this GUI library preserves
   the native look and feel on all platforms, so to the user Mahogany
   looks like any other gtk application. Both Mahogany and wxWindows are
   sourceforge projects. The Mahogany project appears to be about two
   years old, and is currently at version 0.63. The last release was in
   June 2001; a brief look at the CVS repository suggests that
   development is active but not especially speedy, and is currently
   dominated by one contributor.
   
   Mahogany does not try to support krb4 or krb5 IMAP, but its IMAP
   support uses the c-client library from the University of
   Washington--the same code used by pine. Thus, there is krb5 code built
   in and krb4 code available separately, so it was only necessary to
   convince the build system to use it. I was able to build on our
   experience with Pine in order to do so, and had no great difficulty.
   
   Incorporating wxWindows and Mahogany into the release would probably
   not be difficult. The build system had only minor flaws (e.g. the
   --with-wx-prefix configure option is broken, but it is not necessary
   to use it as long as wx-config is in the path).
   
   I noticed the following problems running Mahogany:
   
     * The IMAP support seems to be mildly incompatible with our servers,
       such that every time a message is read it reports a server
       complaint of a missing argument to fetch, although the message
       contents appeared to be fetched without difficulty. This problem
       would most likely be easy to resolve.

     * The interface for sending a message pops up two dialog boxes if
       you don't have a .signature file. This should be easy to quell,
       but does suggest a worrisome lack of consideration in the design.

     * The user interface did not seem very intuitive or efficient to me.
       For instance, selecting a folder does not open it (you have
       double-click it, press return, or select "open" from its context
       menu), and there did not appear to be a key binding for deleting a
       mail message.

     * The user interface is kind of messy, and has a number of features
       inappropriate for an end-user at a big site like ours. It makes
       excessive use of dialog boxes (many of which can be disabled by
       clicking a checkbox), displays a separate window with a text log
       of various events and error messages (which is useful as an option
       for debugging, but distracting as a default), and has a file of
       tips of the day.

     * I did not get native HTML message display in my build (I'm not
       sure how hard it would be to configure it), and this version of
       Mahogany has no HTML editing support for messages being sent.

     * While trying to create a folder, it decided to stat the entries
       under /afs while I was doing something unrelated.
       
   I suspect bug-fixing work on Mahogany would be relatively limited, but
   I anticipate we would need to make the following local modifications:
   
     * We would need to add Hesiod support.

     * We would need it to preconfigure itself with appropriate settings,
       to prevent it from popping up a configuration wizard when first
       run.

     * As with most other mail clients, Mahogany insists on including its
       own inbox folder, located in the user's home directory, in the
       folders tree. We would need to remove that assumption.

     * We would need to clean up the interface significantly. This change
       might prove difficult to maintain because it would require changes
       to many parts of the code, and because user interface changes
       often don't merge terribly well.
       
   Here are my estimates of the initial work required, assuming
   relatively solid commitment by one developer:
   
   Task					Range		Likely
   Debugging				1-4 weeks	1 week
   Preconfiguration			1-3 weeks	1 week
   Suppressing local mail folders	0.5-2 weeks	0.5 weeks
   User interface cleanup		1-4 weeks	3 weeks
   Total				3.5-13 weeks	5.5 weeks

   Here's my grade sheet:
   
   Factor		Grade	Comments
   Ease of integration	B
   Ease of debugging	B
   Features		C	Lacks HTML editing, non-intuitive interface
   Maintenance		C	Need to maintain local changes to UI
   Overall		C

home help back first fref pref prev next nref lref last post