LIVE 2020 · Workshop on Live Programming

Where UX meets PL

Programming is cognitively demanding, and way too difficult. LIVE is a workshop exploring new user interfaces that improve the immediacy, usability, and learnability of programming. Whereas PL research traditionally focuses on programs, LIVE focuses more on the activity of programming.

Themes

Programmers don't materialise programs out of thin air, but construct them out of existing programs. Embracing this insight leads to a different focus at LIVE compared to traditional PL conferences. Here are some of the qualities that we care about:

  • Live. Live programming systems give the programmer immediate feedback on the output of a program as it is being edited, replacing the edit-compile-debug cycle with a fluid programming experience. Liveness can also mean providing feedback about how the static meaning of the program is changing, such as its type.
  • Structured. A program is highly structured and meaningful to the programmer, even in traditionally invalid states. “Structure-aware” programming environments understand and preserve that structure, and allow operations at the level of the structure, rather than at the level of raw text.
  • Tangible. In the traditional view of programs, execution takes place behind the scenes, and leaves little record of what happened. We are interested in programming systems that make execution transparent, tangible and explorable.
  • Concrete. People find it easier to start with concrete examples and generalise afterwards. Programming tools tailored to people will support this mode of working.

The majority of LIVE submissions are demonstrations of novel programming systems. Technical papers, and insightful and clearly articulated experience reports, literature reviews, and position papers are also welcome.

LIVE 2020 Call For Submissions

LIVE 2020 will take place online in November in conjunction with SPLASH 2020.

The LIVE 2020 workshop invites submissions of ideas for improving the immediacy, usability, and learnability of programming. Live programming gives the programmer immediate feedback on the behavior of a program as it is edited, replacing the edit-compile-debug cycle with a fluid programming experience. The best-known example of live programming is the spreadsheet, but there are many others.

Keynote

Liveliness, Reactivity, and Interactivity in the Future of Notebook Programming Mary Beth Kery Human-Computer Interaction Institute, Carnegie Mellon University

Notebook Programming, typified by platforms like Jupyter Notebooks, Observable, or Google Colab, is a popular—and still rapidly evolving—programming paradigm today with the dream of a fast interactive programming workflow at its core. In this talk we’ll take a look at a spectrum of ideas from different systems on what future notebooks should and could be. I’ll share some of our own recent work, mage, which extends the possibilities of live programming in notebooks from parameter tuning widgets to direct manipulation of full complex GUI tools that produce code in-situ.

Submission Guidelines

LIVE welcomes demonstrations of novel programming systems, experience reports, literature reviews, demos of historic systems, and position papers. Topics of interest include:

  • live programming environments
  • visual programming
  • structure-aware editors
  • advances in REPLs, notebooks and playgrounds
  • programming with typed holes, interactive programming
  • programming by example/demonstration
  • bidirectional programming
  • debugging and execution visualization techniques
  • language learning environments
  • alternative language semantics or paradigms in support of the above
  • frameworks for characterising technical or experiential properties of live programming

LIVE provides a forum where early-stage work will receive constructive criticism. Submissions may be short papers, web essays with embedded videos, or demo videos. A written 250 word abstract is required for all submissions. Videos should be up to 20 minutes long, and papers up to 6 pages long. Use concrete examples to explain your ideas. Presentations of novel or historic programming systems should take care to situate the work within the history of programming environments.

While LIVE welcomes early work and exploratory work, authors may optionally choose to have their work considered for inclusion in the workshop proceedings. (Details coming soon.)

Past LIVE Workshops

LIVE 2020 will be the sixth edition of the workshop—past programs are below.

LIVE 2019 in Athens

(Keynote) Dark: a holistic programming language Paul Biggar

Steady Typing Yair Chuchem, Eyal Lotem

Mech - A Programming Language for Data Driven, Reactive Systems Corey Montella

Context-Oriented Live Programming Environments with Mixed Reality System for IoT Education Ikuta Tanigawa, Harumi Watanabe, Nobuhiro Ohe, Mikiko Sato, Nobuhiko Ogura, Takeshi Ohkawa, Kenji Hisazumi, Akira Fukuda

An Exploratory Literature Study on Live-Tooling in the Game Industry Tom Beckmann, Christian Flach, Eva Krebs, Stefan Ramson, Patrick Rein, Robert Hirschfeld

Userland: creating an integrated dataflow environment for end-users Hisham Muhammad

Puppy: An Educational Simplification of Python with a Live Playground Taku Tada, Yuka Akinobu, Makoto Sakane, Kimio Kuramitsu

Histogram: You have to know the past to understand the present Tomas Petricek

(Keynote) The Act of Computer Programming James Noble

LIVE 2018 in Boston

(Keynote) Against The Current: What We Learned From Eve Chris Granger

From Debugging Towards Live Tuning of Reactive Applications Ragnar Mogk, Pascal Weisenburger, Julian Haas, David Richter, Guido Salvaneschi, Mira Mezini

Margin Notes: Automatic code documentation with recorded examples from runtime Geoffrey Litt

PANE: Programming with visible data Joshua Horowitz

Realtime Annotations & Visualizations in Live Coding Environments Charles Roberts

Espalier: a structured spreadsheet tool for end-user development of organizational applications Matt McCutchen, Shachar Itzhaky, Daniel Jackson, Willow Jarvis

