skip to main content
10.1145/3079368.3079403acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
research-article

User-Generated Variables: Streamlined Interaction Design for Feature Requests and Implementations

Published: 03 April 2017 Publication History

Abstract

Programmers write source code that compiles to programs, and users execute the programs to benefit from their features. While issue-tracking systems help communication between these two groups of people, feature requests have usually been written in text with optional figures that follows community guidelines and needs human interpretation to understand what to implement in which part of the source code. To make this process more direct, intuitive, and efficient, a streamlined interaction design called "User-Generated Variables (UGV)" is proposed. First, the users can declare parameters that they want to tweak in existing programs without reading or understanding the source code. Then, the system turns the proposal into variable declarations in the relevant part of the source code. Finally, the programmers are notified of the proposal and can implement the actual features to reflect changes in the variable value. The proposed interaction is implemented in two existing Web-based Integrated Development Environments, and its user experience is briefly tested with eight users and programmers. Its technical requirements, limitations, and potentials are discussed. The content of this paper with live examples is available at http://junkato.jp/ugv.

References

[1]
Muneera Bano and Didar Zowghi. 2015. A systematic review on the relationship between user involvement and system success. Information and Software Technology 58 (2015), 148--169.
[2]
Michael Bolin, Matthew Webber, Philip Rha, Tom Wilson, and Robert C. Miller. 2005. Automation and Customization of Rendered Web Pages. In Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology (UIST '05). ACM, New York, NY, USA, 163--172.
[3]
Marcel Bruch, Eric Bodden, Martin Monperrus, and Mira Mezini. 2010. IDE 2.0: Collective Intelligence in Software Development. In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (FoSER '10). ACM, New York, NY, USA, 53--58.
[4]
Sebastian Burckhardt, Manuel Fahndrich, Peli de Halleux, Sean McDirmid, Michal Moskal, Nikolai Tillmann, and Jun Kato. 2013. It's Alive! Continuous Feedback in UI Programming. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13). ACM, New York, NY, USA, 95--104.
[5]
Gerardo Canfora and Luigi Cerulo. 2006. Supporting Change Request Assignment in Open Source Development. In Proceedings of the 2006 ACM Symposium on Applied Computing (SAC '06). ACM, New York, NY, USA, 1767--1772.
[6]
Yan Chen, Steve Oney, and Walter S. Lasecki. 2016. Towards Providing On-Demand Expert Support for Software Developers. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (CHI '16). ACM, New York, NY, USA, 3192--3203.
[7]
Laura Dabbish, Colleen Stuart, Jason Tsay, and Jim Herbsleb. 2012. Social Coding in GitHub: Transparency and Collaboration in an Open Software Repository. In Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work (CSCW '12). ACM, New York, NY, USA, 1277--1286.
[8]
Pure Data. 2017. Pure Data - Pd Community Site. https://puredata.info/. (2017). Accessed April 1, 2017.
[9]
Kelly Blincoe Leif Singer Daniel M. German Eirini Kalliamvakou, Georgios Gousios and Daniela Damian. 2006. Roles of variables in three programming paradigms. Computer Science Education 16, 4 (2006), 261--279. arXiv:http://dx.doi.org/10.1080/08993400600874584
[10]
Elisa Giaccardi and Gerhard Fischer. 2008. Creativity and evolution: a metadesign perspective. Digital Creativity 19, 1 (2008), 19--32. arXiv:http://dx.doi.org/10.1080/14626260701847456
[11]
GitHub. 2017. GitHub. https://github.com/. (2017). Accessed April 1, 2017.
[12]
Max Goldman, Greg Little, and Robert C. Miller. 2011. Collabode: Collaborative Coding in the Browser. In Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '11). ACM, New York, NY, USA, 65--68.
[13]
Björn Hartmann, Daniel MacDougall, Joel Brandt, and Scott R. Klemmer. 2010. What Would Other Programmers Do: Suggesting Solutions to Error Messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '10). ACM, New York, NY, USA, 1019--1028.
[14]
IFTTT. 2017. Learn how IFTTT works. http://ifttt.com/. (2017). Accessed April 1, 2017.
[15]
Huzefa Kagdi and Denys Poshyvanyk. Who can help me with this change request?. In Proceedings of IEEE 17th International Conference on Program Comprehension (2009-05) (IEEE ICPC). 273--277.
[16]
Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M. German, and Daniela Damian. 2014. The Promises and Perils of Mining GitHub. In Proceedings of the 11th Working Conference on Mining Software Repositories (MSR 2014). ACM, New York, NY, USA, 92--101.
[17]
Jun Kato. 2013. Integrated Graphical Representations for Development of Programs with Real-world Input and Output. Ph.D. Dissertation. The University of Tokyo.
[18]
Jun Kato and Masataka Goto. 2016. Live Tuning: Expanding Live Programming Benefits to Non-Programmers. In Proceedings of the Second Workshop on Live Programming Systems (ECOOP LIVE '16). 6.
[19]
Jun Kato and Masataka Goto. 2017. f3.js: A Parametric Design Tool of Physical Computing Devices for Both Interaction Designers and End-users (to appear). In Proceedings of the 2017 ACM Conference on Designing Interactive Systems (DIS '17). ACM, New York, NY, USA, 10.
[20]
Jun Kato, Takeo Igarashi, and Masataka Goto. 2016. Programming with Examples to Develop Data-Intensive User Interfaces. Computer 49, 7 (Jul 2016), 34--42.
[21]
Jun Kato, Tomoyasu Nakano, and Masataka Goto. 2015. TextAlive: Integrated Design Environment for Kinetic Typography. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI '15). ACM, New York, NY, USA, 3403--3412.
[22]
Jun Kato, Daisuke Sakamoto, and Takeo Igarashi. 2013. Picode: Inline Photos Representing Posture Data in Source Code. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems (CHI '13). 3097--3100.
[23]
Jun Kato, Daisuke Sakamoto, Takeo Igarashi, and Masataka Goto. 2014. Sharedo: To-do List Interface for Human-agent Task Sharing. In Proceedings of the Second International Conference on Human-agent Interaction (HAI '14). ACM, New York, NY, USA, 345--351.
[24]
Walid Maalej and Hadeer Nabil. 2015. Bug report, feature request, or simply praise? On automatically classifying app reviews. In Proceedings of IEEE 23rd International Requirements Engineering Conference. 116--125.
[25]
John H. Maloney and Randall B. Smith. 1995. Directness and Liveness in the Morphic User Interface Construction Environment. In Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology (UIST '95). ACM, New York, NY, USA, 21--28.
[26]
Microsoft. 2012. on{X}. https://www.youtube.com/watch?v=qfLMTsIJsoo. (2012). Accessed April 1, 2017.
[27]
Lee Munroe and Tejesh Mehta. 2017. Codeshare - Share code in real-time in your browser. http://codeshare.io/. (2017). Accessed April 1, 2017.
[28]
Yoshiki Ohshima, Alessandro Warth, Bert Freudenberg, Aran Lunzer, and Alan Kay. 2016. Towards Making a Computer Tutor for Children of All Ages: A Memo. In Proceedings of the Programming Experience 2016 (PX/16) Workshop (PX/16). ACM, New York, NY, USA, 21--25.
[29]
Charlie Roberts, Karl Yerkes, Danny Bazo, Matthew Wright, and JoAnn Kuchera-Morin. 2015. Sharing Time and Code in a Browser-Based Live Coding Environment. In Proceedings of the First International Conference on Live Coding. ICSRiM, University of Leeds, Leeds, UK, 179--185.
[30]
Ben Shneiderman. 2003. Promoting Universal Usability with Multi-layer Interface Design. In Proceedings of the 2003 Conference on Universal Usability (CUU '03). ACM, New York, NY, USA, 1--8.
[31]
Macropod Software. 2017. The simplest bug tracker and issue tracker | BugHerd. https://bugherd.com/. (2017). Accessed April 1, 2017.
[32]
UserVoice. 2017. Roadmap Prioritization from Product Feedback | UserVoice. https://www.uservoice.com/. (2017). Accessed April 1, 2017.
[33]
Tom Yeh, Tsung-Hsiang Chang, and Robert C. Miller. 2009. Sikuli: Using GUI Screenshots for Search and Automation. In Proceedings of the 22Nd Annual ACM Symposium on User Interface Software and Technology (UIST '09). ACM, New York, NY, USA, 183--192.

Cited By

View all
  • (2020)Rethinking programming “environment”: technical and social environment design toward convivial computingCompanion Proceedings of the 4th International Conference on Art, Science, and Engineering of Programming10.1145/3397537.3397544(149-157)Online publication date: 23-Mar-2020
  • (2018)Towards Exploratory Software Design Environments for the Multi-Disciplinary TeamDesign Thinking Research10.1007/978-3-319-97082-0_12(229-247)Online publication date: 29-Sep-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Programming '17: Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming
April 2017
193 pages
ISBN:9781450348362
DOI:10.1145/3079368
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

  • AOSA: Aspect-Oriented Software Association

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 April 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. User-generated content (UGC)
  2. integrated development environment
  3. live programming
  4. programming experience

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Programming '17

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Rethinking programming “environment”: technical and social environment design toward convivial computingCompanion Proceedings of the 4th International Conference on Art, Science, and Engineering of Programming10.1145/3397537.3397544(149-157)Online publication date: 23-Mar-2020
  • (2018)Towards Exploratory Software Design Environments for the Multi-Disciplinary TeamDesign Thinking Research10.1007/978-3-319-97082-0_12(229-247)Online publication date: 29-Sep-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media