- End-user computing
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. [ McBride, Neil, " [http://www.cse.dmu.ac.uk/~nkm/EUC1.html Towards User-Oriented control of End-User Computing in Large Organizations] "] [Mahmood, Adam, [http://www.idea-group.com/bookseries/details.asp?id=3 Advances in End User Computing Series] University of Texas, USA,ISSN: 1537-9310] [ [http://www.ieuc.org/end-user-computing.html End User Computing] The Institute for End User Computing, Inc.]
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
SQLcontext. and php
: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,
SQLadministration 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 intelligencemethods 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
knowledgeprocessing, pervasive computing, issues of ontology, interactive visualizationand analysis coupling schemes (see Duck test), and the like.
EUC might work by one type of approach that attempts to integrate the
human interfaceergonomically into a user centered designsystem 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 knowledgeand 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 engineeringand 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 limitsinfluencing 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 credentialsas does a cohort( scientific methodof peer review) in the discipline. 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
simulatea 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 Pavlovianresponses 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
programmingand computing concepts to a domain expert (say, one of the sciencesor engineeringdisciplines) 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. ICADwas 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.
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 free software, where end users can 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.
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
accessibilityto 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 perspectivehas found success in CRM, etc.) continue to be of interest to EUC.
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
computationinto 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
operationalin 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 Engineersto accomplish remarkable effects through a long economic cycle.
* Computing concerns and good End User Computing can be antithetically related.
* Good End User Computing practices might help temper things such as the
* 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 [http://home.southwind.net/~jmswtlk/truth.html truth] ).
End-user (computer science)
* End User Development
* Scientific method
* [http://eusesconsortium.org/ EUSES Consortium, a collaboration that researches end user computing.]
Wikimedia Foundation. 2010.