Alternate Timelines for TidalCycles
Alex McLean

TL;DR
This paper explores alternative development paths for TidalCycles, a live coding environment for music, emphasizing the value of rewrites and beginner insights to improve software design.
Contribution
It introduces the concept of alternative timelines and rewrites in software development, highlighting their role in uncovering missed insights and fostering innovation.
Findings
Rewrites can reveal missed insights in software development.
Beginner questions can guide feature improvements.
Alternative development paths lead to better understanding of software.
Abstract
The TidalCycles (or Tidal for short) live coding environment has been developed since around 2009, via several rewrites of its core representation. Rather than having fixed goals, this development has been guided by use, motivated by the open aim to make music. This development process can be seen as a long-form improvisation, with insights into the nature of Tidal gained through the process of writing it, feeding back to guide the next steps of development. This brings the worrying thought that key insights will have been missed along this development journey, that would otherwise have lead to very different software. Indeed participants at beginners' workshops that I have lead or co-lead have often asked questions without good answers, because they made deficiencies or missing features in the software clear. It is well known that a beginner's mind is able to see much that an expert…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Computational Physics and Python Applications
