An Investigation into Freeform, Dynamic, Digital Ink Annotation for Program Code

Understanding program code is cognitively demanding. One tool that has not been investigated previously is using ink freeform annotations to aid understanding of program code. Before we can investigate using freeform annotations for code comprehension there are some user and technical challenges that need answering. An iterative research approach was used for this investigation. A single research question was investigated in each iteration and the results informed the next iteration. In the first iteration, the focus was how and why programmers annotate when understanding program code on paper. The results indicate programmers reading program code use similar types of annotation to those reported for other types of reading. The main reasons for adding annotations were to assist with navigation and offload information from the reader’s memory. In the second iteration, the focus was how to classify digital annotations; a precursor to other operations. The initial phase used a general purpose automatic recogniser but failed to improve on previously reported results. The second phase combined automatic recognition with user input. While this approach resulted in higher classification accuracy, the accuracy rates were still lower than previously reported for sketch-based recognition. An unexpected finding was the participants did not want to classify all annotations during reading. In the third iteration, the focus was how to refit (modify) annotations in response to changes in the underlying text. Four classes of annotation were investigated: horizontal lines, vertical lines, enclosures and connectors. Several refitting algorithms were implemented and evaluated for each class of annotation. The findings indicate there are two preferred approaches for refitting annotations: stretching the annotation or splitting it and adding a visualisation showing where the annotation was split. This thesis makes five main contributions. First, a systematic literature review which provides an overview of the current research. Second, details of how and why programmers annotate code on paper. Third, an implementation of an extensible tool for investigating digital ink annotations on code. Fourth, details on how collaborative intelligence can improve recognition. Fifth, a set of proposals for how to refit annotations based on the annotation classification and user preferences.

[1]  Dave Levin,et al.  ProofRite: A Paper-Augmented Word Processor , 2004 .

[2]  Beryl Plimmer,et al.  Rata.SSR: Data Mining for Pertinent Stroke Recognizers , 2010, SBIM.

[3]  Wendy E. Mackay,et al.  The missing link: augmenting biology laboratory notebooks , 2002, UIST '02.

[4]  Spencer Rugaber,et al.  Programmer information needs after memory failure , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[5]  Rainer Koschke,et al.  On the Comprehension of Program Comprehension , 2014, TSEM.

[6]  Nicholas Chen,et al.  Graduate student use of a multi-slate reading system , 2013, CHI.

[7]  Gail C. Murphy,et al.  Asking and Answering Questions during a Programming Change Task , 2008, IEEE Transactions on Software Engineering.

[8]  Richard J. Anderson,et al.  Experiences with a tablet PC based lecture presentation system in computer science courses , 2004, SIGCSE '04.

[9]  Diogo Cabral,et al.  Pen-Based Video Annotations: A Proposal and a Prototype for Tablet PCs , 2009, INTERACT.

[10]  Yang Li,et al.  Experimental analysis of mode switching techniques in pen-based user interfaces , 2005, CHI.

[11]  William Buxton,et al.  A marking based interface for collaborative writing , 1993, UIST '93.

[12]  Pierre Dillenbourg,et al.  Shared Annotations: The Social Side of Exam Preparation , 2013, EC-TEL.

[13]  Kenton O'Hara,et al.  A diary study of work-related reading: design implications for digital reading devices , 1998, CHI.

[14]  Jan O. Borchers,et al.  CodeGraffiti: Using hand-drawn sketches connected to code bases in navigation tasks , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[15]  Chunyuan Liao,et al.  PapierCraft: a command system for interactive paper , 2005, UIST.

[16]  Joseph J. LaViola,et al.  MathPaper: Mathematical Sketching with Fluid Support for Interactive Computation , 2008, Smart Graphics.

