End-user development: Difference between revisions

Content deleted Content added
m Application specific low code development platforms: Task 39: Use a more specific maintenance tag
Citation bot (talk | contribs)
m Alter: volume. Removed URL that duplicated unique identifier. Removed accessdate with no specified URL. Removed parameters. | You can use this bot yourself. Report bugs here.| Activated by User:Headbomb
Line 1:
{{Programming paradigms}}
 
'''End-user development''' ('''EUD''') or '''end-user programming''' ('''EUP''') refers to activities and tools that allow [[User (computing)|end-user]]s – people who are not professional software developers – to [[Computer programming|program computers]]. People who are not professional developers can use EUD tools to create or modify ''software artifacts'' (descriptions of automated behavior) and complex data objects without significant knowledge of a [[programming language]]. In 2005 it was estimated (using statistics from the U.S. [[Bureau of Labor Statistics]]) that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers.<ref>{{Cite book|last=Scaffidi|first=C.|last2=Shaw|first2=M.|last3=Myers|first3=B.|date=2005-09-01|title=Estimating the numbers of end users and end user programmers|url=http://ieeexplore.ieee.org/document/1509505/|journal=2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05)|pages=207–214|doi=10.1109/VLHCC.2005.34|isbn=978-0-7695-2443-6}}</ref> Various EUD approaches exist, and it is an active [[Discipline (academia)|research topic]] within the field of [[computer science]] and [[human-computer interaction]]. Examples include [[natural language programming]],<ref>Little, Greg, and Robert C. Miller. "[https://pdfs.semanticscholar.org/b740/08688a029d7c48a2153a7905e7fa65fea72f.pdf Translating keyword commands into executable code]." Proceedings of the 19th annual ACM symposium on User interface software and technology. ACM, 2006.</ref><ref>Bruckman, Amy, and Elizabeth Edwards. "[http://www.cc.gatech.edu/~asb/papers/conference/edwards-bruckman-chi99.pdf Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language]." Proceedings of the SIGCHI conference on Human Factors in Computing Systems. ACM, 1999.
APA
</ref> [[spreadsheet]]s,<ref name="encyclopedia"/> scripting languages (particularly in an office suite or art application), [[Visual programming language|visual programming]], trigger-action programming and [[programming by example]].
Line 35:
* [[Computer animation|Animation]] scripts used by graphic artists to describe characters, environments and how characters move to produce an intended animation
* [[Configuration file]]s that blur the line between programs and data (e.g., [[E-mail filtering|email filters]] are sequenced lists of criteria and actions to take)
* [[Example-Centric Programming]] tools<ref>{{cite book|last1=Scaffidi|first1=Christopher|last2=Brandt|first2=Joel|last3=Burnett|first3=Margaret|last4=Dove|first4=Andrew|last5=Myers|first5=Brad|title=SIG: end-user programming|journal=CHI '12 Extended Abstracts on Human Factors in Computing Systems|date=2012|pages=1193–1996|doi=10.1145/2212776.2212421|url=http://dl.acm.org/citation.cfm?id=2212776.2212421&coll=DL&dl=GUIDE&CFID=597181533&CFTOKEN=26959364|isbn=9781450310161|series=Chi Ea '12}}</ref>
* Arguably, contributions to [[Open-source model|open source]] projects where users of a software package contribute their own code for inclusion in the main [[Software package (installation)|package]] — in some cases, end-users participate as full-fledged developers
* [[Mod (computer gaming)|Game modifications]] to introduce users' own characters, environments, etc. — many recent games are distributed with modification in mind
Line 69:
| pages = 1–4
| doi = 10.1145/1082983.1083241
| url = http://portal.acm.org/citation.cfm?id=1082983.1083241
| format = PDF
| accessdate = 2008-05-29
}}</ref> EUD essentially outsources development effort to the end user. Because there is always some effort to learn an EUD tool, the users' motivation depends on their confidence that it will empower their work, save time on the job or raise productivity. In this model, the benefits to users are initially based on marketing, demonstrations and word-of-mouth. Once the technology is put into use, experience of actual benefits becomes the key motivator.
 
Line 104 ⟶ 101:
<blockquote>It’s simply unfathomable that we could expect security... from the vast majority of software applications out there when they’re written with little, if any, knowledge of generally accepted good practices such as specifying before coding, systematic testing, and so on.... How many X for Complete Idiots (where "X" is your favorite programming language) books are out there? I was initially amused by this trend, but recently I’ve become uneasy thinking about where these dabblers are applying their newfound knowledge.</blockquote>
 
This viewpoint assumes that all end users are equally naive when it comes to understanding software, although Pliskin and Shoval argue this is not the case, that sophisticated end users are capable of end-user development.<ref>{{cite journal |url=http://portal.acm.org/citation.cfm?id=1017817 |first=Nava |last=Pliskin |author2=Shoval, Peretz |title=End-user prototyping: sophisticated users supporting system development |journal=ACM SIGMIS Database |volume=418 |issue=4 |pages=7–17|year=1987|doi=10.1145/1017816.1017817|accessdate=2008-05-29 }}</ref> However, compared with expert programmers, end-user programmers rarely have the time or interest in systematic and disciplined software engineering activities,<ref>{{Cite book|last=Brandt|first=Joel|last2=Guo|first2=Philip J.|last3=Lewenstein|first3=Joel|last4=Klemmer|first4=Scott R.|date=2008-01-01|title=Opportunistic Programming: How Rapid Ideation and Prototyping Occur in Practice|journal=Proceedings of the 4th International Workshop on End-user Software Engineering|series=WEUSE '08|___location=New York, NY, USA|publisher=ACM|pages=1–5|doi=10.1145/1370847.1370848|isbn=9781605580340}}</ref> which makes ensuring the quality of the software artifact produced by end-user development particularly challenging.
 
In response to this, the study of '''end-user software engineering''' has emerged. It is concerned with issues beyond end-user development, whereby end users become motivated to consider issues such as reusability, security and verifiability when developing their solutions.<ref>{{cite web |url=http://eusesconsortium.org/findings.php |title=End-User Software Engineering: Empirical Findings| publisher=End Users Shaping Effective Software Consortium | accessdate=2008-05-28 }}</ref>
Line 127 ⟶ 124:
* B. Guo, D. Zhang, M. Imai. Enabling User-Oriented Management for Ubiquitous Computing: The Meta-Design Approach, Computer Networks, Elsevier, Vol. 54, No. 16, 2010.
* Burnett, Margaret M. and Scaffidi, Christopher (2011): [http://www.interaction-design.org/encyclopedia/end-user_development.html End-User Development]. In: Soegaard, Mads and Dam, Rikke Friis (eds.). "Encyclopedia of Human-Computer Interaction".
* [[Kierkegaard, Patrick]](2011) {{cite book|url=http://www.springerlink.com/content/3k78608106533074/ |title= Beefing Up End User Development: Legal Protection and Regulatory Compliance |journal=End-user Development. Lecture Notes in Computer Science| volume=6654/2011 | year=2011 | doi=10.1007/978-3-642-21530-8_16 | pages=203–217|series=Lecture Notes in Computer Science|last1=Kierkegaard|first1=Patrick|isbn=978-3-642-21529-2 }}
 
==External links==