Research, data analysis, education, software engineering, and writing all involve communication of complex ideas, have complicated, branched timelines, and spur development of productivity-enhancing tools. However, a persistent tension exists between personalization and homogenization, between customizing the environment and workflow for the user and conforming to shared standards that facilitate collaboration and dissemination. People's choices in response to this tension (and local needs/norms) produce artificially separated communities with overlapping purposes (e.g., R vs. Python, IDE vs. Editor, Word vs. LaTeX) and a wide range of practices.
Reproducible research can help balance this trade off, but a focus only on reproducibility is limiting. In this talk, I will argue that we can simultaneously support a variety of goals -- sharing, serialization, easy modification, automation, and deep customizability -- with interoperability across languages and platforms. The key is well-chosen representations and a minimal set of flexible standards.This extends beyond research to education, writing, and more. I will develop several examples that demonstrate the possibilities.