docs/master

diff ch01.roff @ 53:01d06ca2eb1b

Rework based on comments by Lydi.
author markus schnalke <meillo@marmaro.de>
date Sun, 20 May 2012 17:34:40 +0200
parents 49cf68506b5d
children d9c18bd9ed92
line diff
     1.1 --- a/ch01.roff	Sun May 20 12:11:42 2012 +0200
     1.2 +++ b/ch01.roff	Sun May 20 17:34:40 2012 +0200
     1.3 @@ -2,6 +2,12 @@
     1.4  
     1.5  .H0 "Introduction
     1.6  .P
     1.7 +MH is a set of mail handling tools with a common concept, similar to
     1.8 +the Unix tool chest, which is a set of file handling tools with a common
     1.9 +concept. \fInmh\fP is the currently most popular implementation of an
    1.10 +MH-like mail handling system.
    1.11 +This thesis describes an experimental version of nmh, named \fImmh\fP.
    1.12 +.P
    1.13  This chapter introduces MH, its history, concepts and how it is used.
    1.14  It describes nmh's code base and community to give the reader
    1.15  a better understanding of the state from which mmh started off.
    1.16 @@ -55,7 +61,7 @@
    1.17  This should be done openly within the Internet community.
    1.18  The development of MH at UCI stopped after the 6.8.4 release in
    1.19  February 1996, soon after the development of nmh had started.
    1.20 -Today, nmh almost completely replaced the original MH.
    1.21 +Today, nmh almost completely replaces the original MH.
    1.22  Some systems might still provide old MH, but mainly for historical reasons.
    1.23  .P
    1.24  In the last years, the work on nmh was mostly maintenance work.
    1.25 @@ -63,10 +69,9 @@
    1.26  
    1.27  .U2 "Concepts
    1.28  .P
    1.29 -MH is a tool chest, modeled after the Unix tool chest. It consists of a
    1.30 -set of tools, each covering a specific task of email handling, like
    1.31 -composing a message, replying to a message, refiling a message to a
    1.32 -different folder, listing the messages in a folder.
    1.33 +MH consists of a set of tools, each covering a specific task of
    1.34 +email handling, like composing a message, replying to a message,
    1.35 +refiling a message to a different folder, listing the messages in a folder.
    1.36  All of the programs operate on a common mail storage.
    1.37  .P
    1.38  The mail storage consists of \fImail folders\fP (directories) and
    1.39 @@ -107,11 +112,14 @@
    1.40  As the MH tool chest was modeled after the Unix tool chest, the
    1.41  properties of the latter apply to the former as well.
    1.42  
    1.43 +.U2 "A Tour through MH
    1.44 +.P
    1.45 +XXX cf. peek; why UP still matters; real work.
    1.46  
    1.47  .U2 "Example Session
    1.48  .P
    1.49 -Following is an example mail handling session with mmh.
    1.50 -It should be mostly compatible with nmh and old MH.
    1.51 +Following is an example mail handling session.
    1.52 +It uses mmh but is mostly compatible with nmh and old MH.
    1.53  Details might vary but the look'n'feel is the same.
    1.54  .DS
    1.55  $ \f(CBinc\fP
    1.56 @@ -155,6 +163,8 @@
    1.57  .P
    1.58  In order to understand the condition, goals and dynamics of a project,
    1.59  one needs to know the reasons.
    1.60 +This section explains the background.
    1.61 +.P
    1.62  MH predates the Internet, it comes from times before networking was universal,
    1.63  it comes from times when emailing was small, short and simple.
    1.64  Then it grew, spread and adopted to the changes email went through.
    1.65 @@ -209,68 +219,49 @@
    1.66  .H1 "mmh
    1.67  .P
    1.68  I started to work on my experimental version in October 2011,
    1.69 -when there were no more than three commits to nmh in the previous nine months..
    1.70 -In December, when I announced my work on the nmh-workers mailing list,
    1.71 +at a time when there were no more than three commits to nmh
    1.72 +since the beginning of the year.
    1.73 +In December, when I announced my work in progress on the
    1.74 +nmh-workers mailing list,
    1.75  .[
    1.76  nmh-workers mmh announce December
    1.77  .]
    1.78 -the activity in nmh rose much.
    1.79 -Suddenly, the community started to move.
    1.80 +nmh's community became active, too.
    1.81  This movement was heavily pushed by Paul Vixie's ``edginess'' comment.
    1.82  .[
    1.83  nmh-workers vixie edginess
    1.84  .]
    1.85 -After long years of much stagnation, nmh became actively developed again.
    1.86 +After long years of stagnation, nmh became actively developed again.
    1.87  Hence, while I was working on mmh, the community was working on nmh,
    1.88  in parallel.
    1.89  .P
    1.90 -The name \fImmh\fP stands for \fImeillo's mail handler\fP,
    1.91 -because mmh is my own version of MH.
    1.92 +The name \fImmh\fP may stand for \fImodern mail handler\fP,
    1.93 +because the project tries to modernize nmh.
    1.94 +Personally however, I prefer to call mmh \fImeillo's mail handler\fP,
    1.95 +emphasizing that the project follows my visions and preferences.
    1.96  (My login name is \fImeillo\fP.)
    1.97 -The project follows my personal considerations and preferences.
    1.98 -By calling it a personal project, I don't need to justify my decisions,
    1.99 -though, still I like to do.
   1.100 -This enabled me to follow my vision straightly and thus produce
   1.101 -a result of greater pureness.
   1.102 -This project model was inspired by the window manager \fIdwm\fP,
   1.103 +This project model was inspired by \fIdwm\fP,
   1.104  which is Anselm Garbe's personal window manager \(en
   1.105  targeted to satisfy Garbe's personal needs whenever conflicts appear.
   1.106 -dwm had remained much more focused on its original goals,
   1.107 -whereas its community-driven predecessor \fIwmii\fP had
   1.108 -grown big and lost it's lean elegance.
   1.109 -This should not happen to mmh.
   1.110 -.P
   1.111 -Mmh also stands for \fImodern mail handler\fP, and this is
   1.112 -the variant chosen to entitle this document. One main focus of the
   1.113 -project was to modernize nmh. Another main goal is resembled in the
   1.114 -name \fIminimized mail handler\fP: Drop any parts that don't add
   1.115 -to the main task of mmh, being a conceptionally appealing MUA.
   1.116 -.P
   1.117 -It should also be noted that \fLstrcmp("mmh","nmh")<0\fP is true.
   1.118 -Although mmh bases on nmh, it is likely seen as a step backward.
   1.119 -I agree.
   1.120 -However, this step backward actually is a step forward,
   1.121 -although in a different direction.
   1.122 +Dwm had retained its lean elegance and its focused character, whereas
   1.123 +its community-driven predecessor \fIwmii\fP had grown fat over time.
   1.124 +The development of mmh should remain focused.
   1.125  
   1.126  
   1.127 -.H1 "This Thesis
   1.128 -
   1.129  .U2 "Motivation
   1.130  .P
   1.131  MH is the most important of very few command line tool chest email systems.
   1.132 -(There's also \fIim\fP by Tatsuya Kinoshita,
   1.133 -which operates on an MH mail storage.)
   1.134  Tool chests are powerful because they can be perfectly automated and
   1.135 -extended. Tool chests are good back-ends for various sorts of front-ends.
   1.136 -They allow multiple front-ends for different special needs
   1.137 -to be implemented quickly and without internal knowledge on emailing.
   1.138 -Further more, tool chests are much better to maintain than large monolithic
   1.139 +extended. They allow arbitrary kinds of front-ends to be
   1.140 +implemented on top of them quickly and without internal knowledge.
   1.141 +Additionally, tool chests are much better to maintain than monolithic
   1.142  programs.
   1.143 -As there are few tool chests for emailing and MH-like ones are the most
   1.144 -popular among them, they should be developed further to keep their
   1.145 +As there are few tool chests for emailing and as MH-like ones are the most
   1.146 +popular among them they should be developed further.
   1.147 +This keeps their
   1.148  conceptional elegance and unique scripting qualities available to users.
   1.149 -mmh will create a modern and convenient entry point for new, interested
   1.150 -users to MH-like systems.
   1.151 +Mmh will create a modern and convenient entry point to MH-like systems
   1.152 +for new and interested users.
   1.153  .P
   1.154  The mmh project is motivated by deficits of nmh and
   1.155  my wish for general changes, combined
   1.156 @@ -286,7 +277,7 @@
   1.157  In my eyes, MH's concepts could be exploited even better and
   1.158  the style of the tools could be improved. Both would simplify
   1.159  and generalize the system, providing cleaner interfaces and more
   1.160 -software leverage, at the same time.
   1.161 +software leverage at the same time.
   1.162  mmh is a way to demonstrate this.
   1.163  .P
   1.164  In providing several parts of an email system, nmh can hardly
   1.165 @@ -305,7 +296,6 @@
   1.166  In developing a separate experimental version new approaches can
   1.167  easily be tried out without the need to discuss changes beforehand.
   1.168  In fact, revolutionary changes are hardly possible otherwise.
   1.169 -These reasons support the decision to start mmh as a fork of nmh.
   1.170  .P
   1.171  The mmh project provides the basis to implemented and demonstrated
   1.172  the listed ideas without the need to change nmh or its community.
   1.173 @@ -317,6 +307,7 @@
   1.174  in order to be successful.
   1.175  Following is a description of the imagined typical mmh user.
   1.176  mmh should satisfy his needs.
   1.177 +.\" XXX  Remove the next sentence?
   1.178  Actually, as mmh is my personal version of MH, this is a description
   1.179  of myself.
   1.180  .P
   1.181 @@ -364,7 +355,8 @@
   1.182  Mmh should be stripped down to its core, which is the MUA part of emailing.
   1.183  The feature set should be distilled to the ones really needed,
   1.184  effectively removing corner-cases.
   1.185 -Functions that are not related to the main task should be removed.
   1.186 +Parts that don't add to the main task of being a conceptionally
   1.187 +appealing MUA should be removed.
   1.188  This includes, the MTA and MRA facilities.
   1.189  Choice should be reduced to the main options.
   1.190  .IP "Modernizing