Useware. Useware is a term introduced in 1998 to encompass all hardware and software components of a technical system designed for interactive use. It focuses on technological design in relation to human abilities and needs. A promising method to design technical products is to understand human abilities and limitations and tailor the technology to them.

Today, useware necessitates its own development needs, which are sometimes greater than those in classical development fields. Therefore, usability is increasingly recognized as a value-adding factor. Often, the useware of machines with similar or equal technical functions is the only characteristic that sets them apart.

Useware engineering
Similar to software engineering, useware engineering implies the standardized production of useware by engineers and the associated processes (see Fig. 1). The aim of useware engineering is to develop interfaces that are easy to understand and efficient to use, tailored to human work tasks. Additionally, the interfaces represent machine functionality without overemphasizing it.

Therefore, the objective of systematic useware engineering guarantees high usability based on the actual tasks of the users. However, it requires an approach that comprises active and iterative participation of different groups of people.

The professional associations GfA (Gesellschaft für Arbeitswissenschaft), GI (Gesellschaft für Informatik), VDE-ITG (The Information Technology Society in VDE), and VDI/VDE GMA (The Society for Measurement and Automatic Control in the VDI/VDE) agreed in 1998 on defining useware as a new term. The term "useware" was intentionally selected in linguistic analogy to hardware and software.

Consequently, useware engineering developed in a similar way to the development of engineering processes (see Fig. 2). This reinforces the principal demand for structured development of user-centered user interfaces, as advocated by Ben Shneiderman. After many years of function-oriented development, human abilities and needs are brought into focus. The only promising method to develop future technology products and systems is to understand the users’ abilities and limitations and to aim the technology in that direction.

The useware development process involves the following steps: analysis, structural design, design, realization, and evaluation. These steps should not be considered in isolation but rather as overlapping stages. Maintaining continuity throughout the process and employing appropriate tools, such as those based on the Extensible Markup Language (XML), helps prevent information loss and breaks in media.

Analysis
Understanding that humans have varied learning, thinking, and working styles is crucial when creating a user interface. The first step is to analyze users, their tasks, and their work settings to figure out what they really need. This analysis is key to designing an interface that's focused on both the user and the task, treating humans and machines as partners in interaction. Techniques like structured interviews, observations, and card sorting help get a full picture of users and their behaviour, which is essential for grasping their tasks, user groups, and work environments fully. Engaging multiple experts such as engineers, computer scientists, and psychologists is crucial, particularly in the analysis phase, to generate task models for documentation and interface design, which inherently include a functional model of the process and/or machine.

Structure design
The results of the analysis phase inform the structuring phase, where an abstract use model is developed based on this information, which is platform-independent. This use model serves as the foundation for the future user interface, providing a formal representation of use contexts, tasks, and information required for the machine's functionality. Modeled using the Useware Markup Language (useML) within a model-based development environment, the use model defines the basic structure of the interface.

Design
During the structuring phase, a hardware platform for the useware must be chosen in parallel. This selection considers both the environmental demands of machine usage, such as pollution, noise, and vibration, and the users' requirements, including display size and optimal interaction devices. Additionally, economic factors play a role. For extensively networked models or those comprising numerous elements, adequate display size is essential for visualizing information structures. These considerations are influenced by user groups and usage contexts.

Realization/prototyping
During prototyping, developers need to choose a development tool. If the selected environment allows for imports, the developed use model can be brought in, facilitating the creation of the user interface. This typically involves refining dynamic components and dialogue design. Often, there's a disconnect between the structuring and fine design phases. The current array of development tools offers a broad range of notations. Developers must represent the useware through prototypes, such as paper prototypes or Microsoft PowerPoint prototypes.

Evaluation
Continuous evaluation throughout the development process enables the early detection of product issues, thereby reducing development costs. It's crucial to assess not only design aspects but also structural elements like navigational concepts during evaluation. Research indicates that 60% of all usage errors stem from structural deficiencies rather than poor design. Consequently, the evaluation phase must be viewed as a cross-sectional task throughout the entire development process. Therefore, integrating users into product development is paramount.

References

Further reading
 Oberquelle, H. (2002): Useware Design and Evolution: Bridging Social Thinking and Software Construction. In: Y. Dittrich, C. Floyd, R. Klischewski (Hrsg.): Social Thinking–Software Practice, S. 391–408, Cambridge, London: MIT-Press
 For further information see the Useware-Forum  17 March 2009

Computing terminology