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