First-Author Publications

Structured Data as a Visual Programming Language Onward! 2017
Rethinking the human-readability infrastructure Future Programming 2015
Universal Syntax, and Deconstructible User Interfaces OOPSLA 2014

PhD Thesis

The various end-user modalities of computing can be unified with a re-invention of the human-readability infrastructure.

Dissertation Abstract

We present Infra, a new baseline medium for representing data. With Infra, arbitrarily-complex structured data can be encoded, viewed, edited and processed, all within a parsed paradigm. It is suitable for the full range of information modalities, from free-form input, to compact schema-conforming structures. With its own equivalent of a text editor and text-field widget, Infra is designed to target the domain currently dominated by flat character strings while simultaneously enabling the expression of sub-structure, inter-reference, dynamic dependencies, abstraction, computation, and context (metadata).

Existing metaformats fit neatly into two categories. They are either textual for human-readability (such as XML and JSON) or binary for compact serialization (such as Thrift and Protocol Buffers). Infra can play the role of either, imbuing each with the desirable properties of the other.

We show how the new level of organization Infra brings to data makes a new non-textual programming paradigm viable. Programs that modify data can now be embedded into the data itself. Furthermore, these programs can often be authored by demonstration. We argue that Infra can be used to improve existing software projects and that bringing direct authoring and human readability to a binary data paradigm could have rippling ramifications on the computing landscape.



Video Demos
#1 Building Blocks 3:16
#2 Quantities 1:42
#3 Introduction to Patch 2:08

Visit for downloads, technical specification, and user guides.