docs/master

view summary.roff @ 162:5520bbde3767

Renamed Chapter 3 back from `Future of mmh' to `Summary'.
author markus schnalke <meillo@marmaro.de>
date Mon, 09 Jul 2012 17:41:05 +0200
parents future.roff@72ef1f2e58a3
children 5c01017be420
line source
1 .H0 "Summary
2 .P
3 This document describes and explains my work on mmh.
4 I have streamlined the project by removing programs, facilities
5 and options that diverted from the main task of mmh, being a MUA.
6 I have modernized the code base removing obsolete functions and
7 activating modern features per default.
8 Further more, I improved the style by refactoring clumpsy code
9 and by defining or exploiting clear concepts.
10 All my work was motivated by Antoine de Saint Exupery's well-known
11 statement:
12 .[
13 antoine de saint exupery: Wind, Sand and Stars (1939)
14 .]
15 .QS
16 It seems that perfection is attained not when there is nothing
17 more to add, but when there is nothing more to remove.
18 .QE
19 .P
20 In contrast to the common expectations, I have hardly added new features.
21 I regard my improvements in selecting the relevant set of existing
22 features and exploiting the concepts more thoroughly.
23 I believe, the result is a system simpler and clearer for both
24 developing and using, without lacking important functionality.
27 .U2 "Work Left to Do
28 .P
29 The work done during the project is not finished.
30 Several tasks are left to do, mainly the MIME integration.
31 .P
32 MIME handling is the most complex part of mmh and it requires
33 general rework.
34 The changes already done to it build upon the existing structure.
35 Yet, MIME support is not truly integrated.
36 For instance, accessing messages and accessing MIME parts of messages
37 have inherently different concepts, although a single concept should
38 cover both.
39 The sequence notation should provide a way to address MIME parts directly.
40 Furthermore, the sequence notation should be made more powerful in general.
41 For instance, it is currently not possible to access the second last
42 message in a given sequence.
43 Displaying messages with
44 .Pn show
45 requires further rework.
46 Encrypted messages, for example, should be decoded automatically
47 and digital signatures should be verified on-the-fly.
48 The whole task should be aligned with the common behavior of other
49 mail clients.
50 MH's unique features should not be lost, but the default should become
51 less surprising.
52 Transfer-decoding of the quoted text in replys and encoding of non-ASCII
53 characters in message header fields like
54 .Hd Subject
55 remain unsolved.
56 .P
57 Besides MIME-related tasks, some tools were not worked on yet.
58 Among them are
59 .Pn dist ,
60 .Pn rcvdist ,
61 .Pn mark ,
62 .Pn pick ,
63 and
64 .Pn sortm .
65 Concerning
66 .Pn sortm ,
67 a threaded message view is completely missing to mmh, yet.
68 .Pn pick
69 could profit from message indexing.
70 No research was performed in this field.
71 .P
72 The features most often asked for are Maildir and IMAP support.
73 Yet, both of them collide with MH in the same fundamental way as
74 different filesystem approaches would collide with Unix.
75 Nevertheless, a storage back-end abstraction layer could provide
76 a mapping from such back-ends to the MH storage format.
77 Research in this area is highly appreciated.
80 .U2 "Relationship to nmh
81 .P
82 The mmh project started as an experimental version of nmh because the
83 nmh community did not welcome my changes in the mainline version.
84 To not slow my work down by the need to convince the community in
85 discussions for each step I liked to take,
86 I started to create an experimental version to convicce by demonstration
87 of the result.
88 My worked on mmh was independent of the nmh community.
89 This enabled me to follow my vision straightly and thus produce
90 a result of greater pureness.
91 .P
92 Mmh shall be considered an inspiration for the future development of nmh.
93 It shall show identify weak part of nmh and suggest possible
94 improvements by change.
95 It shall present a lean appearance that is simpler to understand
96 and work with for developers and users.
97 By all means shall my work on mmh improve nmh in some way.
98 Improving nmh directly in the way I wanted was impossible for me
99 due to personal and community-related circumstances.
100 The mmh project is my way to offer my gifts though.
101 .P
102 During my work on mmh, the community of nmh suddenly became very active.
103 They have worked on nmh in parallel to my work on mmh.
104 There was no collaberation in our work, except that I have pulled some
105 changes from nmh to mmh.
106 Our work was motivated partly by similar and partly by different aims.
107 Although some changes are common among both projects,
108 fundamental differences exist.
109 My experimental version thus more and more felt like being a fork.
110 I am undecided how I like to have it.
111 Yet, I am strongly convinced that most of the decisions taken in mmh
112 were good to achieve my goals and I like to push the project even
113 farther in this direction.
116 .U2 "Weaknesses of My Work
117 .P
118 not targeting on the right problems (maildir, imap)
120 .P
121 refactoring requires testing, automated testing
123 .P
124 communication with nmh.
125 worked behind closed doors, but no:
126 talks I've given
128 .P
129 focus on myself.
130 But: If good for me then also good for others.