Mercurial > docs > master
comparison ch01.roff @ 48:d28ff07dfc0f
Rework in the Intro, with new text.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sat, 19 May 2012 17:26:15 +0200 |
parents | eae5e50381ce |
children | a446f89cc5d9 |
comparison
equal
deleted
inserted
replaced
47:eae5e50381ce | 48:d28ff07dfc0f |
---|---|
311 .P | 311 .P |
312 Any effort needs to be targeted towards a specific goal | 312 Any effort needs to be targeted towards a specific goal |
313 in order to be successful. | 313 in order to be successful. |
314 Following is a description of the imagined typical mmh user. | 314 Following is a description of the imagined typical mmh user. |
315 mmh should satisfy his needs. | 315 mmh should satisfy his needs. |
316 Actually, as mmh is my personal version of MH, this is a description | |
317 of myself. | |
316 .P | 318 .P |
317 The target user of mmh likes Unix and its philosophy. | 319 The target user of mmh likes Unix and its philosophy. |
318 He likes to use programs that are conceptionally appealing. | 320 He likes to use programs that are conceptionally appealing. |
319 He's familiar with the command line and enjoys its power. | 321 He's familiar with the command line and enjoys its power. |
320 He is at least capable of shell scripting and wants to improve his | 322 He is at least capable of shell scripting and wants to improve his |
324 He is able to setup email system components besides mmh, | 326 He is able to setup email system components besides mmh, |
325 and actually likes the choice to pick the ones he preferes. | 327 and actually likes the choice to pick the ones he preferes. |
326 He has a reasonably modern system that complies to standards, | 328 He has a reasonably modern system that complies to standards, |
327 like POSIX and ANSI C. | 329 like POSIX and ANSI C. |
328 .P | 330 .P |
329 XXX common scenarios? | 331 The typical user invokes mmh commands directly in an interactive |
330 .P | 332 shell session, but as well, he uses them to automate mail handling tasks. |
331 General assumptions of the project are: | 333 Likely, he runs his mail setup on a server machine, to which he connects |
332 .BU | 334 via ssh. He might also have local mmh installations on his workstations, |
333 Elegance \(en being simplicity, clarity and generality \(en is most important. | 335 but does rather not rely on graphical frontends. He definitely wants |
334 .BU | 336 to be flexible and thus be able to change his setup to suite his needs. |
335 Concepts are more important than concrete implementations. | 337 .P |
336 .BU | 338 The typical mmh user is a programmer himself. |
337 Time and space optimizations are only useful if absolutely needed to make | 339 He likes to, occasionally, take the opportunity of Free Software to put |
338 the software usable. | 340 hands on and get involved in the software he uses. |
341 Hence, he likes small and clean code bases and he cares for code quality. | |
342 In general, he believes that: | |
343 .BU | |
344 Elegance \(en i.e. simplicity, clarity and generality \(en | |
345 is most important. | |
346 .BU | |
347 Concepts are more important than the concrete implementation. | |
348 .BU | |
349 Code optimizations for anything but readability should be avoided | |
350 if possible. | |
339 .BU | 351 .BU |
340 Having a lot of choice is bad. | 352 Having a lot of choice is bad. |
341 | 353 .BU |
342 .U2 "Work to do | 354 Removed code is debugged code. |
355 | |
356 .U2 "Goals | |
343 .P | 357 .P |
344 The general goals for the mmh project are the following: | 358 The general goals for the mmh project are the following: |
345 .BU | 359 .IP "Stream-lining |
346 mmh should be perfectly suited for modern emailing, out-of-the-box. | 360 Mmh should be stripped down to its core, which is the MUA part of emailing. |
347 This is a necessity to spread among new users. | 361 The feature set should be distilled to the ones really needed, |
348 .BU | 362 effectively removing corner-cases. |
349 The system shall be of-one-style. It should feel like cast as one. | 363 Functions that are not related to the main task should be removed. |
350 .P | 364 This includes, the MTA and MRA facilities. |
351 To do list: | 365 Choice should be reduced to the main options. |
352 .BU | 366 .IP "Modernizing |
353 Remove the MTA and MRA facilities. Mmh shall concentrate on the MUA | 367 Mmh's feature set needs to become more modern. |
354 task. Mail shall enter mmh's mail storage via the system mail drop | 368 Better support for attachment and digital cryptography needs to be added. |
355 and it shall leave mmh via the local \fLsendmail\fP command. | 369 MIME support needs to be integrated deeper and more naturally. |
356 .BU | 370 The modern email features need to be readily available, out-of-the-box. |
357 Remove any further functions that are not related to mmh's main task. | 371 And on the other hand, |
358 Bulletin board support is on example. Also remove support for ancient | 372 bulletin board support and similar obsolete facilities need to be dropped |
359 technologies, like hardcopy terminals. | 373 out. |
360 .BU | 374 Likewise, ancient technologies, like hardcopy terminals, should not |
361 Refactor the source code to meet modern style criteria. Use | 375 be supported any further. |
362 standardized library functions when possible. | 376 .IP "Code style |
363 .BU | 377 Mmh's source code needs to be updated to modern standards. |
364 Replace performance optimizations by clear and readable code. | 378 Standardized library functions should replace non-standard versions |
365 .BU | 379 whenever possible. |
366 Reduce the feature set to the commonly used one, removing | 380 Code should be separated into distinct modules when possible. |
367 corner-cases. Set sane default values. | 381 Time and space optimizations should to be replaced by |
368 .BU | 382 clear and readable code. |
369 Add better attachment support. Add support for digital signatures and | 383 A uniform programming style should prevail. |
370 encryption. | 384 .IP "Homogenity |
371 .BU | 385 The available concepts need to be expanded as far as possible. |
372 Merge \fLshow\fP and \fLmhshow\fP into one single mail display program. | 386 A small set of concepts should prevail thoroughly throughout the system. |
373 Integrate MIME support deeper and more natural into MH. | 387 The whole system should appear to be of-one-style. |
374 .BU | 388 It should feel like being cast as one. |
375 Provide a ready-to-use setup out-of-the-box. | |
376 | |
377 .U2 "Methods | |
378 .P | |
379 foo |