Thursday, August 26, 2010

Character user interface
A character user interface(CUI) or command-line interface (CLI) is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks. This text-only interface contrasts with the use of a mouse pointer with a graphical user interface (GUI) to click on options, or menus on a text user interface (TUI) to select options. This method of instructing a computer to perform a given task is referred to as "entering" a command: the system waits for the user to conclude the submitting of the text command by pressing the "Enter" key. A command-line interpreter then receives, analyses, and executes the requested command. The command-line interpreter may be run in a text terminal or in a terminal emulator window as a remote shell client. Upon completion, the command usually returns output to the user in the form of text lines on the CLI. This output may be an answer if the command was a question, or otherwise a summary of the operation.
The concept of the CLI originated when teletypewriter machines were connected to computers in the 1950s, and offered results on demand, compared to batch oriented mechanical punched card input technology. Dedicated text-based CRT terminals followed, with faster interaction and more information visible at one time, then graphical terminals enriched the visual display of information. Currently personal computers encapsulate all three functions (batch processing, CLI, GUI) in software.
The CLI continues to co-evolve with GUIs like those provided by Microsoft Windows, Mac OS and the X Window System. In some applications, such as MATLAB and AutoCAD, a CLI is integrated with the GUI, with the benefits of both.
A CLI is used whenever a large vocabulary of commands or queries, coupled with a wide (or arbitrary) range of options, can be entered more rapidly as text than with a pure GUI. This is typically the case with operating system command shells. Also, some computer languages (such as Python, Forth, LISP and many dialects of BASIC) provide an interactive command-line mode to allow for experimentation.
CLIs are often used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users. CLIs are also popular among people with visual disability, since the commands and feedbacks can be displayed using Refreshable Braille displays.
A program that implements such a text interface is often called a command-line interpreter or shell. Examples include the various Unix shells (sh, ksh, csh, tcsh, bash, etc.), the historical CP/M, and MS-DOS/IBM-DOS's COMMAND.COM, the latter two based heavily on DEC's RSX and RSTS CLIs. (DOS, i.e. MS-DOS/IBM-DOS, is actually is based on CP/M, DOS having been originally written as a substitute for CP/M-86 when its release was delayed.)
In November 2006, Microsoft released version 1.0 of Windows PowerShell (formerly codenamed Monad), which combined features of traditional UNIX shells with their object-oriented .NET Framework. MinGW and Cygwin are open-source packages for Windows that offer a Unix-like CLI. Microsoft provides MKS Inc.'s ksh implementation MKS Korn shell for Windows through their Services for UNIX add-on.
The latest versions of the Macintosh operating system are based on a variation of UNIX called Darwin. On these computers, users can access a Unix-like command-line interface called Terminal found in the Applications Utilities folder. (This terminal uses bash by default.) applications provide both a CLI and a GUI. The engineering/scientific numerical computation package MATLAB provides no GUI for some calculations, but the CLI can handle any calculation. The three-dimensional-modeling program Rhinoceros 3D provides a CLI as well as a distinct scripting language. In some computing environments, such as the Oberon or Smalltalk user interface, most of the text which appears on the screen may be used for giving commands.

Comparing GUI & CUI
The trend in user interface design has shifted from CUI to GUI. This has been supported by many studies that show the advantages of GUI. Rauterberg evaluated menu selection using a CUI and a GUI for both novices and experts.
·         Users were faster with the GUI: experts needed 51% less time to complete tasks.
·         Differences during the performance of file directory and structure utility tasks: A significant improvement was found in the ability of novice users to learn and perform with the GUI.
·          Comparison in the word-processing and spreadsheet task activities: The users completed 35 % more tasks, were 17% more accurate, were less frustrated and less fatigued with GUI than with CUI. Staggers compared a legacy CUI and a GUI prototype to discover the differences in nurse’s response time, errors, and satisfaction. The result shows GUI superior to CUI.
·         However, a GUI does not automatically mean direct manipulation or ease of use: Whiteside compared outcomes for users of three different systems—command, menu, and iconic (GUI) systems. They found no significant differences in performance between the three formats for experts and performance degradation for novices using the GUI interface.
·         It was also discovered that experienced users of word-processing programs performed worse with a GUI than with a CUI.
·         It was found that experienced command-based users learning Apple applications had problems selecting icons, opening and closing system files, and creating documents.
These inconsistent results show that, despite the popularity of GUI and the perceived superiority of GUI over CUI, caution needs to be exercised with regard to the evaluation of GUI and CUI. Many factors can affect the usability of an interface, whether it is graphic or text-based. These factors include user types, expertise, tasks, etc.


1 comment: