End-user computing
From Wikipedia, the free encyclopedia
End User Computing (EUC) is a group of approaches to computing that aim at better integrating end users into the computing environment or that attempt to realize the potential for high-end computing to perform in a trustworthy manner in problem solving of the highest order. [1] [2] [3]
The EUC Ranges section describes two types of approaches that are at different ends of a spectrum. A simple example of these two extremes can use the SQL context.
- The first approach would have canned queries and reports that for the most part would be invoked with buttons and/or simple commands. In this approach, a computing group would keep these canned routines up to date through the normal development/maintenance methods.
- For the second approach, SQL administration would allow for end-user involvement at several levels including administration itself. Users would also define queries though the supporting mechanism may be constrained in order to reduce the likelihood of run-away conditions that would have negative influence on other users. We see this already in some business intelligence methods which build SQL, including new databases, on the fly. Rules might help dampen effects that can occur with the open-ended environment. The process would expect, and accommodate, the possibility of long run times, inconclusive results and such. These types of unknowns are undecidable 'before the fact'; the need to do 'after the fact' evaluation of results is a prime factor of many higher-order computational situations but cannot (will not) be tolerated by an end user in the normal production mode.
Between these two extremes view of EUC there are many combinations. Some of the factors contributing to the need for further EUC research are knowledge processing, pervasive computing, issues of ontology, interactive visualization and analysis coupling schemes (see Duck test), and the like.
Contents |
[edit] EUC Ranges
EUC might work by one type of approach that attempts to integrate the human interface ergonomically into a user centered design system throughout its life cycle. In this sense, EUC's goal is to allow unskilled staff to use expensive and highly skilled knowledge in their jobs, by putting the knowledge and expertise into the computer and teaching the end user how to access it. At the same time, this approach is used when highly critical tasks are supported by computational systems (commercial flight, nuclear plant, and the like).
Another approach to EUC allows end users (SMEs, domain experts) to control and even perform software engineering and development. In this case, it can be argued that this type of approach results mainly from deficiencies in computing that could be overcome with better tools and environments. But, high-end roles for the computer in non-trivial domains necessitate (at least, for now) a more full interchange (bandwidth for conversation) that is situational and subject to near exhaustive scrutiny (there are limits influencing how far we can go (bringing up, the necessity for a behavioral (also, see black box below) framework)). Such cannot be filled by a pre-defined system in today's world. In a sense, the computer needs to have the same credentials as does a cohort (scientific method of peer review) in the discipline. Needless to say, this type of computing falls on the more 'open' side of the fence where scientific knowledge is not wrapped within the cloak of IP.
In the first type of approach of EUC described above, it appears easier to teach factory workers, for example, how to read dials, push buttons, pull levers, and log results than to teach them the manufacturing process and mathematical models. The current computing trend is to simulate a console with similar dials, sliders, levers, and switches, which the end user is taught to use. To further reduce end user training, computer consoles all contain components which are shaped, labeled, coloured, and function similarly. EUC developers assume that once the end user knows what and how a particular lever works, they will quickly identify it when it appears in a new console. This means that once staff learns one console, they will be able to operate all consoles. Admittedly each console will have new components, but training is limited to those, not the whole console. This approach requires more than just Pavlovian responses as the console content will have meaning that is of use and power to the particular computing domain. That is, there may be training that reduces the time between sensor reading and action (such as the situation for a pilot of a commercial plane) however, the meaning behind the reading will include other sensor settings as well as whole context that may be fairly involved.
Computing of this type can be labelled black box where trust will be an essential part, behavioral analysis is the name of the game (see Duck test), and there is a disparate (and very, very wide) gap between the domain and the computer-support ontologies.
In the other type of EUC described above, it has been argued that a (teaching programming and computing concepts to a domain expert (say, one of the sciences or engineering disciplines) and letting the expert develop rules (this type of action can be subsumed under the topic of business rules)) is easier than b (teaching the intricacies of a complex discipline to a computer worker). b is the normal approach of the IT-driven situation. a has been the reality since day one of computing in many disciplines. One may further argue that resolving issues of a and b is not unlike the interplay between distributed and centralized processing (which is an age-old concern in computing). In this sense of EUC, there may be computer scientists supporting decisions about architecture, process, and GUI. However, in many cases, the end user owns the software components. One thrust related to this sense of EUC is a focus on providing better languages to the user. ICAD was an example in the KBE context. Of late, this discipline has moved to a co-joint architecture that features advanced interactive domain visualization coupled with a complicated API accessed via VBA, C++, and the like. This type of co-jointness is an example of a domain tool augmented with non-trivial extensibility.
[edit] Trend
The historical view regarding end users is being eroded by the internet and wireless communication, where the traditional end user is able to actively contribute and add value to the computer system. wikis are one example where end users provide the content and free the webmaster to manage the site. Another example within the computer field is FLOSS, where end users engage in all aspects of software development, from feature requests, through testing and reviews, to usability, documentation, and distribution. Music, pictures, and documents are remixed and edited to satisfy personal taste and demand. The consequence is that many countries and industries have been slow or unwilling to adjust to this emerging society, but some have seen the potential and are exploring economic possibilities.
Another trend is where users specify, and even develop, rules that may be fairly normal relationships (SQL) or be hard-core numerical processes that may require attention being given to serious computational characteristics, such as ill-conditioning, parallelisms. and similar issues of an ongoing nature.
[edit] Research
The human interface receives continuous attention as emerging interfaces reveal more possibilities and risks. The quest to both internationalize (i18n) and localize (L10n) software is hampered by computers designed for the English alphabet, but other major languages, such as Chinese, Japanese, and Arabic, have different requirements.
Other studies range from website accessibility to pervasive computing, with the focus ranging from the human to the computer. The issue centres around how much the human can safely and reliably adjust to the computer's I/O devices on the one hand, and how unobtrusively the computer can detect the human's needs on the other.
Furthermore, issues related to computing ontologies (example: the Language/Action perspective has found success in CRM, etc.) continue to be of interest to EUC.
[edit] Analysis
The concepts related to the end user cover a wide range (novice user to intellectual borg—see Slogan 2), hence End User Computing can have a range of forms and values. Most early computer systems were tightly controlled by an IT department; 'users' were just that. However, at any point in the evolution of computer systems through time, there was serious work in several domains that required user development. The dynamics of the power struggles between centralized and decentralized computing have been a fact; this was partially due to the emergence of the mid-sized computers (VAX, etc.). Then, the advent of the personal workstation opened up the door, so to speak, since it allowed a more pervasive type of computation to emerge. The recent advent of 'web' services has extended the issues to a more broad scope.
In the sense of serious domain computing and given the intertwining of computation into all advanced disciplines, any tool (inclusive of any type of capability related to a domain/discipline) that is provided by a computer becomes part of the discipline (methodology, etc.).
As such, the issue arises about how open the tool is to scrutiny. Some disciplines require more understanding of the tool set than do others. That is, tools that are operational in scope require less understanding than those that are ontological. As an example of the latter type of influence on disciplines, consider the impact that the computer has had on the scientific method.
Some of the issues related to End User Computing concern architecture (iconic versus language interface, open versus closed, and others). These continue to be studied. Other issues relate to IP, configuration, maintenance, ... End User Computing allows more user input into system affairs that can range from personalization to full-fledged ownership of the system.
Examples of End User Computing are systems built using the 4GLs, such as MAPPER or SQL, or one of the 5GLs, such as ICAD. ICAD (in the KBE domain) stands as a prime example since it is associated with the pervasive use of Lisp (one of the 3GLs) by Engineers to accomplish remarkable effects through a long economic cycle.
[edit] Slogans
- Computing concerns and good End User Computing can be antithetically related.
- Good End User Computing practices might help temper things such as the AI Winter.
- The computational needs to wed with the phenomenal (are 'borgs' inevitable?).
- There is always more than meets the eye (or, GUI, or any interface, is only part of the truth).
[edit] References
- ^ McBride, Neil, "Towards User-Oriented control of End-User Computing in Large Organizations"
- ^ Mahmood, Adam, Advances in End User Computing Series University of Texas, USA,ISSN: 1537-9310
- ^ End User Computing The Institute for End User Computing, Inc.
[edit] See also
- Software engineering
- Usability engineering
- User (computing)
- End-user (computer science)
- End User Development
- Usability
- User interface
- Computer systems
- Scientific method
- Knowledge-Based Engineering
- Computer addiction
- Mobile phones and driving safety
- Digital persona
- Luser
- Defensive computing
- Decentralized Computing