diff options
author | Eduardo Chappa <echappa@gmx.com> | 2013-02-03 00:59:38 -0700 |
---|---|---|
committer | Eduardo Chappa <echappa@gmx.com> | 2013-02-03 00:59:38 -0700 |
commit | 094ca96844842928810f14844413109fc6cdd890 (patch) | |
tree | e60efbb980f38ba9308ccb4fb2b77b87bbc115f3 /doc/tech-notes/introduction.html | |
download | alpine-094ca96844842928810f14844413109fc6cdd890.tar.xz |
Initial Alpine Version
Diffstat (limited to 'doc/tech-notes/introduction.html')
-rw-r--r-- | doc/tech-notes/introduction.html | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/doc/tech-notes/introduction.html b/doc/tech-notes/introduction.html new file mode 100644 index 00000000..d7293842 --- /dev/null +++ b/doc/tech-notes/introduction.html @@ -0,0 +1,122 @@ +<HTML><HEAD><TITLE>Alpine Technical Notes: Introduction</TITLE></HEAD><BODY> +<H1>Introduction</H1> + +<H2><A NAME="design">Design Goals</A></H2> + +Throughout <EM>Alpine</EM> development, we have had to strike a balance +between the +need to include features which advanced users require and the need to keep +things simple for beginning users. To strike this balance, we have tried +to adhere to these design principles: <P> + +<DL COMPACT> + +<DT> + +<DD> - The model presented to the user has to be simple and +clear. Underlying system operation is hidden as much as possible. + +<DT> + +<DD> - It's better to have a few easily understood commands that can be +repeated than to have some more sophisticated command that will do the job +all at once. + +<DT> + +<DD> - Whenever the user has to select a command, file name, address, +etc., the user should be given (or can get) a menu from which to make the +selection. Menus need to be complete, small, organized and well thought +out. + +<DT> + +<DD> - <EM>Alpine</EM> must provide immediate feedback for the user with each +operation. + +<DT> + +<DD> - <EM>Alpine</EM> must be very tolerant of user errors. Any time a user is +about to perform an irreversible act (send a message, expunge messages +from a folder), <EM>Alpine</EM> should ask for confirmation. + +<DT> + +<DD> - Users should be able to learn by exploration without fear of doing +anything wrong. This is an important feature so the user can get started +quickly without reading any manuals and so fewer manuals are required. + +<DT> + +<DD> - The core set of <EM>Alpine</EM> functions should be kept to a +minimum so new +users don't feel "lost" in seemingly extraneous commands and concepts. +<P> + +</DL> <P> + +Just as there were goals relating to the look and feel of <EM>Alpine</EM>, +there were +equally important goals having to do with <EM>Alpine</EM>'s structure-the +things that +users never see but still rely on every time they use <EM>Alpine</EM>. +While <EM>Alpine</EM> +can be used as a stand-alone mail user agent, one of its strongest assets +is its use of the Internet Message Access Protocol (IMAP) for accessing +remote email folders. In addition, <EM>Pine</EM> (the predecessor of <EM>Alpine</EM>) was one of +the first programs to +support the Multipurpose Internet Mail Extensions (MIME) specification. +With MIME, <EM>Alpine</EM> users can reliably send any binary file to any other +person on the Internet who uses a MIME compliant email program. <P> + +The decision to use IMAP and MIME reflects the importance of +interoperability, standardization and robustness in <EM>Alpine</EM>. As you work +with <EM>Alpine</EM> more, you will see other features which reflect +the same values. +For example, <EM>Alpine</EM> enforces strict compliance with RFC 2822, implements a +strong mail folder locking mechanism and verifies a process before +overwriting any files (e.g. addressbook, expunging messages). <P> + +<H2><A NAME="components">Alpine Components</A></H2> + +If you have picked up the <EM>Alpine</EM> distribution, then you already know that +<EM>Alpine</EM> comes in a few different pieces. They are: <P> + +<DL COMPACT> + +<DT> <EM>Alpine</EM> + +<DD> The main code from which the <EM>Alpine</EM> program is compiled. <P> + +<DT> <EM>Pico</EM> + +<DD> <EM>Pico</EM> is the name for the <EM>Alpine</EM> composer. +The <EM>Pico</EM> code is used in two +ways: (1) it is compiled on its own to be a stand-alone editor and, (2) +it is compiled as a library for <EM>Alpine</EM> to support composition +of messages within <EM>Alpine</EM>. +<EM>Pico</EM> is <EM>Alpine</EM>'s internal editor invoked when users +need to fill in header lines or type the text of an email message. <P> + +<DT> <EM>Imap</EM> + +<DD> An API for IMAP. Includes the C-Client library, which is compiled +into <EM>Alpine</EM>, and the IMAP server <EM>IMAPd</EM>. +C-Client implements the IMAP +protocol and also negotiates all access between <EM>Alpine</EM> and +the mail folders +it operates on, even if the folders are local. +The C-Client routines are used for email folder parsing +and interpreting MIME messages. <EM>IMAPd</EM> is a separate server that handles +IMAP connections from any IMAP-compliant email program. When <EM>Alpine</EM> +accesses a remote mailbox, the <EM>Alpine</EM> program is the IMAP client and the +<EM>IMAPd</EM> program is the IMAP server. Of course, <EM>Alpine</EM> can +use any IMAP-compliant IMAP server, not just <EM>IMAPd</EM>. <P> + +</DL> + +<!-- pnuts --> + +</BODY> +</HTML> + |