[17]  J.G. Tront,et al.  WriteOn: A Tool to Support Teaching Software Engineering , 2006, 19th Conference on Software Engineering Education and Training Workshops (CSEETW'06).

[18]  Nicholas Chen,et al.  TextTearing: opening white space for digital ink annotation , 2013, UIST.

[19]  Beryl Plimmer,et al.  RCA: experiences with an IDE annotation tool , 2006, CHINZ '06.

[20]  Josep Lladós,et al.  Categorization of Digital Ink Elements Using Spectral Features , 2007, GREC.

[21]  Christine Reid,et al.  The Myth of the Paperless Office , 2003, J. Documentation.

[22]  Catherine C. Marshall,et al.  Toward an ecology of hypertext annotation , 1998, HYPERTEXT '98.

[23]  Catherine C. Marshall,et al.  Collaborating over portable reading appliances , 2005, Personal Technologies.

[24]  Beryl Plimmer,et al.  Preserving the Hand-drawn Appearance of Graphs , 2009 .

[25]  Bill N. Schilit,et al.  Linking by inking: trailblazing in a paper-like hypertext , 1998, HYPERTEXT '98.

[26]  Matthew Kam,et al.  Livenotes: a system for cooperative and augmented note-taking in lectures , 2005, CHI.

[27]  Michele L. Simpson,et al.  Textbook Annotation: An Effective and Efficient Study Strategy for College Students. , 1990 .

[28]  Yvonne Rogers,et al.  External cognition: how do graphical representations work? , 1996, Int. J. Hum. Comput. Stud..

[29]  Beryl Plimmer,et al.  Inking in the IDE: Experiences with Pen-based Design and Annotatio , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[30]  Ethan V. Munson,et al.  Inkteractors: interacting with digital ink , 2008, SAC '08.

[31]  Paul D Jeanne Ellis Ormrod Leedy,et al.  Practical Research: Planning and Design , 1974 .

[32]  James D. Herbsleb,et al.  Program comprehension as fact finding , 2007, ESEC-FSE '07.

[33]  Xin Wang,et al.  Ink Annotations and their Anchoring in Heterogeneous Digital Documents , 2007, Ninth International Conference on Document Analysis and Recognition (ICDAR 2007).

[34]  Mira Dontcheva,et al.  v4v: a View for the Viewer , 2005, DUX '05.

[35]  François Guimbretière,et al.  Paper augmented digital documents , 2003, UIST '03.

[36]  William Buxton,et al.  Pen + touch = new tools , 2010, UIST.

[37]  Beat Signer,et al.  PaperPoint: a paper-based presentation and interactive paper prototyping tool , 2007, Tangible and Embedded Interaction.

[38]  Jennifer Pearson,et al.  Improving Annotations in Digital Documents , 2009, ECDL.

[39]  Xin Wang,et al.  Parsing ink annotations on heterogeneous documents , 2006, SBM'06.

[40]  Jennifer Pearson,et al.  Real-time document collaboration using iPads , 2010, BooksOnline '10.

[41]  Zile Wei,et al.  Recognizing Freeform Digital Ink Annotations , 2004, Document Analysis Systems.

[42]  Beryl Plimmer,et al.  iAnnotate: Exploring Multi-User Ink Annotation in Web Browsers , 2010, AUIC.

[43]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[44]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A tertiary study , 2010, Inf. Softw. Technol..

[45]  Janice Singer,et al.  An examination of software engineering work practices , 1997, CASCON.

[46]  David Bargeron,et al.  Reflowing digital ink annotations , 2003, CHI '03.

[47]  Laurent Denoue,et al.  Moving markup: repositioning freeform annotations , 2002, UIST '02.

[48]  Jürgen Steimle Collaborative Cross-media Annotation of Documents , 2012 .

[49]  Beryl Plimmer,et al.  Making paperless work , 2007, CHINZ.

[50]  Alice Twemlow,et al.  AIGA (American Institute of Graphic Arts), AIGA National Conferences, and AIGA Medal (1914–) , 2016 .

[51]  Gershon Elber,et al.  Inferring 3D models from freehand sketches and constraints , 1997, Comput. Aided Des..

[52]  Nicola Ferro,et al.  A historical and contemporary study on annotations to derive key features for systems design , 2007, International Journal on Digital Libraries.

[53]  Wolfgang Nejdl,et al.  A Comparison of Paper-Based and Online Annotations in the Workplace , 2009, EC-TEL.

[54]  Brad Jackel,et al.  Item Differential in Computer Based and Paper Based Versions of a High Stakes Tertiary Entrance Test: Diagrams and the Problem of Annotation , 2014, Diagrams.

[55]  Mortimer J. Adler,et al.  How to Read a Book , 1940 .

[56]  Maureen McGrath,et al.  Annotation is a valuable tool to enhance learning and assessment in student essays. , 2009, Nurse education today.

[57]  Bill N. Schilit,et al.  XLibris: the active reading machine , 1998, CHI Conference Summary.

[58]  Martin H. Johnson,et al.  Marginalised behaviour: digital annotations, spatial encoding and the implications for reading comprehension , 2009 .

[59]  Richard J. Anderson,et al.  PaperCP: Exploring the Integration of Physical and Digital Affordances for Active Learning , 2007, INTERACT.

[60]  R. Fowler,et al.  Effectiveness of highlighting for retention of text material. , 1974 .

[61]  Beryl Plimmer,et al.  Who changed my annotation? An investigation into refitting freeform ink annotations , 2016, 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[62]  Ramanujan S. Kashi,et al.  An architecture for ink annotations on Web documents , 2003, Seventh International Conference on Document Analysis and Recognition, 2003. Proceedings..

[63]  B. Simon,et al.  Use of classroom presenter in engineering courses , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[64]  Beryl Plimmer,et al.  An Observational Study of How Experienced Programmers Annotate Program Code , 2015, INTERACT.

[65]  Beryl Plimmer,et al.  vsInk - Integrating Digital Ink with Program Code in Visual Studio , 2013, AUIC.

[66]  Nicholas Chen,et al.  Designing a multi-slate reading environment to support active reading activities , 2012, TCHI.

[67]  Kenton O'Hara,et al.  A comparison of reading paper and on-line documents , 1997, CHI.

[68]  Peter Dalgaard,et al.  R Development Core Team (2010): R: A language and environment for statistical computing , 2010 .

[69]  Dae-Hyun Kim,et al.  Sketch- and constraint-based design of B-spline surfaces , 2002, SMA '02.

[70]  Janice Singer,et al.  How Software Developers Use Tagging to Support Reminding and Refinding , 2009, IEEE Transactions on Software Engineering.

[71]  Beryl Plimmer,et al.  Freeform digital ink annotations in electronic documents: A systematic mapping study , 2016, Comput. Graph..

[72]  Jerry Alan Fails,et al.  ScreenCrayons: annotating anything , 2004, UIST '04.

[73]  Beryl Plimmer,et al.  A pen-based paperless environment for annotating and marking student assignments , 2006, AUIC.

[74]  Yvonne Rogers,et al.  New theoretical approaches for human-computer interaction , 2005, Annu. Rev. Inf. Sci. Technol..

[75]  Jan O. Borchers,et al.  CodeGraffiti: communication by sketching for pair programmers , 2010, UIST '10.

[76]  Ming Ye,et al.  Context Aware On-line Diagramming Recognition , 2010, 2010 12th International Conference on Frontiers in Handwriting Recognition.

[77]  Beryl Plimmer,et al.  CodeAnnotator: digital ink annotation within Eclipse , 2007, OZCHI '07.

[78]  Peter Brandl,et al.  Bridging the gap between real printouts and digital whiteboard , 2008, AVI '08.

[79]  Herbert Van de Sompel,et al.  Making web annotations persistent over time , 2010, JCDL '10.

[80]  Bill N. Schilit,et al.  Digital library information appliances , 1998, DL '98.

[81]  James D. Hollan,et al.  Papiercraft: A gesture-based command system for interactive paper , 2008, TCHI.

[82]  Richard J. Anderson,et al.  Speech, ink, and slides: the interaction of content channels , 2004, MULTIMEDIA '04.

[83]  Y. Rogers,et al.  External cognition, interactivity and graphical representations , 1996 .

[84]  Santanu Chaudhury,et al.  Augmented paper system: A framework for User's Personalized Workspace , 2013, 2013 Fourth National Conference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG).

[85]  Hayato Yamana,et al.  Intelligent Ink Annotation Framework that uses User's Intention in Electronic Document Annotation , 2014, ITS '14.

[86]  Ziming Liu,et al.  Reading behavior in the digital environment: Changes in reading behavior over the past ten years , 2005, J. Documentation.

[87]  W. Keith Edwards,et al.  LiquidText: a flexible, multitouch environment to support active reading , 2011, CHI.

[88]  Thomas F. Stahovich,et al.  The effect of task on classification accuracy: using gesture recognition techniques in free-sketch recognition , 2009, SBIM '09.

[89]  Stephen J. H. Yang,et al.  Free-Form Annotation Tool for Collaboration , 2008, 2008 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (sutc 2008).

[90]  Steven P. Reiss,et al.  Debugger Canvas: Industrial experience with the code bubbles paradigm , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[91]  Catherine C. Marshall,et al.  From personal to shared annotations , 2002, CHI Extended Abstracts.

[92]  Beryl Plimmer,et al.  The Power of Automatic Feature Selection: Rubine on Steroids , 2010, SBIM.

[93]  Max Mühlhäuser,et al.  CoScribe: Integrating Paper and Digital Documents for Collaborative Knowledge Work , 2009, IEEE Transactions on Learning Technologies.

[94]  Catherine C. Marshall,et al.  Hypertext interaction revisited , 2000, HYPERTEXT '00.

[95]  Yong Wang,et al.  Using data mining for digital ink recognition: Dividing text and shapes in sketched diagrams , 2011, Comput. Graph..

[96]  Janet A. Sniezek,et al.  CoRAVEN: modeling and design of a multimedia intelligent infrastructure for collaborative intelligence analysis , 1998, SMC'98 Conference Proceedings. 1998 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.98CH36218).

[97]  Thomas F. Stahovich,et al.  Enabling data mining of handwritten coursework , 2016, Comput. Graph..

[98]  Bill N. Schilit,et al.  Beyond paper: supporting active reading with free form digital ink annotations , 1998, CHI.

[99]  Gregory D. Abowd,et al.  Personalizing the capture of public experiences , 1999, UIST '99.

[100]  Frank M. Shipman,et al.  Identifying Useful Passages in Documents Based on Annotation Patterns , 2003, ECDL.

[101]  Joseph J. LaViola,et al.  Code bubbles: rethinking the user interface paradigm of integrated development environments , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[102]  C.C. Marshall,et al.  Exploring the relationship between personal and public annotations , 2004, Proceedings of the 2004 Joint ACM/IEEE Conference on Digital Libraries, 2004..

[103]  Mark S. Ackerman,et al.  Successful classroom deployment of a social document annotation system , 2012, CHI.

[104]  Beryl Plimmer,et al.  Issues of extending the user interface of integrated development environments , 2008, CHINZ.

[105]  Stephen R. Levine,et al.  The Freestyle System , 1991 .

[106]  Catherine C. Marshall,et al.  Designing e-books for legal research , 2001, JCDL '01.

[107]  Xiaojun Bi,et al.  Informal information gathering techniques for active reading , 2012, CHI.

[108]  Meredith Ringel Morris,et al.  Reading Revisited: Evaluating the Usability of Digital Display Surfaces for Active Reading Tasks , 2007, Second Annual IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP'07).

[109]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[110]  Marcel Götze,et al.  The intelligent pen: toward a uniform treatment of electronic documents , 2002, SMARTGRAPH '02.

[111]  Ralf Klamma,et al.  u-Annotate: An Application for User-Driven Freeform Digital Ink Annotation of E-Learning Content , 2006, Sixth IEEE International Conference on Advanced Learning Technologies (ICALT'06).

[112]  W. Keith Edwards,et al.  Active reading and its discontents: the situations, problems and ideas of readers , 2011, CHI.

[113]  Jason Hong,et al.  Computational Support for Sketching in Design: A Review , 2009, Found. Trends Hum. Comput. Interact..

[114]  Victoria Crisp,et al.  The use of annotations in examination marking: opening a window into markers' minds , 2007 .

[115]  Craig J. Sutherland,et al.  vsInk: An Extensible Framework for Adding Digital Ink to Visual Studio , 2012 .

[116]  Mary Czerwinski,et al.  Easing program comprehension by sharing navigation data , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[117]  Simone Marinai Reflowing and annotating scientific papers on eBook readers , 2013, ACM Symposium on Document Engineering.

[118]  Catherine C. Marshall,et al.  Annotation: from paper books to the digital library , 1997, DL '97.

[119]  Beryl Plimmer,et al.  RATA.Gesture: A gesture recognizer developed using data mining , 2012, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[120]  Jane Chu Prey,et al.  WriteOn1.0: a tablet PC-based tool for effective classroom instruction , 2009, ITiCSE '09.

[121]  Maneesh Agrawala,et al.  DIZI: A Digital Ink Zooming Interface for Document Annotation , 2005, INTERACT.

[122]  Fabrice Matulic,et al.  Supporting active reading on pen and touch-operated tabletops , 2012, AVI.

[123]  Brian D. Fisher,et al.  Managing software change tasks: an exploratory study , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[124]  Nadir Weibel,et al.  Paperproof: a paper-digital proof-editing system , 2008, CHI Extended Abstracts.

[125]  Bill N. Schilit,et al.  From reading to retrieval: freeform ink annotations as queries , 1999, SIGIR '99.

[126]  J.G. Tront,et al.  Classroom Presentations Using Tablet PCs and WriteOn , 2006, Proceedings. Frontiers in Education. 36th Annual Conference.

[127]  Chitu Okoli,et al.  A Guide to Conducting a Systematic Literature Review of Information Systems Research , 2010 .

[128]  Gene Golovchinsky,et al.  Hypertext interactivity: from choice to participation , 2000, New Rev. Hypermedia Multim..

[129]  Beryl Plimmer,et al.  RATA: codeless generation of gesture recognizers , 2012, BCS HCI.