End-user development: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: title. Add: s2cid, chapter. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine
Citation bot (talk | contribs)
Alter: title. Add: pages, chapter. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox3 | #UCB_webform_linked 646/2306
Line 40:
* Process models used in [[workflow application]]s
* [[Software prototyping|Prototypes]] and ___domain-specific programs written by businesspeople, engineers, and scientists to demonstrate or test specific theories
* Robot behaviour<ref>{{cite book|last1=Leonardi|first1=Nicola|last2=Manca|first2=Marco|last3=Paternò|first3=Fabio|last4=Santoro|first4=Carmen | title=Trigger-ActionProceedings Programmingof forthe Personalising2019 Humanoid Robot Behaviour |journal=CHI '19 ACM Conference on Human Factors in Computing Systems |chapter=Trigger-Action Programming for Personalising Humanoid Robot Behaviour |date=2019|pages=1–13 |doi=10.1145/3290605.3300675|isbn=978-145035970-2|s2cid=140220651 }}</ref>
* Scientific models used in [[computer simulation]]
* Scripts and macros added to extend or automate [[Office suite|office productivity suites]] and [[Graphics software|graphics applications]].
Line 86:
In this collaboration, various approaches such as the Software Shaping Workshop<ref>{{Cite book|title=End User Development|last1=Lieberman|first1=Henry|last2=Paternò|first2=Fabio|last3=Klann|first3=Markus|last4=Wulf|first4=Volker|date=2006-01-01|publisher=Springer Netherlands|isbn=9781402042201|editor-last=Lieberman|editor-first=Henry|series=Human-Computer Interaction Series|pages=[https://archive.org/details/enduserdevelopme0000unse/page/1 1–8]|language=en|doi=10.1007/1-4020-5386-x_1|s2cid=15559793 |editor-last2=Paternò|editor-first2=Fabio|editor-last3=Wulf|editor-first3=Volker|url=https://archive.org/details/enduserdevelopme0000unse/page/1}}</ref> are proposed to bridge the communication gap between professional developers and end-user developers. These approaches often provide translucency according to the social translucence model,<ref>{{Cite journal|last1=Erickson|first1=Thomas|last2=Kellogg|first2=Wendy A.|date=2000-03-01|title=Social Translucence: An Approach to Designing Systems That Support Social Processes|journal=ACM Trans. Comput.-Hum. Interact.|volume=7|issue=1|pages=59–83|doi=10.1145/344949.345004|s2cid=5943805 |issn=1073-0516}}</ref> enabling everyone in the collaboration to be aware of changes made by others and to be held accountable of their actions because of the awareness.
 
Besides programming collaboration platforms like GitHub, which are mostly utilized by expert developers due to their steep learning curve, collaborations among end-user developers often take place on wiki platforms where the software artifacts created are shared. End-user development is also often used for creating automation scripts or interactive tutorials for sharing “how-to” knowledge. Examples of such application include CoScripter<ref>{{Cite book|last1=Leshed|first1=Gilly|last2=Haber|first2=Eben M.|last3=Matthews|first3=Tara|last4=Lau|first4=Tessa|date=2008-01-01|title=CoScripter: Automating & Sharing How-to Knowledge in the Enterprise|journal=Proceedings of the SIGCHI Conference on Human Factors in Computing Systems |chapter=CoScripter |date=2008-01-01|series=CHI '08|___location=New York, NY, USA|publisher=ACM|pages=1719–1728|doi=10.1145/1357054.1357323|isbn=9781605580111|s2cid=5989563 }}</ref> and HILC.<ref>{{Cite book|last1=Intharah|first1=Thanapong|last2=Turmukhambetov|first2=Daniyar|last3=Brostow|first3=Gabriel J.|date=2017-01-01|title=Help, It Looks Confusing: GUI Task Automation Through Demonstration and Follow-up Questions|journal=Proceedings of the 22nd International Conference on Intelligent User Interfaces |chapter=Help, It Looks Confusing |date=2017-01-01|series=IUI '17|___location=New York, NY, USA|publisher=ACM|pages=233–243|doi=10.1145/3025171.3025176|isbn=9781450343480|s2cid=16596496 }}</ref> In such applications, user can create scripts for tasks using pseudo-natural language or via programming by demonstration. The users can choose to upload the script to a wiki style repository of scripts. On this wiki, users can browse available scripts and extend existing scripts to support additional parameters, to handle additional conditions or to operate on additional objects.
 
Online and offline communities of end-user developers have also been formed, where end-user developers can collaboratively solve EUD problems of shared interest or for mutual benefit. In such communities, local experts spread expertise and advice. Community members also provide social support for each other to support the collaborative construction of software.<ref>{{Cite journal|last1=Fischer|first1=G.|last2=Giaccardi|first2=E.|last3=Ye|first3=Y.|last4=Sutcliffe|first4=A. G.|last5=Mehandjiev|first5=N.|date=2004-09-01|title=Meta-design: A Manifesto for End-user Development|journal=Commun. ACM|volume=47|issue=9|pages=33–37|doi=10.1145/1015864.1015884|s2cid=11675776 |issn=0001-0782}}</ref>
Line 95:
<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 |first=Nava |last=Pliskin |author2=Shoval, Peretz |title=End-user prototyping: sophisticated users supporting system development |journal=ACM SIGMIS Database |volume=18 |issue=4 |pages=7–17|year=1987|doi=10.1145/1017816.1017817|s2cid=18183262 |doi-access=free }}</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|last1=Brandt|first1=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 Internationalinternational Workshopworkshop on End-user Softwaresoftware Engineeringengineering |chapter=Opportunistic programming |date=2008-01-01|series=WEUSE '08|___location=New York, NY, USA|publisher=ACM|pages=1–5|doi=10.1145/1370847.1370848|isbn=9781605580340|s2cid=17479074 }}</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 | access-date=2008-05-28 }}</ref>