The user interface, in the industrial design field of human–computer interaction, is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, whilst the machine feeds back information that aids the operators' decision-making process. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls, process controls; the design considerations applicable when creating user interfaces are related to or involve such disciplines as ergonomics and psychology. The goal of user interface design is to produce a user interface which makes it easy and enjoyable to operate a machine in the way which produces the desired result; this means that the operator needs to provide minimal input to achieve the desired output, that the machine minimizes undesired outputs to the human. User interfaces are composed of one or more layers including a human-machine interface interfaces machines with physical input hardware such a keyboards, game pads and output hardware such as computer monitors and printers.
A device that implements a HMI is called a human interface device. Other terms for human-machine interfaces are man–machine interface and when the machine in question is a computer human–computer interface. Additional UI layers may interact with one or more human sense, including: tactile UI, visual UI, auditory UI, olfactory UI, equilibrial UI, gustatory UI. Composite user interfaces are UIs that interact with two or more senses; the most common CUI is a graphical user interface, composed of a tactile UI and a visual UI capable of displaying graphics. When sound is added to a GUI it becomes a multimedia user interface. There are three broad categories of CUI: standard and augmented. Standard composite user interfaces use standard human interface devices like keyboards and computer monitors; when the CUI blocks out the real world to create a virtual reality, the CUI is virtual and uses a virtual reality interface. When the CUI does not block out the real world and creates augmented reality, the CUI is augmented and uses an augmented reality interface.
When a UI interacts with all human senses, it is called a qualia interface, named after the theory of qualia. CUI may be classified by how many senses they interact with as either an X-sense virtual reality interface or X-sense augmented reality interface, where X is the number of senses interfaced with. For example, a Smell-O-Vision is a 3-sense Standard CUI with visual display and smells; the user interface or human–machine interface is the part of the machine that handles the human–machine interaction. Membrane switches, rubber keypads and touchscreens are examples of the physical part of the Human Machine Interface which we can see and touch. In complex systems, the human–machine interface is computerized; the term human–computer interface refers to this kind of system. In the context of computing, the term extends as well to the software dedicated to control the physical elements used for human-computer interaction; the engineering of the human–machine interfaces is enhanced by considering ergonomics.
The corresponding disciplines are human factors engineering and usability engineering, part of systems engineering. Tools used for incorporating human factors in the interface design are developed based on knowledge of computer science, such as computer graphics, operating systems, programming languages. Nowadays, we use the expression graphical user interface for human–machine interface on computers, as nearly all of them are now using graphics. There is a difference between a user interface and an operator interface or a human–machine interface; the term "user interface" is used in the context of computer systems and electronic devices Where a network of equipment or computers are interlinked through an MES -or Host to display information. A human-machine interface is local to one machine or piece of equipment, is the interface method between the human and the equipment/machine. An operator interface is the interface method by which multiple equipment that are linked by a host control system is accessed or controlled.
The system may expose several user interfaces to serve different kinds of users. For example, a computerized library database might provide two user interfaces, one for library patrons and the other for library personnel; the user interface of a mechanical system, a vehicle or an industrial installation is sometimes referred to as the human–machine interface. HMI is a modification of the original term MMI. In practice, the abbreviation MMI is still used although some may claim that MMI stands for something different now. Another abbreviation is HCI, but is more used for human–computer interaction. Other terms used are operator interface terminal; however it is abbreviated, the terms refer to the'layer' that separates a human, operating a machine from the machine itself. Without a clean and usable interface, humans would not be able to
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes – an API for providing a graphical user interface for Java programs. Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract Window Toolkit. Swing provides a look and feel that emulates the look and feel of several platforms, supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform, it has more powerful and flexible components than AWT. In addition to familiar components such as buttons, check boxes and labels, Swing provides several advanced components such as tabbed panel, scroll panes, trees and lists. Unlike AWT components, Swing components are not implemented by platform-specific code. Instead, they are written in Java and therefore are platform-independent; the term "lightweight" is used to describe such an element. The Internet Foundation Classes were a graphics library for Java developed by Netscape Communications Corporation and first released on December 16, 1996.
On April 2, 1997, Sun Microsystems and Netscape Communications Corporation announced their intention to incorporate IFC with other technologies to form the Java Foundation Classes. The "Java Foundation Classes" were renamed "Swing." Swing introduced a mechanism that allowed the look and feel of every component in an application to be altered without making substantial changes to the application code. The introduction of support for a pluggable look and feel allows Swing components to emulate the appearance of native components while still retaining the benefits of platform independence. Distributed as a separately downloadable library, Swing has been included as part of the Java Standard Edition since release 1.2. The Swing classes and components are contained in the javax.swing package hierarchy. Swing is a platform-independent, "model-view-controller" GUI framework for Java, which follows a single-threaded programming model. Additionally, this framework provides a layer of abstraction between the code structure and graphic presentation of a Swing-based GUI.
Swing is platform-independent because it is written in Java. Complete documentation for all Swing classes can be found in the Java API Guide for Version 6 or the Java Platform Standard Edition 8 API Specification for Version 8. Swing is a modular-based architecture, which allows for the "plugging" of various custom implementations of specified framework interfaces: Users can provide their own custom implementation of these components to override the default implementations using Java's inheritance mechanism. Swing is a component-based framework, whose components are all derived from the javax.swing. JComponent class. Swing objects asynchronously fire events, have bound properties, respond to a documented set of methods specific to the component. Swing components are Java Beans components, compliant with the Java Beans Component Architecture specifications. Swing's heavy reliance on runtime mechanisms and indirect composition patterns allows it to respond at run time to fundamental changes in its settings.
For example, a Swing-based application is capable of hot swapping its user-interface during runtime. Furthermore, users can provide their own look and feel implementation, which allows for uniform changes in the look and feel of existing Swing applications without any programmatic change to the application code. Lightweight UI Swing's high level of flexibility is reflected in its inherent ability to override the native host operating system's GUI controls for displaying itself. Swing "paints" its controls using the Java 2D APIs, rather than calling a native user interface toolkit. Thus, a Swing component does not have a corresponding native OS GUI component, is free to render itself in any way, possible with the underlying graphics GUIs. However, at its core, every Swing component relies on an AWT container, since JComponent extends Container; this allows Swing to plug into the host OS's GUI management framework, including the crucial device/screen mappings and user interactions, such as key presses or mouse movements.
Swing "transposes" its own semantics over the underlying components. So, for example, every Swing component paints its rendition on the graphic device in response to a call to component.paint, defined in Container. But unlike AWT components, which delegated the painting to their OS-native "heavyweight" widget, Swing components are responsible for their own rendering; this transposition and decoupling is not visual, extends to Swing's management and application of its own OS-independent semantics for events fired within its component containment hierarchies. Speaking, the Swing architecture delegates the task of mapping the various flavors of OS GUI semantics onto a simple, but generalized, pattern to the AWT container. Building on that generalized platform, it establishes its own rich and complex GUI semantics in the form of the JComponent model; the Swing library makes heavy use of the Model/View/Controller software design pattern, which conceptually decouples the data being viewed from the user interface controls through which it is viewed.
Because of this, most Swing components have associated models, the programmers can use various default implementations or provide their own. The framework provides default implementations of model interfaces for all of its concrete components; the typical use of the Swing framework does not require the creation of custom models, as the framework provides a set of default implementations that are transparently, by default, associated with
Personal digital assistant
A personal digital assistant known as a handheld PC, is a variety mobile device which functions as a personal information manager. PDAs were discontinued in the early 2010s after the widespread adoption of capable smartphones, in particular those based on iOS and Android. Nearly all PDAs have the ability to connect to the Internet. A PDA has an electronic visual display. Most models have audio capabilities, allowing usage as a portable media player, enabling most of them to be used as telephones. Most PDAs can access intranets or extranets via Wi-Fi or Wireless Wide Area Networks. Sometimes, instead of buttons, PDAs employ touchscreen technology; the technology industry has recycled the term personal digital assistance. The term is more used for software that identifies a user's voice to reply to the queries; the first PDA, the Organizer, was released in 1984 by Psion, followed by Psion's Series 3, in 1991. The latter began to resemble the more familiar PDA style, including a full keyboard; the term PDA was first used on January 7, 1992 by Apple Computer CEO John Sculley at the Consumer Electronics Show in Las Vegas, referring to the Apple Newton.
In 1994, IBM introduced the first PDA with full telephone functionality, the IBM Simon, which can be considered the first smartphone. In 1996, Nokia introduced a PDA with telephone functionality, the 9000 Communicator, which became the world's best-selling PDA. Another early entrant in this market was Palm, with a line of PDA products which began in March 1996. A typical PDA has a touchscreen for navigation, a memory card slot for data storage, IrDA, Bluetooth and/or Wi-Fi. However, some PDAs may not have a touchscreen, using softkeys, a directional pad, a numeric keypad or a thumb keyboard for input. To have the functions expected of a PDA, a device's software includes an appointment calendar, a to-do list, an address book for contacts, a calculator, some sort of memo program. PDAs with wireless data connections typically include an email client and a Web browser, may or may not include telephony functionality. Many of the original PDAs, such as the Apple Newton and Palm Pilot, featured a touchscreen for user interaction, having only a few buttons—usually reserved for shortcuts to often-used programs.
Some touchscreen PDAs, including Windows Mobile devices, had a detachable stylus to facilitate making selections. The user interacts with the device by tapping the screen to select buttons or issue commands, or by dragging a finger on the screen to make selections or scroll. Typical methods of entering text on touchscreen PDAs include: A virtual keyboard, where a keyboard is shown on the touchscreen. Text is entered by tapping the on-screen keyboard with stylus. An external keyboard connected via Infrared port, or Bluetooth; some users may choose a chorded keyboard for one-handed use. Handwriting recognition, where letters or words are written on the touchscreen with a stylus, the PDA converts the input to text. Recognition and computation of handwritten horizontal and vertical formulas, such as "1 + 2 =", may be a feature. Stroke recognition allows the user to make a predefined set of strokes on the touchscreen, sometimes in a special input area, representing the various characters to be input.
The strokes are simplified character shapes, making them easier for the device to recognize. One known stroke recognition system is Palm's Graffiti. Despite research and development projects, end-users experience mixed results with handwriting recognition systems; some find it frustrating and inaccurate, while others are satisfied with the quality of the recognition. Touchscreen PDAs intended for business use, such as the BlackBerry and Palm Treo also offer full keyboards and scroll wheels or thumbwheels to facilitate data entry and navigation. Many touchscreen PDAs support some form of external keyboard as well. Specialized folding keyboards, which offer a full-sized keyboard but collapse into a compact size for transport, are available for many models. External keyboards may attach to the PDA directly, using a cable, or may use wireless technology such as infrared or Bluetooth to connect to the PDA. Newer PDAs, such as the HTC HD2, Apple iPhone, Apple iPod Touch, Palm Pre, Palm Pre Plus, Palm Pixi, Palm Pixi Plus, Google Android include more advanced forms of touchscreen that can register multiple touches simultaneously.
These "multi-touch" displays allow for more sophisticated interfaces using various gestures entered with one or more fingers. Although many early PDAs did not have memory card slots, now most have either some form of Secure Digital slot, a CompactFlash slot or a combination of the two. Although designed for memory, Secure Digital Input/Output and CompactFlash cards are available that provide accessories like Wi-Fi or digital cameras, if the device can support them; some PDAs have a USB port for USB flash drives. Some PDAs use microSD cards, which are electronically compatible with SD cards, but have a much smaller physical size. While early PDAs connected to a user's personal computer via serial ports or another proprietary connection, many today connect via a USB cable. Older PDAs were unable to connect to each other via USB, as their implementations of USB didn't support acting as the "host"; some early PDAs were able to connect to the Internet indirectly by means of an external modem connected via the PDA's serial port or "sync" connector, or directly by using an expansion card that provided an Ethernet port.
Most modern PDAs have a popular wireless protocol for mobile devices. Bluetooth can be used to connect keyboards, headsets, GPS receiver