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