title: "Papercode: Generating Paper-Based User Interfaces for Code Review, Annotation, and Teaching" authors: Priyan Vaithilingam, Julia M. Markel, Philip J. Guo venue: ACM Symposium on User Interface Software and Technology (UIST) (poster) year: 2020 abstract: > Paper can be a powerful and flexible user interface that lets programmers read through large amounts of code. Using off-the-shelf equipment, how can we generate a paper-based UI that supports code review, annotation, and teaching? To address this question, we ran formative studies and developed Papercode, a system that formats source code for printing on standard paper. Users can interact with that code on paper, make freehand annotations, then transfer annotations back to the computer by taking photos with a normal phone camera. Papercode optimizes source code for on-paper readability with tunable heuristics such as code-aware line wraps and page breaks, quick references to function and global definitions, moving comments and short function calls into margins, and topologically sorting functions in dependency order. bibtex: > @inproceedings{VaithilingamUIST2020, author = {Vaithilingam, Priyan and Markel, Julia M. and Guo, Philip J.}, title = {Papercode: Generating Paper-Based User Interfaces for Code Review, Annotation, and Teaching}, year = {2020}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, booktitle = {Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology}, series = {UIST '20} }