Varv: Reprogrammable Interactive Software as a Declarative Data Structure

Marcel Borowski, Luke Murray, Rolf Bagge, Janus Bager Kristensen, Arvind Satyanarayan, Clemens Nylandsted Klokmose

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

295 Downloads (Pure)

Abstract

Most modern applications are immutable and turn-key despite the acknowledged benefits of empowering users to modify their software. Writing extensible software remains challenging, even for expert programmers. Reprogramming or extending existing software is often laborious or wholly blocked, requiring sophisticated knowledge of application architecture or setting up a development environment. We present Varv, a programming model representing reprogrammable interactive software as a declarative data structure. Varv defines interactive applications as a set of concepts that consist of a schema and actions. Applications in Varv support incremental modification, allowing users to reprogram through addition and selectively suppress, modify, or add behavior. Users can define high-level concepts, creating an abstraction layer and effectively a domain-specific language for their application domain, emphasizing reuse and modification. We demonstrate the reprogramming and collaboration capabilities of Varv in two case studies and illustrate how the event engine allows for extensive tooling support.
Original languageEnglish
Title of host publicationCHI '22 : Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems
Number of pages20
Place of publicationNew York
PublisherAssociation for Computing Machinery
Publication dateApr 2022
Article number492
ISBN (Electronic)9781450391573
DOIs
Publication statusPublished - Apr 2022
EventCHI '22: CHI Conference on Human Factors in Computing Systems - New Orleans , United States
Duration: 29 Apr 20225 May 2022

Conference

ConferenceCHI '22
Country/TerritoryUnited States
CityNew Orleans
Period29/04/202205/05/2022

Keywords

  • declarative programming
  • reprogramming
  • interactive software
  • liveness
  • real-time collaboration

Fingerprint

Dive into the research topics of 'Varv: Reprogrammable Interactive Software as a Declarative Data Structure'. Together they form a unique fingerprint.

Cite this