Pangaro : Burgess Independent Study — Spring ’19
The purpose of this document is to serve as a ‘living repository’ of work for the independent study between Professor Paul Pangaro and senior Cameron Burgess. This document starts from the syllabus which was submitted to the HCI Institute on February 6th (frozen copy here).


As of February 6th, 2019


“An Authoring Environment is a computer software and/or hardware system for making data or programs.” Over the past year, I have been thinking and writing about how to reform computational environments in order to make them more accessible.

Throughout Spring 2018, under the advisement of Prof. Dan Lockton, I began to explore questions of computational interpretability and environment. In March, CMU wrote about some of the work I did with Marisa Lu: “Towards a Speculative Interface for Democratizing Computational Agency” [1] and in June, I presented my work on ‘sub-cycle-stepping’ in a computational photo-editing environment at the Data & Society Conference Future Perfect Conference. [2]
In the summer, under the advisement of Hugh Dubberly, I furthered my research in an account and meticulous categorization of over 200 computer software and hardware interfaces for authoring data and programs from the 1960s through the present day. [3] In my research so far, I have begun to recognize patterns (i.e. Key Hole Model, Live “Fiddle”, etc) and dimensions (i.e. Instrument-ness, “Cast”-ability, etc) that can be used when designing ‘Authoring Environments’ broadly and more specifically, programming environments (i.e. programs for making programs).

Learning Goals

Authoring Environments
  1. Define qualities, patterns & dimensions of authoring environments, thereby arriving at a crisp definition of ‘Authoring Environment’
  1. establish a set of dimensions, or a model of an authoring environment, or another formalism (i.e. a theory, genealogy, etc.) and create a model which juxtaposes interlocking definitions of “authoring environment + programming language”
  1. Create non-working concept designs to facilitate conversations to inform a plan for the creation of working prototypes
  1. with attention paid to circumscribing a set of ‘principles for designing authoring environments’ and to understanding the forces that make computational thinking inaccessible currently
  1. Describe how computation, cybernetics, humanism & education are entangled with the past and present of computational authoring
  1. articulate distinctions between systems that are computational, cybernetic, humanistic & educational
  1. Recognize how the philosophy & history of computer science has affected authoring environments
  1. synthesize “ethnographic notes” taken during my time in cmu computer science classes with historical and other accounts to analyze and codify ways the academy contributes to preserving computational authoring status quo


February 5
Refined syllabus, conversation on qualities of authoring environments
February 19
New visualization of the Authoring Environments Collection [3]
March 5
Three new formalism candidates (i.e. models, dimension spaces, pattern sets, etc)
March 19
Iteration of the most promising formalism
April 2
Concept designs to illustrate unexplored areas in a “space of authoring environments”
April 16
Iteration on Concept Designs
April 30
Writing to connect context (both/either parts 2 or 4) to earlier work earlier in the semester
May 11
Crystallization and preparation for continued work in the Fall semester


  1. Towards a Speculative Interface for Democratizing Computational Agency; Marisa Lu, Cameron Burgess, March 2018
  1. Presentation Slides; Self-Hosted
  1. Existing In Between: End-User ‘Programming’ in a Photo-Editing Application
  1. Exhibition at Future Perfect; Data & Society, May 2018
  1. Documentation & Video; Self-Hosted
  1. Data Authoring Environments Collection; Cameron Burgess, Hugh Dubberly, July 2018


I have moved this section out of the syllabus so it can live and grow.

Authoring Environments