Content deleted Content added
m Open access bot: doi added to citation with #oabot. |
Citation bot (talk | contribs) Alter: title. Add: s2cid, chapter. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine |
||
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|last1=Scaffidi|first1=C.|last2=Shaw|first2=M.|last3=Myers|first3=B.
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 45:
* Simulations created using [[Software prototyping#Application definition or simulation software|application definition software]]
* [[Simultaneous editing]] of many related items either through a [[Batch processing|batch process]] specified by the end user or by [[Direct manipulation interface|direct manipulation]], like those available in the [[Lapis (text editor)|Lapis text editor]] and [http://blogs.gnome.org/jessevdk/2009/11/15/new-gedit-plugin-multi-edit/ multi edit].
* [[Spreadsheets|Spreadsheet]] models, e.g., used for budgeting, risk analysis, interactive [[machine learning]],<ref name=spreadsheet_machinelearning>{{cite book|last1=Sarkar|first1=Advait|last2=Blackwell|first2=Alan|last3=Jamnik|first3=Mateja|last4=Spott|first4=Martin|title=2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) |chapter=Teach and
* [[Visual programming language|Visual programming]] in the form of visual languages such as [[AgentSheets]], [[LabVIEW]], [[Scratch (programming language)]] or [[LEGO Mindstorms]].
* [[Web page]]s - plain HTML or HTML and scripting
Line 84:
Mutual development<ref>{{Cite book|last1=Andersen|first1=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|last1=Fischer|first1=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|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|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|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.
|