User (computing) - End-user

See also: End-user

The term end-user refers to the ultimate operator of a piece of software, but it is also a concept in software engineering, referring to an abstraction of that group of end-users of computers (i.e. the expected user or target-user). The term is used to distinguish those who only operate the software from the developer of the system, who knows a programming language and uses it to create new functions for end-users.

This abstraction is primarily useful in designing the user interface, and refers to a relevant subset of characteristics that most expected users would have in common. In user-centered design, several fictional Personas are created to represent the archetypal end users, which may include differences concerning which computer interfaces with which each persona is comfortable (due to experience or their inherent simplicity), and the persona's technical expertise and degree of knowledge in specific fields or disciplines.

When few constraints are imposed on the end-user category, especially when designing programs for use by the general public, it is common practice to expect minimal technical expertise or previous training in end users (the general meaning associated with the term end-user). In this context, easy-to-learn GUIs (possibly with a touchscreen) are usually preferred to more sophisticated command line interfaces for the sake of usability.

The end-user development discipline blurs the typical distinction between users and developers. It designates activities or techniques in which people who are not professional developers create automated behavior and complex data objects without significant knowledge of a programming language.

Read more about this topic:  User (computing)