Hazel: Live and Direct Functional Programming with Holes Cyrus Omar, Ian Voysey, Matthew Hammer, Ravi Chugh

REPLugger: a pleasant and scalable live coding editor Glen Chiacchieri

Scaling the REPL Experience Yair Chuchem, Eyal Lotem

SVG Programming by Direct Manipulation of Intermediates Brian Hempel, Ravi Chugh

Chalktalk: A Visualization and Communication Language -- As a Tool in the Domain of Computer Science Education Ken Perlin, Zhenyi He, Karl Rosenberg

LIVE 2017 in Vancouver

(Keynote) User Interfaces for Live Programming Jun Kato

Reifying Programming Jonathan Edwards

Live Programming as Gradual Abstraction Sean McDirmid

(Keynote) Becoming Alive, Growing Up Luke Church

Toward a Live Stepper for Typed Expressions with Holes Cyrus Omar, Ian Voysey, Matthew Hammer

Whatever You Say, Happens: Live Creation of VR/AR Experiences Mike Johnston

Shadama: A Particle Simulation Programming Environment for Everyone Yoshiki Ohshima, Bert Freudenberg, Dan Amelang

Seymour: Live Programming for the Classroom Saketh Kasibatla, Alessandro Warth

ZenSheet: a live programming environment for reactive computing Enzo Alda, Monica Figuera

Anansi: a Tracing Interpreter Scott Kovach

LIVE 2016 in Rome

(Keynote) The Promise of Live Programming Sean McDirmid

Language Hacking in a Live Programming Environment Patrick Dubroy, Saketh Kasibatla, Meixian Li, Marko Röder, Alessandro Warth

Towards Live Language Development Gabriël Konat, Sebastian Erdweg, Eelco Visser

Live Programming with Code Portals Alexander Breckel, Matthias Tichy

Live end-user programming: a demo/manifesto Jonathan Edwards, Jodie Chen, Alessandro Warth

Live Programming by Example: Using Direct Manipulation for Live Program Synthesis Christopher Schuster, Cormac Flanagan

Live Literals Tijs van der Storm, Felienne Hermans

Liveness for Verification Roly Perera, Simon J. Gay

(Keynote) Leveraging live programming in the classroom — an experience report Alessandro Warth

Live Tuning: Expanding Live Programming Benefits to Non-Programmers Jun Kato, Masataka Goto

Sintr: Experimenting with liveness at scale Luke Church, Mariana Marasoiu, Alan Blackwell

LIVE 2013 in San Francisco

A Perspective on the Evolution of Live Programming Steven L. Tanimoto

The thing on the screen is supposed to be the actual thing David Ungar, Randall B. Smith

The Threnoscope: A Musical Work for Live Coding Performance Thor Magnusson

Introducing Circa: A Dataflow-Based Language for Live Coding Andrew Fischer

Improvisation on a live-coded mobile musical instrument using urMus Sang Won Lee, Cameron Hejazi, Bruno Yoshioka, Georg Essl

Visual Code Annotations for Cyberphysical Programming Ben Swift, Andrew Sorensen, Henry Gardner, John Hosking

Conception Dmitri Shuralyov

Interactive Code Execution Profiling Alexandre Bergel

Making Methods Live in Newspeak Gilad Bracha

Code Hint Joel Galenson, Philip Reames, Rastislav Bodik, Koushik Sen

Live Feedback on Behavioral Changes Gustavo Soares, Emerson Murphy-Hill, Rohit Gheyi

Live Logic Programming Spencer Rugaber, Zef Hemel, Kurt Stirewalt

Semantic Deltas for Live DSL Environments Tijs van der Storm

Euclase: A Live Development Environment with Constraints and FSMs Stephen Oney, Brad A. Myers, Joel Brandt

Co-evolution as the Key for Live Programming Remo Lemma, Michele Lanza

Live Mashup Tools: Challenges and Opportunities Saeed Aghaee, Cesare Pautasso

SOMETHINGit: A Prototyping Library for Live and Sound Improvisation Tomohiro Oda, Kumiyo Nakakoji, Yasuhiro Yamamoto

Noise: Human-readable graphics language Tom Brow

Avocado: Programming JavaScript in a Self-ish Environment Adam Spitz, Josh Flowers

Organising committee

Brian Hempel
University of Chicago

Roly Perera
The Alan Turing Institute/
University of Bristol

Key dates

Submission deadline:
18 September, 2020 (AoE)
Notification:
9 October, 2020
Early registration:
15 October, 2020
Workshop:
17 November, 2020 (TBC)

Submit via HotCRP.

Programme committee

Ravi Chugh
University of Chicago

Ezgi Çiçek
Facebook

Jonathan Edwards
Unaffiliated

Simon Fowler
University of Edinburgh

Juliana Franco
Microsoft Research

April Gonçalves
Roskilde University

Felienne Hermans
Leiden University

Kate Howland
University of Sussex

Chris Hundhausen
Washington State University

Wen Kokke
University of Edinburgh

Jens Lincke
Hasso Plattner Institute

Mariana Mărășoiu
University of Cambridge

David Moon
University of Michigan

James Noble
Victorial University of Wellington

Clemens Nylandsted Klokmose
Aarhus University

Cyrus Omar
University of Michigan

Tomas Petricek
University of Kent/
The Alan Turing Institute

Patrick Rein
Hasso Plattner Institute

Emma Söderberg
Lund University

Lea Verou
MIT