[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-657540-105":3,"detail-sidebar-cat-0-en-105":80,"doc-detail-657540-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},105,"en","taking-ascii-drawings-seriously-how-programmers-diagram-code","Taking ASCII Drawings Seriously - How Programmers Diagram Code","","Code documentation supports knowledge transfer, yet programming tools are largely text-based, leading developers to embed ASCII diagrams as text-approximated visuals for conveying ideas in source. Despite their real-world use, little is empirically known about these diagrams. Interviews with nine diagram authors and a corpus analysis of 507 diagrams from four open-source projects derive a seven-dimension design space, clarifying what they depict, how they depict it, and how they connect to code. Results frame ASCII diagrams as professional artifacts across the development lifecycle and motivate tighter coupling of text and graphics in future programming tools.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/taking-ascii-drawings-seriously-how-programmers-diagram-code/657540/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/taking-ascii-drawings-seriously-how-programmers-diagram-code/657540.png","ImageObject",300,407,{"name":42,"@type":43},"Kyle","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-29","2026-10-26",true,{"@type":52,"interactionType":53,"userInteractionCount":22},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"Why do programmers use ASCII diagrams in code?","Question",{"text":62,"@type":63},"Programmers use ASCII diagrams to express visual ideas within largely text-based programming tools, communicating relationships and procedures to colleagues while integrating with the code they edit.","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"How was the study conducted to understand ASCII diagrams?",{"text":67,"@type":63},"The study combined qualitative interviews with nine authors of ASCII diagrams and a content analysis of 507 ASCII diagrams collected from Linux, Chromium, LLVM, and Tensorflow.",{"name":69,"@type":60,"acceptedAnswer":70},"What does the research discover about the role and content of ASCII diagrams?",{"text":71,"@type":63},"Findings show ASCII diagrams function as professional artifacts across multiple steps of the development lifecycle, varying in role and content, and they can be organized using a seven-dimension design space.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},657540,1792982556,{"code":4,"msg":81,"data":82},"success",[83,87,91,95,100,105,110,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":88,"show_sort_weight":89,"slug":90},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":92,"show_sort_weight":93,"slug":94},"Exam",70,"exam",{"id":96,"doc_module":4,"doc_module_name":25,"category_name":97,"show_sort_weight":98,"slug":99},5,"Comic",60,"comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":103,"slug":104},6,"Technology",50,"technology",{"id":106,"doc_module":4,"doc_module_name":25,"category_name":107,"show_sort_weight":108,"slug":109},7,"Healthcare",40,"healthcare",{"id":111,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":112,"slug":113},8,30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":96,"slug":129},19,"General","general",{"code":4,"msg":81,"data":131},{"doc_id":78,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":111,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":22,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":139,"language":140,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":12,"update_tm":79,"read_time":108},3985741905716,"https://ap-avatar.wpscdn.com/davatar_994ba38a5ba835b3df7d355c54d3ed8d","Taking ASCII Drawings Seriously: How Programmers Diagram Code  \nDevamardeep Hayatpur  \nUniversity of California, San Diego La Jolla, California, USA [dshayatpur@ucsd.edu](dshayatpur@ucsd.edu)  \nWilliam Duan  \nUniversity of California, San Diego La Jolla, California, USA [widuan@ucsd.edu](widuan@ucsd.edu)  \nBrian Hempel  \nUniversity of California, San Diego La Jolla, California, USA [bhempel@ucsd.edu](bhempel@ucsd.edu)  \nPhilip J. Guo  \nUniversity of California, San Diego La Jolla, California, USA [pg@ucsd.edu](pg@ucsd.edu)  \nKathy Chen  \nUniversity of California, San Diego La Jolla, California, USA [ktchen@ucsd.edu](ktchen@ucsd.edu)  \nHaijun Xia  \nUniversity of California, San Diego La Jolla, California, USA [haijunxia@ucsd.edu](haijunxia@ucsd.edu)  \nFigure 1: Examples of ASCII diagrams from the Linux Kernel and LLVM codebases [1, 3, 6].  \nABSTRACT  \nDocumentation in codebases facilitates knowledge transfer. But tools for programming are largely text-based, and so developers resort to creating ASCII diagrams—graphical artifacts approximated with text—to show visual ideas within their code. Despite real-world use, little is known about these diagrams. We interviewed nine authors of ASCII diagrams, learning why they use ASCII and what roles the diagrams play. We also compile and analyze a corpus of 507 ASCII diagrams from four open source projects, deriving a design space with seven dimensions that classify what these diagrams show, how they show it, and ways they connect to code. These investigations reveal that ASCII diagrams are professional artifacts used across many steps in the development lifecycle, diverse in role and content, and used because they visualize ideas within the variety of programming tools in use. Our findings highlight the importance of visualization within code and lay a foundation for future programming tools that tightly couple text and graphics.  \nCCS CONCEPTS  \n• Human-centered computing → Empirical studies in visualization; Graphical user interfaces.  \nThis work is licensed under a Creative Commons Attribution International 4.0 License.  \nCHI’24, May 11–16, 2024, Honolulu, HI, USA © 2024 Copyright held by the owner/author(s) .  \nACM ISBN 979-8-4007-0330-0/24/05  \n[https://doi.org/10.1145/3613904.3642683](https://doi.org/10.1145/3613904.3642683)  \nKEYWORDS  \nprogramming, graphical representations  \nACM Reference Format:  \nDevamardeep Hayatpur, Brian Hempel, Kathy Chen, William Duan, Philip J. Guo, and Haijun Xia. 2024. Taking ASCII Drawings Seriously: How Programmers Diagram Code. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’24), May 11–16, 2024, Honolulu, HI, USA. ACM, New York, NY, USA, 16 pages. [https://doi.org/10.1145/3613904.3642683](https://doi.org/10.1145/3613904.3642683)  \n1 INTRODUCTION  \nComputer code is a form of human communication, and most code today is written as text. However, text is a limited media, especially when trying to describe inherently visual ideas. Programmers thus resort to visuals to articulate design decisions to their colleagues, e.g. by drawing a diagram on a whiteboard to illustrate relationships and procedures [45]. But these visual artifacts are ephemeral—they are rarely archived or documented digitally [21]. This fragmentation implies that text-based computer code can effectively convey only a portion of its author’s thought processes that went into writing that code, thus placing burden on the reader to reconstruct its underlying ideas.  \nWe envision a future of programming where graphics sits alongside text and tightly integrate with it—where developers can use the most fitting representation for any given task. As a first step towards this vision, we wish to understand how text and graphics currently integrate within source code.  \nTo date, the primary media of code is monospace text, traditionally nicknamed “ASCII” after the influential and widespread “American Standard Code for Information Interchange” text encoding  \nformat","cbCairM5xR5pYrgf","https://ap.wps.com/l/cbCairM5xR5pYrgf","pdf",5205562,16,"English","# Abstract\n# Introduction\n## Research Questions\n## Approach and Contributions","[{\"question\":\"Why do programmers use ASCII diagrams in code?\",\"answer\":\"Programmers use ASCII diagrams to express visual ideas within largely text-based programming tools, communicating relationships and procedures to colleagues while integrating with the code they edit.\"},{\"question\":\"How was the study conducted to understand ASCII diagrams?\",\"answer\":\"The study combined qualitative interviews with nine authors of ASCII diagrams and a content analysis of 507 ASCII diagrams collected from Linux, Chromium, LLVM, and Tensorflow.\"},{\"question\":\"What does the research discover about the role and content of ASCII diagrams?\",\"answer\":\"Findings show ASCII diagrams function as professional artifacts across multiple steps of the development lifecycle, varying in role and content, and they can be organized using a seven-dimension design space.\"}]","Taking ASCII Drawings Seriously - How Programmers Diagram Code | PDF"]