Content deleted Content added
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 |
→Collaborations in end-user development: On this wiki → ... on such wikis |
||
(12 intermediate revisions by 10 users not shown) | |||
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.|title=2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05) |chapter=Estimating the Numbers of End Users and End User Programmers |date=2005-09-01|pages=207–214|doi=10.1109/VLHCC.2005.34|isbn=978-0-7695-2443-6|s2cid=14608501 }}</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://web.archive.org/web/20171210231913/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
The most popular EUD tool is the [[spreadsheet]].<ref name="encyclopedia">{{cite book|url=http://www.interaction-design.org/encyclopedia/end-user_development.html|first1=Margaret M.|last1=Burnett|author1-link=Margaret Burnett|first2=Christopher|last2=Scaffidi|title=End-User Development|date=January 2024 |publisher=Interaction-Design.org}} at "Encyclopedia of Human-Computer Interaction".</ref><ref name="Empowering Users">{{cite web|url=http://www.uxmatters.com/mt/archives/2009/08/empowering-users-to-create-their-own-software.php|title=Empowering Users to Create Their Own Software|first=Peter |last=Hornsby |date=2009-08-03 |access-date=2014-01-31 |website=UXmatters}}</ref> Due to their unrestricted nature, spreadsheets allow relatively un-sophisticated computer users to write programs that represent complex data models, while shielding them from the need to learn lower-level programming languages.<ref>{{cite book |last1=Abraham |first1=R. |last2=Burnett |first2=M |last3=Erwig |first3=M |year=2009 |chapter=Spreadsheet programming |title=Wiley Encyclopedia of Computer Science and Engineering |pages=1–10}}</ref> Because of their common use in business, spreadsheet skills are among the most beneficial skills for a graduate employee to have, and are therefore the most commonly sought after<ref>Kruck, S. & Sheetz, S., 2001. [http://www.pucrs.br/ciencias/viali/tic_literatura/artigos/planilhas/KRUCK-SHEETZ_SpreadsheetAccTheory.pdf Spreadsheet accuracy theory] {{Webarchive|url=https://web.archive.org/web/20180818052312/http://www.pucrs.br/ciencias/viali/tic_literatura/artigos/planilhas/KRUCK-SHEETZ_SpreadsheetAccTheory.pdf |date=2018-08-18 }}. Journal of Information Systems Education.</ref> In the United States of America alone, there are an estimated 13 million end-user developers programming with spreadsheets<ref>Scaffidi, C., Shaw, M. & Myers, B., 2005. [http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf Estimating the Numbers of End Users and End User Programmers] {{Webarchive|url=https://web.archive.org/web/20110912030301/http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf |date=2011-09-12 }}. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp.207–214.</ref>
The [[programming by example]] (''PbE'') approach reduces the need for the user to learn the abstractions of a classic programming language. The user instead introduces some examples of the desired results or operations that should be performed on the data, and the PbE system infers some abstractions corresponding to a program that produces this output, which the user can refine. New data may then be introduced to the automatically created program, and the user can correct any mistakes made by the program in order to improve its definition. [[Low-code development platforms]] are also an approach to EUD.
Line 34 ⟶ 32:
* [[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
* [[Mod (computer gaming)|Game modifications]] to introduce users' own characters, environments, etc. — many recent games are distributed with modification in mind
* Interaction scripts used in [[Call centre|CRM call centres]]
Line 41 ⟶ 39:
* [[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=Proceedings of the 2019 CHI 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]].
* Simulations created using [[Software prototyping#Application definition or simulation software|application definition software]]
Line 48 ⟶ 46:
* [[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
* [[Wiki]]s - a collaborative end-user development process <ref>{{
* [[Mashup (web application hybrid)|Web Mashups]] in the form of visual languages.<ref>{{Cite book | last1=Roy Chowdhury | first1=Soudip | last2=Rodriguez | first2=Carlos | last3=Daniel | first3=Florian | last4=Casati | first4=Fabio | year=2010 | title=Wisdom-aware computing: on the interactive recommendation of composition knowledge | pages=[https://archive.org/details/serviceorientedc0000maxi/page/144 144–155] | url=https://archive.org/details/serviceorientedc0000maxi/page/144 | isbn=9783642193934 | series=Icsoc'10 }}</ref>
* [[3D modeling|3D models]] created with end-user oriented tools and apps such as [[Sketchup]]
Line 82 ⟶ 80:
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|last1=Andersen|first1=Renate|last2=Mørch|first2=Anders I.|
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|title=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.|title=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.
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 115 ⟶ 113:
* {{cite book |last= Cypher |first= Allen |others= Contributor Daniel C. Halbert |title= Watch What I Do: Programming by Demonstration |publisher= Publisher: MIT Press |url= https://archive.org/details/watchwhatido00alle |isbn= 978-0-262-03213-1 |year= 1993 }}
* {{cite book |last= Lieberman |first= Henry |others= Contributor Ben Shneiderman |title= Your Wish is My Command: Programming By Example |publisher= Publisher: Morgan Kaufmann |url= http://web.media.mit.edu/~lieber/PBE/Your-Wish/ |isbn=978-1-55860-688-3 |year= 2001}}
* F. Paternò (2013) [http://www.hindawi.com/isrn/se/2013/532659/ End User Development: Survey of an Emerging Field for Empowering People], ISRN Software Engineering, vol. 2013, Article ID 532659, 11 pages, 2013. {{doi|10.1155/2013/532659|doi-access=free}}, 2013
* 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".
*
==External links==
Line 124 ⟶ 122:
* [http://eusesconsortium.org EUSES Consortium, a collaboration that researches end user computing]
* [https://www.springer.com/west/home/generic/search/results?SGWID=4-40109-22-85672321-0&referer=www.springeronline.com&SHORTCUT=www.springer.com/sgw/cda/frontpage/0,11855,4-40109-22-85672321-0,00.html The End User Development book]
* [http://giove.cnuce.cnr.it/eud-net.htm The European Commission Network of Excellence on End-User Development] {{Webarchive|url=https://web.archive.org/web/20160303191133/http://giove.cnuce.cnr.it/eud-net.htm |date=2016-03-03 }}
* [https://web.archive.org/web/20120402234145/http://www.iisi.de/international-symposium-on-end-user-development/conference-series/ Conference Series International Symposium on End-User Development]
▲{{Programming paradigms navbox}}
{{DEFAULTSORT:End-User Development}}
|