Mercurial > docs > master
comparison summary.roff @ 190:2443264b1745
Added sloccount graph to the summary.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Wed, 11 Jul 2012 18:35:11 +0200 |
parents | 22feb390ccc4 |
children | 68980dab3236 |
comparison
equal
deleted
inserted
replaced
189:22feb390ccc4 | 190:2443264b1745 |
---|---|
1 .H0 "Summary | 1 .H0 "Summary |
2 .P | 2 .P |
3 This document describes and explains my work on mmh. | 3 This document describes and explains my work on mmh. |
4 I have streamlined the project by removing programs, facilities | 4 I have streamlined the project by removing programs, facilities, |
5 and options that diverted from the main task of mmh, being an MUA. | 5 and options that diverted from the main task of mmh, being an MUA. |
6 I have modernized the code base removing obsolete functions and | 6 I have modernized the code base removing obsolete functions and |
7 activating modern features per default. | 7 activating modern features per default. |
8 Furthermore, I improved the style by refactoring clumpsy code | 8 Furthermore, I have improved the style by refactoring clumpsy code |
9 and by defining or forcing clear concepts. | 9 and by identifying and forcing clear concepts. |
10 All my work was motivated by Antoine de Saint Exupery's well-known | 10 All my work was motivated by Antoine de Saint Exupery's well-known |
11 statement: | 11 statement: |
12 .[ | 12 .[ |
13 antoine de saint exupery: Wind, Sand and Stars (1939) | 13 antoine de saint exupery: Wind, Sand and Stars (1939) |
14 .] | 14 .] |
15 .QS | 15 .QS |
16 It seems that perfection is attained not when there is nothing | 16 It seems that perfection is attained not when there is nothing |
17 more to add, but when there is nothing more to remove. | 17 more to add, but when there is nothing more to remove. |
18 .QE | 18 .QE |
19 .P | 19 .LP |
20 In contrast to the common expectations, I have hardly added new features. | 20 Against the common expectations, I hardly added new features. |
21 I regard my improvements in selecting the relevant set of existing | 21 I regard my achievement in the selection of the relevant set of existing |
22 features and exploiting the concepts more thoroughly. | 22 features, the choice of sensible defaults, and the extensive |
23 focus on structure and concepts. | |
23 I believe, the result is a system simpler and clearer for both | 24 I believe, the result is a system simpler and clearer for both |
24 developing and using, without lacking important functionality. | 25 developing and using, without lacking important functionality. |
26 | |
27 .KS | |
28 .in 1c | |
29 .so input/sloc.grap | |
30 .KE | |
25 | 31 |
26 | 32 |
27 .U2 "Outlook | 33 .U2 "Outlook |
28 .P | 34 .P |
29 The work done during the project is not finished. \" XXX yet? | 35 The work on mmh is not finished. |
30 Several tasks are left to do. | 36 Several tasks are left to do. |
31 .P | 37 .P |
32 MIME handling is the most complex part of mmh and it requires | 38 MIME handling is the most complex part of mmh and the one with the |
33 general rework. | 39 highest potential for improvements. |
34 .\" XXX rewrite these sentences for more smoothness | 40 The changes already accomplished so far build upon the existing structure, |
35 The changes already accomplished build upon | 41 but deeper rework is necessary to integrate MIME handling consistently. |
36 the existing structure only. | 42 For instance, accessing messages and accessing their MIME parts |
37 To integrate it fully into the concepts. | 43 should both covered by a single approach. |
38 For instance, accessing messages and accessing MIME parts of messages | 44 This requires the sequence notation to provide a way to address |
39 have inherently different concepts, although a single concept should | 45 MIME parts directly. |
40 cover both. | 46 In general, the sequence notation should become more powerful. |
41 The sequence notation should provide a way to address MIME parts directly | |
42 and should be more powerful in general. \" XXX more powerful | |
43 For instance, it is currently not possible to access the second last | 47 For instance, it is currently not possible to access the second last |
44 message in a given sequence. | 48 message in a given sequence. |
45 Also, displaying messages with | 49 Furthermore, displaying messages can be improved. |
46 .Pn show | |
47 requires further rework. | |
48 Encrypted messages should be decoded automatically | 50 Encrypted messages should be decoded automatically |
49 and digital signatures should be verified on-the-fly. | 51 and digital signatures verified on-the-fly. |
50 The whole task should be aligned with the common behavior of other | 52 In this rework, MH's unique features need to be preserved, |
51 mail clients. | 53 but as well the default behavior should become less surprising. |
52 MH's unique features should not be lost, but the default should become | 54 Still, encoding and decoding is not done everywhere it is necessary. |
53 less surprising. | 55 The problems of not decoded quotations of the original message in replies |
54 Transfer-decoding of the quoted text in replies and encoding of non-ASCII | 56 and not encoded non-ASCII characters in the message header remain. |
55 characters in message header fields like | |
56 .Hd Subject | |
57 remain unsolved. | |
58 .P | 57 .P |
59 Some of mmh's tools were hardly touched during my work. | 58 Some of mmh's tools were hardly touched, yet. |
60 Among them are | 59 Among them are |
61 .Pn dist , | 60 .Pn dist , |
62 .Pn rcvdist , | 61 .Pn rcvdist , |
63 .Pn mark , | 62 .Pn mark , |
64 .Pn pick , | 63 .Pn pick , |
65 and | 64 and |
66 .Pn sortm . | 65 .Pn sortm . |
66 They should be refactored as well. | |
67 Related to | 67 Related to |
68 .Pn sortm , | 68 .Pn sortm |
69 a threaded message view is completely missing in mmh, so far. | 69 is the threaded message view, which is completely missing, so far. |
70 .Pn pick | 70 .Pn pick |
71 could be enhanced by message indexing. | 71 could profit from message indexing. |
72 These fields deserve further research. | 72 These fields deserve further research. |
73 .P | 73 .P |
74 The features most often asked for are Maildir and IMAP support. | 74 Nmh's testing framework has not been updated for mmh, yet. |
75 All refactoring had been done without the safety net of a test framework. | |
76 Hence, experience warns that there may be subtle bugs in the code base. | |
77 .P | |
78 The features most often asked for are IMAP and Maildir support. | |
75 But, both of them collide with MH in the same fundamental way as | 79 But, both of them collide with MH in the same fundamental way as |
76 different filesystem approaches would collide with Unix. | 80 different filesystem approaches collide with Unix. |
77 Nevertheless, an abstraction layer could provide a mapping from such | 81 Nevertheless, an abstraction layer could provide a mapping between such |
78 storage back-ends to the MH storage format. | 82 storage back-ends and the MH storage format. |
79 Or the mmh tool chest could be reworked to operate on a generic back-end, | 83 Or, the mmh tool chest could be reworked to operate on a generic back-end, |
80 making the MH storage format only one of many possible back-ends. | 84 making the MH storage format only one of many possible back-ends. |
81 Research in this area is highly appreciated. | 85 Research in this area is highly appreciated. |
82 .\" XXX targeting the right problems?! | |
83 .P | |
84 Nmh has a testing framework that supported the developers by detecting | |
85 several subtle bugs. | |
86 All refactoring in mmh had been done without the safety net of a test | |
87 framework. | |
88 Hence, experience warns that the probability for subtle bugs lurking | |
89 in the code base is high. | |
90 Nmh's test framework should be adjusted to mmh and extended. | |
91 .\" XXX path notation; signing and encrypting | |
92 | 86 |
93 | 87 |
94 .U2 "Relationship to nmh | 88 .U2 "Relationship to nmh |
95 .P | 89 .P |
96 The mmh project started as an experimental version of nmh because the | 90 The mmh project started as an experimental version of nmh because the |