Mercurial > docs > master
annotate ch02.roff @ 7:7497062adc82
style: Need a bit less space for a heading.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Wed, 07 Mar 2012 16:03:36 +0100 |
parents | c82c1219e877 |
children |
rev | line source |
---|---|
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
1 .H0 "Previous Situation |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
2 .P |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
3 foo |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
4 |
4 | 5 .H1 "Historic Background |
6 .P | |
7 In order to understand the state, goals and dynamics of a project, | |
8 you need to know its history. MH comes from a time before the | |
9 Internet, a time before networking became universal, a time when | |
10 emailing was small, short and simple. Then it grew, spread and | |
11 adopted to the changes. The core-concepts, however, remained the | |
12 same. During the XXX a small group of students at the University of | |
13 California, actively worked on MH. They added features and optimized, | |
14 like it is common for scientific work. This is still in pre-ANSI C | |
15 times. The source code contains many ancient parts. Code constructs | |
16 specific to BSD or hardware of that time are usual. | |
17 .P | |
18 Nmh started eight years after the ANSI C standard had been | |
19 established. A more modern coding style entered the code base. Still | |
20 a part of the developers come from ``the old days''. The developer | |
21 base became more diverse and thus the code. Programming practices | |
22 from different decades merged into the project. Different coding | |
23 styles came together. It appears as if multiple peers added code | |
24 parts, resulting in a conclomeration rather than an homogenic | |
25 of-one-cast mail system. Still, the basic concepts hold it together. | |
26 They were mostly untouched throughout the years. | |
27 .P | |
28 Although, at the surface, nmh is a toolchest, meaning a collection | |
29 of completely modularized small programs, on the source code level, | |
30 it is much more interweaved. Parts of the basic functions are | |
31 collected in a MH standard library, which is good, but often | |
32 separate functions are compiled into programs, for effiency reasons. | |
33 This lead to intricate innards. | |
34 The advent of MIME rose the complexity of email by a magnitude. This | |
35 is visible in nmh. The MIME-related parts are the most complex ones. | |
36 It's also visible that MIME support had been added on top of the | |
37 original MH later. The MH style made this easily possible, but it | |
38 also lead to duplicated functions (e.g. \f(CWshow\fP, \f(CWmhshow\fP) | |
39 and had not been thoroughly included into the concepts (e.g. the | |
40 user-visible access to whole messages and MIME parts are inherently | |
41 different). | |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
42 .P |
4 | 43 For compatibility's sake, it is a common understanding to have the |
44 default settings to be compatible, requiring any new feature to be | |
45 explicitely enabled. This puts a burden on new users, because nmh | |
46 out-of-the-box keeps staying in the same ancient style, where users | |
47 usually want to have it practical for modern emailing. | |
48 But of course, this depends on if nmh is seen to be a front-end or a | |
49 back-end. | |
50 | |
51 .H1 "My Vision | |
52 .P | |
53 The general goals of the mmh project are the following: | |
54 .BU | |
55 I believe that mmh should be perfectly suited for modern emailing, | |
56 out-of-the-box. | |
57 .BU | |
58 I care less about compatibility and more about conceptionally elegant | |
59 approaches. | |
60 .BU | |
61 I care for general, clear, and simple concepts. | |
62 .BU | |
63 I like to create an of-one-style email system. | |
64 .BU | |
65 I plan to remove any optimizations that rises obscurity, unless it | |
66 appears to be neccessary to make mmh usable at all. | |
67 .P | |
68 .B "The target user in mind | |
69 likes Unix and its philosophy. | |
70 He likes to use programs that are conceptionally appealing. | |
71 He's familiar with the command line and enjoys its power. | |
72 He is at least capable of shell scripting and wants to improve his | |
73 productivity by scripting the mail system. | |
74 His computer and operating system are from post-ANSI C times. | |
75 He likes to attach files, exchanges text containing non-ASCII | |
76 characters, signs or encrypts his messages. | |
77 He does not use bulletin boards anymore, nor non-mbox style mail | |
78 drops, nor does he rely on compatibility to nmh. | |
79 He already has and MTA/MSA and MRA running or is able to set them | |
80 up. | |
81 He does not want to have to read a book in order to make his MUA | |
82 usable. | |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
83 |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
84 .H1 "Things to do |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
85 .P |
4 | 86 |