End-user development: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
m 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:AManWithNoPlan | via #UCB_toolbar
Bluelinking 2 books for verifiability.) #IABot (v2.1alpha3
Line 82:
Many end-user development activities are collaborative in nature, including collaboration between professional developers and end-user developers and collaboration among end-user developers.
 
Mutual development<ref>{{Cite book|last=Andersen|first=Renate|last2=Mørch|first2=Anders I.|date=2009-03-02|title=Mutual Development: A Case Study in Customer-Initiated Software Product Development|journal=End-User Development|volume=5435|language=en|pages=31–49|doi=10.1007/978-3-642-00427-8_3|series=Lecture Notes in Computer Science|isbn=978-3-642-00425-4|citeseerx=10.1.1.598.9066}}</ref> is a technique where professional developers and end-user developers work together in creating software solutions. In mutual development, the professional developers often “under design” the system and provide the tools to allow the “owners of problems<ref>{{Cite book|title=User-Centred Requirements for Software Engineering Environments|last=Fischer|first=Gerhard|date=1994-01-01|publisher=Springer, Berlin, Heidelberg|pages=297–306|language=en|doi=10.1007/978-3-662-03035-6_23|chapter = Putting the Owners of Problems in Charge with Domain-oriented Design Environments|isbn = 978-3-642-08189-7|citeseerx = 10.1.1.310.8814}}</ref>" to create the suitable solution at use time for their needs, objectives and situational contexts.<ref>{{Cite book|title=End User Development|last=Fischer|first=Gerhard|last2=Giaccardi|first2=Elisa|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/427 427–457]|language=en|doi=10.1007/1-4020-5386-x_19|editor-last2=Paternò|editor-first2=Fabio|editor-last3=Wulf|editor-first3=Volker|url=https://archive.org/details/enduserdevelopme0000unse/page/427}}</ref> Then the communication between professional developers and end-user developers can often stimulate formalizing ad hoc modifications by the end users into software artifacts, transforming end-user developed solutions into commercial product features with impacts beyond local solutions.
 
In this collaboration, various approaches such as the Software Shaping Workshop<ref>{{Cite book|title=End User Development|last=Lieberman|first=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|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|last=Erickson|first=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|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|last=Leshed|first=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|series=CHI '08|___location=New York, NY, USA|publisher=ACM|pages=1719–1728|doi=10.1145/1357054.1357323|isbn=9781605580111}}</ref> and HILC.<ref>{{Cite book|last=Intharah|first=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|series=IUI '17|___location=New York, NY, USA|publisher=ACM|pages=233–243|doi=10.1145/3025171.3025176|isbn=9781450343480}}</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.