Research


Exploration and Versioning in Live Coding

Live coding is a performance practice where one or more performers continuously run and modify code to create music or visuals. In this project, we seek to better understand how live coding musicians keep track of the evolving state of their programs and how that differs in performance vs. practice. To that end, we are also developing an IDE extension which helps live coders keep track of their program versions as they explore new sounds and new code.

Publications

Branch [video demo]
Daniel Manesh, Douglas Bowman Jr., Sang Won Lee
NIME 2023, Music Performance

SHARP: Supporting Exploration and Rapid State Navigation in Live Coding Music
Douglas Bowman Jr., Daniel Manesh, Sang Won Lee
NIME 2023, Short Paper

Version Control for Live Coding Musicians [link]
Daniel Manesh
NIME 2022, Doctoral Consortium


Octave: Helping Construction Students Analyze GPS Data

Octave (Observable Connections between Tables, Algorithms, and Visualization in an EUP) is an end-user programming environment that allows for the visualization and analysis of spatiotemporal trajectory data. It's designed to help construction students understand GPS data gathered from the field. Octave presents data both as a table and as a visualization and provides a small and simple set of simple computational primitives. The views of the data are tightly connected to provide a responsive and intuitive environment. For example, hovering over a table row will highlight the corresponding data point(s) in the visualization.

Publications

Octave: An End-User Programming Environment for Analysis of Spatiotemporal Data for Construction Students [link]
Daniel Manesh, Andy Luu, Mohammad Khalid, Jiangyue Li, Chinedu Okonkwo, Abiola Akanmu, Ibukun Awolusi, Homero Murzi, Sang Won Lee
VL/HCC 2023, Full Paper


iThem: Scripting with Triggers and Actions

Existing Trigger-Action Programming systems such as IFTTT allow users to define simple if-then programs consisting of a "Trigger" and "Action". For example, a program could be "If it starts to rain (Trigger), then change my smart light bulb color to blue (Action)". In this project, we built a system called iThem which piggy-backs off of IFTTT: users create Triggers and Actions using IFTTT's convenient interface, but then connect them using short snippets of JavaScript. This affords users the full power of a textual programming language, but still allows them to outsource tricky API integrations to a simple UI.

Publications

iThem: Programming Internet of Things Beyond Trigger-Action Pattern [link]
Marx Wang, Daniel Manesh, Ruipu Hu, Sang Won Lee
UIST 2022, Poster


Exquisite Score

Exquisite Score was a website that facillitated collaborative musical composition using the exquisite corpse paradigm. Users composed successive sections of a piece in sequence, but each user could only see the very end of what was previously written. The website is no longer up and running, but I'd love to work on it more in the future if I get the chance.

Publications

Exquisite Score: A System for Collaborative Musical Composition [link]
Daniel Manesh, Eran Egozy
NIME 2017, Short Paper

Exquisite Score: A System for Collaborative Musical Composition [link]
Daniel Manesh
MIT, Master's Thesis