Contributions, Costs and Prospects for End-User Development
更新时间:2023-04-22 09:11:01 阅读量: 实用文档 文档下载
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications
Contributions, Costs and Prospects for End-User Development
Alistair Sutcliffe, Darren Lee & Nik Mehandjiev
Centre for HCI Design
Department of Computation, UMIST
PO Box 88, Manchester M60 1QD, UK
a.g.sutcliffe@co.umist.ac.uk
Abstract
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications, EUD has yet to become a mainstream competitor in the software development marketplace. This paper presents a framework that critically evaluates the contributions of EUD environments in terms of the domains they can address, the modality and media of user-system communication, and degree of automation in the development process. The second part of the paper describes a socio-economic model of EUD costs and motivations.
1 Introduction
The functionality of office-style products such as database management systems, spreadsheets and word processors has been extended with macros, scripts, style sheets and other types of programmed instructions. However, in spite of some advances in end-user development (EUD) since the concept was launched in the early 1980s (Martin, 1984), EUD products are not commonplace; instead, they are an add-on to standard COTS products. This paper investigates the psychological and technological issues behind end-user development in an attempt to understand where the future research challenges lie.
2 Definitions and Concepts
First it is necessary to expand a little on the definition of end-user development and the narrower sense of end-user programming. Programming seems to be obvious: we write out a set of instructions which the computer interprets resulting in some behaviour. Unfortunately, the act of giving instructions is sometimes an implicit act. Take programming a VCR as an example. The user completes a form-filling dialogue using buttons and possibly numbers on a remote control. Programmes (on the TV) are selected to record in a sequence. The sequence, represented as a data structure hidden in the VCR, constitutes a set of instructions that will be executed at the appropriate time. End-user programming may therefore be defined as “Creating a data structure that represents a set of instructions either by explicit coding or by interaction with a device. The instructions are executed by a machine to produce the desired outputs or behaviour”. End-user development widens the definition to include designed artefacts rather than instructions per se. Development may involve design by composition using ready-made components, or design of artefacts by powerful tools. Indeed, end-user development is differentiated from any design activity simply because non-domain experts carry it out. There are two general approaches to
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications
helping users to design. In one case the computer is an intelligent design assistant that tracks the user’s actions and infers what might be required. This approach is based on programming-by-example (Lieberman, 2001) and extends adaptable user interfaces that automatically change to fit a user profile or react to the user’s behaviour. In the other approach, initiative is left with the user and the system provides powerful tools to support design activity (e.g. Agentsheets: Repenning, 1993). End-user development is a complex field which includes different approaches to helping users instruct machines and design artefacts. To investigate the research issues and properties of EUD products we propose a set of dimensions to classify designs.
2.1 Dimensions of EUD
The first dimension (see Figure 1) describes the scope of the EUD environment. Some systems are developed with the intention of supporting users in a narrow domain of expertise. Programmable queries on protein structures is an example in BioInformatics (Stevens et al., 2000). Such applications are task- and domain-specific. On the other hand, many EUD environments are intended to be general-purpose tools that can be applied to a wide variety of problems. In a similar manner to expert programming languages, EUD systems vary in scope from specific to general. Task or Domain
Specific
Passive
ScopeAbstract Representation InetivaiitConcrete
Active
General Purpose
Figure 1: Dimensions of end-user development
The second dimension concerns the means of communicating with the user. Communication may use natural language and natural user actions; alternatively, a more formal language may be used which the end user has to learn. The modality of communication is also involved; for instance, instructions might be given by drawing intuitively understood marks and gestures (e.g. Palm Pilot), or manipulating a set of physical objects (e.g. turning a set of dials to program a washing machine). More formal communication can be achieved by symbolic text or diagrammatic languages; the formal syntax might be spoken, although this is unlikely. This dimension may also be described as a range from abstract (non-natural) to concrete (natural) representations. Representations could be assessed for naturalness and other properties such as changeability, comprehensibility, etc., using cognitive dimensions (Green & Petre, 1996). The key psychological trade-off for the naturalness dimension is the learning burden imposed on the end user by any artificial language versus the errors in interpretation that may arise from ambiguities inherent in less formal means of communication.
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications
System initiative forms the third dimension for EUD. Systems might leave initiative completely with the user and just provide a means of instructing the machine. At the other extreme, intelligent systems infer the user’s wishes from demonstrated actions or tracking user behaviour, and then take the initiative to create appropriate instructions or behaviour. In between are systems that provide users with development tools but constrain their actions so that only intelligible or appropriate instructions are given. System initiative may also be mixed, so in Domain Oriented Design Environments (Fischer, 1994), the system is mainly passive but it does embed critics which take the initiative when the system spots the user making a mistake. The dimensions are not completely orthogonal. For instance, natural communication in English implies some system initiatives in interpreting and disambiguating users’ instructions, either automatically or by a clarification dialogue. Further dimensions may be added in the future; for instance, the concepts or subject matter represented by an EUD environment. The dimensions can be used to assess the psychological implications of different EUD approaches; however, we also need to consider the effort of development and user motivation. To investigate these issues we turn to a cost-benefit model.
2.2 Cost-benefit modelling EUD
EUD essentially out-sources development effort to the end user. Hence one element of the cost is the additional design time expended. Another cost is learning. This is a critical cost in EUD because end users are busy people for whom programming is not their primary task. They only tolerate development activity as a means towards the end that they wish to achieve; for instance, creating a simulation, experimenting with a design, building a prototype. Learning to use an EUD environment is an up-front cost that has to be motivated with a perceived reward in improved efficiency or empowered work practice. Cost of errors is a significant penalty for EUD users both in operation and learning. Furthermore, errors have a demotivating effect. Cost of EUD to the user can be assessed in terms of the time taken to learn to use the EUD product and possibly its language, the requirements or specification effort entailed in refining general ideas into specific instructions, the programming effort, followed by time for testing and correcting from errors. The trade-offs between effort and reward can be summarised as a set of motivating principles for EUD.
The aim for all design is to achieve an optimal fit between the product and the requirements of the customer population, with minimal cost. Generally, the better the fit between users’ needs and application functionality, the greater the users’ satisfaction; however, product fit will be a function of the generality/specialisation dimension of an application. This can be summarised in the principle of user satisfaction:
The user satisfaction supplied by a general application will be inversely proportional to
product complexity and variability in the user population.
Complexity may be measured by counts of functional requirements or function points in an implemented system. More complex products will satisfy people less because they impose a larger learning burden; furthermore, general products may not motivate us to expend development effort because the utility they deliver is less than a perceived reward from satisfying our specific requirements, hence:
User effort in customising and learning software is proportional to the perceived utility
of a product in achieving a job of work or entertainment.
Our motivation will depend critically on perceived utility and then the actual utility payoff. For work-related applications we are likely to spend time customising and developing software only if
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications
we are confident that it will save time on the job and raise productivity. Development effort can range from customisation of products by setting parameters, style sheets and user profiles, to designing customised reports and user interfaces with tools, to full development of functionality by programming or design by configuration of reusable component. Adaptable products provide users with these facilities but at the penalty of increasing effort. In contrast, adaptive products take the initiative to save users effort, but the downside is when the adaptation creates errors. Adaptation is fine so long as it is accurate, but when the machine makes mistakes and adapts in the wrong direction it inflicts a double penalty because incorrect adaptation is perceived as a fault. This lowers our motivation to use it effectively, and leads to a third principle:
The acceptability of adaptation is inversely proportional to system errors in adaptation,
with the corollary that inappropriate adaptation inflicts a penalty on our motivation (cost of diagnosing mistakes, cost of working around, and negative emotions).
Hence adaptation cannot afford to be wrong, but adaptation is one of the most difficult problems for machines to model. The cost-benefit profiles for different EUD approaches is illustrated in Figure 2.
General purpose EUD (e.g. Repenning1993)
Net Benefit
O
e
Net Cost
Figure 2: Cost-benefit profiles for EUD approaches
General purpose EUD tools have a longer learning curve, so the cost-benefit balance is negative for a long time period. Users have to be well motivated initially and their motivation maintained during the training period. This can be helped by ready-made EUD applications that can be tailored, by shareable repositories of components, and by models. Domain-specific EUD should have a more rapid learning time since the complexities of general syntax and vocabulary are avoided; furthermore, once competence is attained the rewards rapidly accrue. However, domain-specific EUD is by definition limited to one domain, so there may be a plateau effect on reward. This may not be important for users with a single domain that does not evolve; however, most applications face changing requirements and domain-specific languages can become limited in short time scales. Customisable applications imply less effort and more immediate reward, although the level of reward is lower because the ability to change the product to the user’s wishes in inevitably limited to functions already programmed into the product. The level of effort also depends on complexity; as more customisable features are provided, complexity increases. Most
End-user development (EUD) has been a Holy Grail of software tool developers since James Martin launched 4th generation computing environments in the early eighties. Even though there has been considerable success in adaptable and programmable applications
users don’t use customisation facilities in office products, so the effort-reward trade-off does not appear to have been solved for this approach. Finally, adaptable products and programming-by-example (PBE) lower costs considerably so rewards are perceived quickly; however, this will only be realised in the absence of error. Early errors are critical. Users’ motivation can be destroyed by annoying errors in the early stages of reuse, but if rewards are achieved without mistakes, then the user motivation may enable later errors to be tolerated. This suggests a gradual unfolding of PBE and adaptive products or simple applications to build up user motivation.
3 Conclusions
EUD is related to HCI fields of intelligent user interfaces, programming-by-demonstration, adaptive user interfaces and development tools. While considerable technical progress has been made, few attempts have been made to assess the acceptability of these technologies. The framework presented in this paper is a first step in this direction. Our analysis indicates the importance of connecting user motivation to the perceived reward of using EUD tools. User motivation requires considerable research since it will vary by the domain, and by how it is delivered through promotion, training, or functionality embedded in the tool (e.g. wizards, tutors, reuse faculties). The balance between cost and benefit suggests a graded exposure to complexity. Following Carroll’s minimal manual and training wheels approach (Carroll, 1990) exposes the user to simple examples and a limited functionality, first to establish confidence and reduce errors. Early reinforcement of motivation will enable users to climb over the hump of effort into benefit. For system initiative approaches, less initial motivation may be required since the user has less to learn, but the critical success factor will be avoiding early errors.
Acknowledgements
This work was partially supported by the EU 5th Framework programme, Network of Excellence EUD (End-User Development) Net.
References
Carroll, J. M. (1990). The Nurnberg Funnel: Designing minimalist instruction for practical
computer skill. Cambridge, MA: MIT Press.
Fischer, G. (1994). Domain-Oriented Design Environments. Automated Software Engineering,
1(2), 177-203.
Green, T. R. G., & Petre, M. (1996). Usability analysis of visual programming environments: A
cognitive dimensions framework. Journal of Visual Languages and Computing, 7, 131-174. Lieberman, H. (Ed.) (2001). Your wish is my command: Programming by example. San Francisco:
Morgan Kaufmann.
Martin, J. (1984). An information systems manifesto. London: Prentice-Hall, 1984.
Repenning, A. (1993). Agentsheets: A tool for building domain oriented-dynamic visual
environments. Technical report, Dept of Computer Science, CU/CS/693/93. Boulder, CO: University of Colorado.
Stevens, R., Baker, P., Bechhofer, S., Ng, G., Jacoby, A., Paton, N. W., Goble, C. A., & Brass, A.
(2000). TAMBIS: Transparent Access to Multiple Bioinformatics Information Sources. BioInformatics, 16(2), 184-186.
正在阅读:
Contributions, Costs and Prospects for End-User Development04-22
有机化学人名反应集(精选版)05-23
23、带上她的眼睛优秀教学设计05-12
省委视组个人谈话汇报提纲05-23
vf二级考试复习资料05-19
2022年广西大学0231人力资源管理(含组织行为学)(同等学力加试)考04-10
混凝土小型空心砌块砌筑方案05-10
关于冬天是什么的作文700字07-03
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- Contributions
- Development
- Prospects
- Costs
- User
- End
- 新浮桥桥台基础土方开挖支护方案
- 第7章 Excel 2007公式与常用函数
- 浅析中职学校思想政治课的教学方式
- jsCharts图表插件详解
- 椭圆的定义与标准方程,(公开课)课件
- 油井计量竞赛试题-41
- Black Holes and the Holographic Principle
- 江苏省邳州市第二中学2013年高中化学选修四课件:课题2 获取安全
- (人教新课标)六年级语文上册课件 老人与海鸥 2
- 一级建造师考试精华浓缩资料工程经济基础
- 基于流媒体的软件视频会议系统
- “绿色电站”建筑设计
- 马克思主义哲学经典文本导读
- 施工企业信息化解决方案
- Lumion 4.0.2 顶渲简体中文包安装说明
- 345建筑幕墙检测报告(附页)(一)
- 全科医学概论知识要点
- 《时间简史》名著读后感范文
- 832835三禾科技 股票发行方案
- 医用织物洗涤消毒管理工作制度