User Interface (UI) A user interface is the system by which people (users) interact with a machine. Theuser interface includes hardware (physical) and software (logical) components. Userinterfaces exist for various systems, and provide a means of: • Input : allowing the users to manipulate a system, and/or • Output : allowing the system to indicate the e f f e c t s o f t h e u s e r s ' manipulation.Generally, the goal of human-machine interaction engineering is to produce a userinterface which makes it easy, efficient, and enjoyable to operate a machine in theway which produces the desired result. This generally means that the operatorneeds to provide minimal input to achieve the desired output, and also that themachine minimizes undesired outputs to the human.Ever since the increased use of personal computers and the relative decline insocie tal awaren ess of heavy mac hinery, the ter m user inter face has taken onoverto nes of the (g raphic al) us er int erface, while industria l control panel andmachinery control design discussions more commonly refer to humanmachineinterfaces.Other terms for user interface include human-computer interface (HCI) and man-machine interface (MMI) PARC UI and Graphical UI The PARC User Interface (PARC UI is the interface researched and developed atXerox labs) consisted of graphical elements such as windows, menus, radio buttons,check boxes and ico ns. The PARC Us er Int erface emp loys a pointing device in addition to a keyboard. These aspects can be emphasized by using the alternativeacronym WIMP, which stands for Windows, Icons, Menus and Pointing device.In computing and
telecommunications, a menu is a list of commands presented toan operator by a computer or communications system. A menu is used in contrastto a command-line interface, where instructions to the computer are given in theform of commands (or verbs).Choice s given fro m a menu ma y be selec ted by the operator by a num ber of methods (called interfaces): • Depressing one or more keys on the keyboard or mouse • Positioning a cursor or reverse video bar by using a keyboard, mouse, orremote control D-pad • Using an electromechanical pointer, such as a light pen • Touching the display screen with a finger • Speaking to a voice-recognition systemA computer using a graphical user interface presents menus with a combination of text and symbols to rep resent choice s. By cli cking on one of the symbols, theoperator is selecting the instruction that the symbol represents. A context menu is amenu in which the choices presented to the operator are automatically modifiedaccording to the current context in which the operator is working.A common use of menus is to provide convenient access to various operations suchas saving or opening a file, quitting a program, or manipulating data. Most widgettoolkits provide some form of pull-down or pop-up menu. Pull-down menus are thetype commonly used in menu bars (usually near the top of a
window or screen),which are most often used for performing actions, whereas pop-up (or "fly-out")menus are more likely to be used for setting a value, and might appear anywhere ina window.According to tr aditional human interfac e guidelines, menu names were always supposed to be verbs, such as"file", "edit" and so on. This has been largely ignored insubsequent user interface developments. A single wordverb however is sometimes unclear, and so as to allow formultiple word menu names, the idea of a vertical menuwas invented, as seen in NeXTSTEP.Menus are now also seen in consumer electronics, starting with TV sets that hadthen-new on-scree n displa ys in the ear ly 1990s, and extending int o compu termonitors, VCRs, and DVD players. Menus allow the control of settings like tint, brightness, contrast, bass and treble, and other functions such as channel memoryand clo sed captioning. Other electr onics with text- only displ ays can also havemen us, anything fro m busine ss telephone sys tems with digita l telephones, to weather radios that can be set to respond only to specific weather warnings in aspecific area. Other more recent electronics in the 2000s also have menus, such asdigital media players. Sub-menus Menu and expanded sub-menu Menus are sometimes hierarchically organized,allowing navigation through different levels of the menu structure. Selecting a menuentry with an arrow will expand it, showing a second menu (the submenu) withoptions related to the selected entry.Usability of submenus has been criticized as difficult, because of the narrow heightthat must be crossed by the pointer. The steering law predicts that this movement
will be slow, and any error in touching the boundaries of the parent menu entry willhide the sub-menu. Some techniques proposed to alleviate these errors are keepingthe sub-menu open while moving the pointer in diagonal, and using Mega Drop-Down menus. Forms WebformA webform on a web page allows a user to enter data that is sent to a serverfor processing. Webforms resemble paper forms because internet users fillout the forms using checkboxes, radio buttons, or text fields. For example,w e b f o r m s c a n b e u s e d t o e n t e r s h i p p i n g o r c r e d i t c a r d d a t a t o o r d e r a product or can be used to retrieve data (e.g., searching on a search engine).In addition to functioning as input templates for new information, webformscan also be used to query and display existing data in a similar manner tomail merge forms, with the same advantages. The decoupling of messagestructure and underlying data allow both to vary independently. The use of webforms for this purpose avoids the problems associated with explicitlycreating separate web pages for each record in a database.Webforms are defined in formal programming languages such as HTML, Perl,P H P , J a v a o r . N E T . T h e implementations of these languages o f t e n automatically inv oke user int erfac e idi oms, suc h as grids and themes, minimizing programming time, costs and risks.Windows FormsWindows Forms is the name given to the graphical application programminginterface (API) included as a
part of Microsoft's .NET Framework, providingaccess to the native Microsoft Windows interface elements by wrapping theexisting Windows API in managed code