The user interface (UI) is the space where interactions between users and PAMoC occur. Its goal is to make the use of PAMoC easy, efficient, and enjoyable (user-friendly) until the target is reached. This means, among other things, that the user will be asked to provide only those data necessary to obtain the desired information, that are presented clearly and concisely.
Since its first version (including precursors) the PAMoC code has been designed to work in “batch mode”, as opposed to the interactive mode in which the user, from a remote terminal, sends commands which are often determined by the response of the computer to previous commands. Non-interactive use usually involves recourse to a high-level program, for example a shell script, which can execute multiple programs, with some additional “glue” logic. A running script is usually executed from an interactive “login session”, i.e. a Unix-like “command line interface” or “command language interpreter” (CLI), also known as “command-line user interface” or “character user interface” (CUI).
PAMoC has never been equipped with a command line interface because, for most people, learning and remembering typed commands is hard unless (even if) they use the commands all the time. Other disadventages of command line interfaces are: (a) a command has to be typed precisely, otherwise the command will not respond or fail; (b) if an instruction is mistyped and an error occurs, users often have to start back from the beginning of the process; (c) use can't just guess what the instruction might be and user can't just "have a go".
In general, to launch a PAMoC execution you must use an operating system command line interface (i.e. a distinct program supplied with the operating system, which is usually called a command-line interpreter, command processor or “shell”). The general pattern of such a command line is described in a different section of this manual (see “Exchanging data with PAMoC: the I/O system”.
Although we decided to design PAMoC for use in batch mode, it was immediately clear that an interactive user interface would also be very useful. The main reason that pushed us to introduce an interactive user interface in PAMoC was the need to test parts of the code repeatedly, without having to restart the program from the beginning. Also the opportunity to use the PAMoC library for various types of applications (such as extracting data from PAMoC archives, comparing, verifying and processing data) and, above all, the need to carry out graphic analysis of the data were strong incentives to the development of an interactive interface. This interface should have been fast to use, fast to develop, and allow good control over the software. Thus the development of TUI-PAMoC began.
TUI-PAMoC is a separate version of PAMoC that uses an interactive text-based user interface (TUI) [1 Text-based user interface (TUI)] and shares the rest of the code with PAMoC. The TUI present the user with all PAMoC features through a sequence of menus, each of which is displayed individually on the screen.