docs/master

diff future.roff @ 161:72ef1f2e58a3

More text for the Future/Summary chapter.
author markus schnalke <meillo@marmaro.de>
date Mon, 09 Jul 2012 17:40:08 +0200
parents a6dc418ab0a4
children
line diff
     1.1 --- a/future.roff	Mon Jul 09 17:22:26 2012 +0200
     1.2 +++ b/future.roff	Mon Jul 09 17:40:08 2012 +0200
     1.3 @@ -1,69 +1,130 @@
     1.4 -.H0 "Future of mmh
     1.5 +.H0 "Summary
     1.6  .P
     1.7 -
     1.8 -
     1.9 -.U2 "Summary
    1.10 -.P
    1.11 -
    1.12 -.P
    1.13 -The far most difficult improvements, but at the same time the most
    1.14 -valuable ones.
    1.15 -
    1.16 -.P
    1.17 -Although I did only a small part of the draft handling improvement,
    1.18 -I value it as an important part.
    1.19 -
    1.20 +This document describes and explains my work on mmh.
    1.21 +I have streamlined the project by removing programs, facilities
    1.22 +and options that diverted from the main task of mmh, being a MUA.
    1.23 +I have modernized the code base removing obsolete functions and
    1.24 +activating modern features per default.
    1.25 +Further more, I improved the style by refactoring clumpsy code
    1.26 +and by defining or exploiting clear concepts.
    1.27 +All my work was motivated by Antoine de Saint Exupery's well-known
    1.28 +statement:
    1.29 +.[
    1.30 +antoine de saint exupery: Wind, Sand and Stars (1939)
    1.31 +.]
    1.32  .QS
    1.33  It seems that perfection is attained not when there is nothing
    1.34  more to add, but when there is nothing more to remove.
    1.35  .QE
    1.36 -antoine de saint exupery: Wind, Sand and Stars (1939)
    1.37 +.P
    1.38 +In contrast to the common expectations, I have hardly added new features.
    1.39 +I regard my improvements in selecting the relevant set of existing
    1.40 +features and exploiting the concepts more thoroughly.
    1.41 +I believe, the result is a system simpler and clearer for both
    1.42 +developing and using, without lacking important functionality.
    1.43  
    1.44 +
    1.45 +.U2 "Work Left to Do
    1.46  .P
    1.47 -talks I've given
    1.48 -
    1.49 -
    1.50 -
    1.51 -
    1.52 -
    1.53 -.U2 "Outlook
    1.54 +The work done during the project is not finished.
    1.55 +Several tasks are left to do, mainly the MIME integration.
    1.56  .P
    1.57 -
    1.58 +MIME handling is the most complex part of mmh and it requires
    1.59 +general rework.
    1.60 +The changes already done to it build upon the existing structure.
    1.61 +Yet, MIME support is not truly integrated.
    1.62 +For instance, accessing messages and accessing MIME parts of messages
    1.63 +have inherently different concepts, although a single concept should
    1.64 +cover both.
    1.65 +The sequence notation should provide a way to address MIME parts directly.
    1.66 +Furthermore, the sequence notation should be made more powerful in general.
    1.67 +For instance, it is currently not possible to access the second last
    1.68 +message in a given sequence.
    1.69 +Displaying messages with
    1.70 +.Pn show
    1.71 +requires further rework.
    1.72 +Encrypted messages, for example, should be decoded automatically
    1.73 +and digital signatures should be verified on-the-fly.
    1.74 +The whole task should be aligned with the common behavior of other
    1.75 +mail clients.
    1.76 +MH's unique features should not be lost, but the default should become
    1.77 +less surprising.
    1.78 +Transfer-decoding of the quoted text in replys and encoding of non-ASCII
    1.79 +characters in message header fields like
    1.80 +.Hd Subject
    1.81 +remain unsolved.
    1.82  .P
    1.83 -MIME Integration:
    1.84 -user-visible access to whole messages and MIME parts are inherently
    1.85 -different
    1.86 -
    1.87 -
    1.88 +Besides MIME-related tasks, some tools were not worked on yet.
    1.89 +Among them are
    1.90 +.Pn dist ,
    1.91 +.Pn rcvdist ,
    1.92 +.Pn mark ,
    1.93 +.Pn pick ,
    1.94 +and
    1.95 +.Pn sortm .
    1.96 +Concerning
    1.97 +.Pn sortm ,
    1.98 +a threaded message view is completely missing to mmh, yet.
    1.99 +.Pn pick
   1.100 +could profit from message indexing.
   1.101 +No research was performed in this field.
   1.102 +.P
   1.103 +The features most often asked for are Maildir and IMAP support.
   1.104 +Yet, both of them collide with MH in the same fundamental way as
   1.105 +different filesystem approaches would collide with Unix.
   1.106 +Nevertheless, a storage back-end abstraction layer could provide
   1.107 +a mapping from such back-ends to the MH storage format.
   1.108 +Research in this area is highly appreciated.
   1.109  
   1.110  
   1.111  .U2 "Relationship to nmh
   1.112  .P
   1.113 +The mmh project started as an experimental version of nmh because the
   1.114 +nmh community did not welcome my changes in the mainline version.
   1.115 +To not slow my work down by the need to convince the community in
   1.116 +discussions for each step I liked to take,
   1.117 +I started to create an experimental version to convicce by demonstration
   1.118 +of the result.
   1.119 +My worked on mmh was independent of the nmh community.
   1.120 +This enabled me to follow my vision straightly and thus produce
   1.121 +a result of greater pureness.
   1.122  .P
   1.123 -Because of several circumstances, my experimental version is rather
   1.124 -a fork today, although this may change again in the future.
   1.125 +Mmh shall be considered an inspiration for the future development of nmh.
   1.126 +It shall show identify weak part of nmh and suggest possible
   1.127 +improvements by change.
   1.128 +It shall present a lean appearance that is simpler to understand
   1.129 +and work with for developers and users.
   1.130 +By all means shall my work on mmh improve nmh in some way.
   1.131 +Improving nmh directly in the way I wanted was impossible for me
   1.132 +due to personal and community-related circumstances.
   1.133 +The mmh project is my way to offer my gifts though.
   1.134 +.P
   1.135 +During my work on mmh, the community of nmh suddenly became very active.
   1.136 +They have worked on nmh in parallel to my work on mmh.
   1.137 +There was no collaberation in our work, except that I have pulled some
   1.138 +changes from nmh to mmh.
   1.139 +Our work was motivated partly by similar and partly by different aims.
   1.140 +Although some changes are common among both projects,
   1.141 +fundamental differences exist.
   1.142 +My experimental version thus more and more felt like being a fork.
   1.143 +I am undecided how I like to have it.
   1.144 +Yet, I am strongly convinced that most of the decisions taken in mmh
   1.145 +were good to achieve my goals and I like to push the project even
   1.146 +farther in this direction.
   1.147 +
   1.148 +
   1.149 +.U2 "Weaknesses of My Work
   1.150 +.P
   1.151 +not targeting on the right problems (maildir, imap)
   1.152  
   1.153  .P
   1.154 -Although mmh bases on nmh, it is likely seen as a step backward.
   1.155 -I agree.
   1.156 -However, this step backward actually is a step forward,
   1.157 -although in a different direction.
   1.158 -
   1.159 +refactoring requires testing, automated testing
   1.160  
   1.161  .P
   1.162 -.\" Top candidate for the final sentence:
   1.163 -This enabled me to follow my vision straightly and thus produce
   1.164 -a result of greater pureness.
   1.165 +communication with nmh.
   1.166 +worked behind closed doors, but no:
   1.167 +talks I've given
   1.168  
   1.169 -
   1.170 -.U2 "Weaknesses of my Work
   1.171 -.P
   1.172 -testing
   1.173 -.P
   1.174 -communication with nmh
   1.175  .P
   1.176  focus on myself.
   1.177  But: If good for me then also good for others.
   1.178 -.P
   1.179 -not targeting on the right problems (maildir, imap)
   1.180 -.P