skip to main content
10.1145/3167107acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

The entangled strands of time in software development

Published: 22 October 2017 Publication History

Abstract

We look at the experience of a software developer as multiple entangled strands of activities. Modern development environments provide means to navigate, or to time-travel, along each of those strands. We describe the different strands and the navigation within each. We then discuss their entanglement and what it means for the developer experience. We end up with a call to action, a set of recommendations to improve the developer experience by explicitly considering these strands and their entanglement.

References

[1]
David Akers, Robin Jeffries, Matthew Simpson, and Terry Winograd. 2012. Backtracking Events As Indicators of Usability Problems in Creation-Oriented Applications. ACM Trans. Comput.-Hum. Interact. 19, 2, Article 16 (July 2012), 40 pages.
[2]
Alan F. Blackwell. 2002. What is Programming?. In Proceeding of the 14th Workshop of the Psychology of Programming Interest Group (PPIG '02).
[3]
Aaron G. Cass, Chris S. T. Fernandes, and Andrew Polidore. 2006. An Empirical Evaluation of Undo Mechanisms. In Proceedings of the 4th Nordic Conference on Human-computer Interaction: Changing Roles (NordiCHI '06). ACM, New York, NY, USA, 19-27.
[4]
Romain E. Cledat, Tushar Kumar, and Santosh Pande. 2011. Efficiently speeding up sequential computation through the n-way programming model. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications (OOPSLA '11). ACM, New York, NY, USA, 537-554.
[5]
Toby Cubitt. Retrieved August 2017. undo-tree.el -- Treat undo history as a tree. https://www.emacswiki.org/emacs/UndoTree. (Retrieved August 2017).
[6]
W. Keith Edwards, Takeo Igarashi, Anthony LaMarca, and Elizabeth D. Mynatt. 2000. A Temporal Model for Multi-level Undo and Redo. In Proceedings of the 13th Annual ACM Symposium on User Interface Software and Technology (UIST '00). ACM, New York, NY, USA, 31-40.
[7]
Adele Goldberg and Alan Kay. 1976. The Smalltalk-72 Instruction Manual. Technical Report. Xerox Palo Alto Research Center.
[8]
Daniel Ingalls, Tim Felgentreff, Robert Hirschfeld, Robert Krahn, Jens Lincke, Marko Röder, Antero Taivalsaari, and Tommi Mikkonen. 2016. A World of Active Objects for Work and Play: The First Ten Years of Lively. In Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2016). ACM, New York, NY, USA, 238-249.
[9]
Savage Interactive. Retrieved August 2017. Procreate: Record, replay and broadcast your journey. http://procreate.art/ipad/video/. (Retrieved August 2017).
[10]
G. F. Johnson and D. Duggan. 1988. Stores and Partial Continuations As First-class Objects in a Language and Its Environment. In Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '88). ACM, New York, NY, USA, 158-168.
[11]
George B. Leeman, Jr. 1986. A Formal Approach to Undo Operations in Programming Languages. ACM Trans. Program. Lang. Syst. 8, 1 (Jan. 1986), 50-87.
[12]
Aran Lunzer and Yoshiki Ohshima. 2013. Experiments with Worlds. Technical Report M-2013-002. Viewpoint Research Institute. 31 pages.
[13]
Thor Magnusson and Alex McLean. [n. d.]. International Conference on Live Coding. http://iclc.livecodenetwork.org/. ([n. d.]).
[14]
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.
[15]
Hiroaki Mikami, Daisuke Sakamoto, and Takeo Igarashi. 2017. Micro-Versioning Tool to Support Experimentation in Exploratory Programming. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (CHI '17). ACM, New York, NY, USA, 6208-6219.
[16]
Bram Moolenaar. Retrieved August 2017. Vim User Manual - The undo tree. http://vimdoc.sourceforge.net/htmldoc/usr_32.html. (Retrieved August 2017).
[17]
Mathieu Nancel and Andy Cockburn. 2014. Causality: A Conceptual Model of Interaction History. In Proceedings of the 32Nd Annual ACM Conference on Human Factors in Computing Systems (CHI '14). ACM, NewYork, NY, USA, 1777-1786.
[18]
Hari K. Pyla, Calvin Ribbens, and Srinidhi Varadarajan. 2011. Exploiting coarse-grain speculative parallelism. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications (OOPSLA '11). ACM, New York, NY, USA, 555-574.
[19]
Kaushik Ravichandran and Santosh Pande. 2013. Multiverse: efficiently supporting distributed high-level speculation. In Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications (OOPSLA '13). ACM, New York, NY, USA, 533-552.
[20]
Jun Rekimoto. 1999. Time-machine Computing: A Time-centric Approach for the Information Environment. In Proceedings of the 12th Annual ACM Symposium on User Interface Software and Technology (UIST '99). ACM, New York, NY, USA, 45-54.
[21]
Randall B. Smith and David Ungar. 1995. Programming As an Experience: The Inspiration for Self. In Proceedings of the 9th European Conference on Object-Oriented Programming (ECOOP '95). Springer-Verlag, London, UK, UK, 303-330. http://dl.acm.org/citation.cfm?id=646153.679530.
[22]
Steven L. Tanimoto. 2013. A Perspective on the Evolution of Live Programming. In Proceedings of the 1st International Workshop on Live Programming (LIVE '13). IEEE Press, Piscataway, NJ, USA, 31-34. http://dl.acm.org/citation.cfm?id=2662726.2662735.
[23]
Linus Torvalds. Retrieved August 2017. Git. https://git-scm.com/. (Retrieved August 2017).
[24]
Alessandro Warth, Yoshiki Ohshima, Ted Kaehler, and Alan Kay. 2011. Worlds: Controlling the Scope of Side Effects. In Proceedings of the 25th European Conference on Object-oriented Programming (ECOOP'11). Springer-Verlag, Berlin, Heidelberg, 179-203. http://dl.acm.org/citation.cfm?id=2032497.2032510.
[25]
Young Seok Yoon and Brad A. Myers. 2012. An Exploratory Study of Backtracking Strategies Used by Developers. In Proceedings of the 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE '12). IEEE Press, Piscataway, NJ, USA, 138-144. http://dl.acm.org/citation.cfm?id=2663638.2663669.

Cited By

View all
  • (2022)A Language-Parametric Approach to Exploratory Programming EnvironmentsProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567527(175-188)Online publication date: 29-Nov-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PX/17.2: Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience
October 2017
45 pages
ISBN:9781450355223
DOI:10.1145/3176645
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 ACM 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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Programming experience
  2. history
  3. time travel
  4. undo \& redo

Qualifiers

  • Research-article

Conference

SPLASH '17
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)A Language-Parametric Approach to Exploratory Programming EnvironmentsProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567527(175-188)Online publication date: 29-Nov-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media