skip to main content
10.1145/2556288.2557073acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article

The patchworks code editor: toward faster navigation with less code arranging and fewer navigation mistakes

Published:26 April 2014Publication History

ABSTRACT

Increasingly, people are faced with navigating large information spaces, and making such navigation efficient is of paramount concern. In this paper, we focus on the problems programmers face in navigating large code bases, and propose a novel code editor, Patchworks, that addresses the problems. In particular, Patchworks leverages two new interface idioms - the patch grid and the ribbon - to help programmers navigate more quickly, make fewer navigation errors, and spend less time arranging their code. To validate Patchworks, we conducted a user study that compared Patchworks to two existing code editors: the traditional file-based editor, Eclipse, and the newer canvas-based editor, Code Bubbles. Our results showed (1) that programmers using Patchworks were able to navigate significantly faster than with Eclipse (and comparably with Code Bubbles), (2) that programmers using Patchworks made significantly fewer navigation errors than with Code Bubbles or Eclipse, and (3) that programmers using Patchworks spent significantly less time arranging their code than with Code Bubbles (and comparably with Eclipse).

Skip Supplemental Material Section

Supplemental Material

pn0664-file3.mp4

mp4

39.9 MB

References

  1. Bragdon, A. Creating simultaneous views of source code in contemporary IDEs using tab panes and MDI child windows: A pilot study. Tech. Rep. CS-09-09, Brown Univ., 2009.Google ScholarGoogle Scholar
  2. Bragdon, A., Reiss, S. P., Zeleznik, R., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., and LaViola, Jr., J. J. Code Bubbles: Rethinking the user interface paradigm of integrated development environments. In Proc. 32nd ACM/IEEE Int'l Conf. Software Eng., ICSE '10 (2010), 455--464. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bragdon, A., Zeleznik, R., Reiss, S. P., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., and LaViola, Jr., J. J. Code Bubbles: A working set-based interface for code understanding and maintenance. In Proc. CHI '10 (2010), 2503--2512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Coblenz, M. J., Ko, A. J., and Myers, B. A. JASPER: An Eclipse plug-in to facilitate software maintenance tasks. In Proc. 2006 OOPSLA Workshop Eclipse Technology eXchange, ETX '06, ACM (2006), 65--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cockburn, A., and McKenzie, B. Evaluating the effectiveness of spatial memory in 2D and 3D physical and virtual environments. In Proc. CHI '02 (2002), 203--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Darken, R. P., and Sibert, J. L. Wayfinding strategies and behaviors in large virtual worlds. In Proc. CHI '96 (1996), 142--149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. DeLine, R., Czerwinski, M., Meyers, B., Venolia, G., Drucker, S., and Robertson, G. Code Thumbnails: Using spatial memory to navigate source code. In Proc. IEEE Symp. Visual Languages and Human-Centric Computing, VL/HCC '06 (2006), 11--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. DeLine, R., Khella, A., Czerwinski, M., and Robertson, G. Towards understanding programs through wear-based filtering. In Proc. 2005 ACM Symp. Software Visualization, SOFTVIS '05 (2005), 183--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. DeLine, R., and Rowan, K. Code Canvas: Zooming towards better development environments. In Proc. 32nd ACM/IEEE Int'l Conf. Software Eng., ICSE '10 (2010), 207--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ehret, B. D. Learning where to look: Location learning in graphical user interfaces. In Proc. CHI '02 (2002), 211--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Evans, B., and Card, S. Augmented information assimilation: Social and algorithmic Web aids for the information long tail. In Proc. CHI '08 (2008), 989--998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fitchett, S., Cockburn, A., and Gutwin, C. Improving navigation-based 'le retrieval. In Proc. CHI '13 (2013), 2329--2338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Grigoreanu, V., Burnett, M., Wiedenbeck, S., Cao, J., Rector, K., and Kwan, I. End-user debugging strategies: A sensemaking perspective. ACM Trans. Comput.-Hum. Interact. 19, 1 (May 2012), 5:1--5:28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hick, W. E. On the rate of gain of information. Quarterly Journal of Experimental Psychology 4, 1 (1952), 11--26.Google ScholarGoogle ScholarCross RefCross Ref
  15. Hill, E., Pollock, L., and Vijay-Shanker, K. Exploring the neighborhood with Dora to expedite software maintenance. In Proc. 22nd IEEE/ACM Int. Conf. Automated Software Eng., ASE '07 (2007), 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jones, W. P., and Dumais, S. T. The spatial metaphor for user interfaces: Experimental tests of reference by location versus name. ACM Trans. Inf. Syst. 4, 1 (Jan. 1986), 42--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kittur, A., Peters, A. M., Diriye, A., Telang, T., and Bove, M. R. Costs and benefits of structured information foraging. In Proc. CHI '13 (2013), 2989--2998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ko, A. J., Aung, H., and Myers, B. A. Eliciting design requirements for maintenance-oriented IDEs: A detailed study of corrective and perfective maintenance tasks. In Proc. 27th Int'l Conf. Software Engineering, ICSE '05 (2005), 126--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ko, A. J., Myers, B. A., Coblenz, M. J., and Aung, H. H. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Trans. Softw. Eng. 32, 12 (Dec. 2006), 971--987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Krämer, J.-P., Kurz, J., Karrer, T., and Borchers, J. Blaze: Supporting two-phased call graph navigation in source code. In Ext. Abstracts CHI '12 (2012), 2195--2200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lawrance, J., Bellamy, R., and Burnett, M. Scents in programs: Does information foraging theory apply to program maintenance' In Proc. IEEE Symp. Visual Languages and Human-Centric Computing, VL/HCC '07 (2007), 15--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lawrance, J., Burnett, M., Bellamy, R., Bogart, C., and Swart, C. Reactive information foraging for evolving goals. In Proc. CHI '10 (2010), 25--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Miller, G. A. The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychol. Rev. 63, 2 (1956), 81--97.Google ScholarGoogle ScholarCross RefCross Ref
  24. O'Hara, K., and Sellen, A. A comparison of reading paper and on-line documents. In Proc. CHI '97 (1997), 335--342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. O'Hara, K., Sellen, A., and Bentley, R. Supporting memory for spatial location while reading from small displays. In Ext. Abstracts CHI '99 (1999), 220--221. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Piorkowski, D., Fleming, S., Scaffidi, C., Bogart, C., Burnett, M., John, B., Bellamy, R., and Swart, C. Reactive information foraging: An empirical investigation of theory-based recommender systems for programmers. In Proc. CHI '12 (2012), 1471--1480. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Piorkowski, D., Fleming, S. D., Scaffidi, C., John, L., Bogart, C., John, B. E., Burnett, M., and Bellamy, R. Modeling programmer navigation: A head-to-head empirical evaluation of predictive models. In Proc. IEEE Symp. Visual Languages and Human-Centric Computing, VL/HCC '11 (2011), 109--116.Google ScholarGoogle ScholarCross RefCross Ref
  28. Piorkowski, D. J., Fleming, S. D., Kwan, I., Burnett, M. M., Scaffidi, C., Bellamy, R. K., and Jordahl, J. The whats and hows of programmers' foraging diets. In Proc. CHI '13 (2013), 3063--3072. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Plumlee, M. D., and Ware, C. Zooming versus multiple window interfaces: Cognitive costs of visual comparisons. ACM Trans. Comput.-Hum. Interact. 13, 2 (June 2006), 179--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Smith, R. B., Maloney, J., and Ungar, D. The Self-4.0 user interface: Manifesting a system-wide vision of concreteness, uniformity, and flexibility. In Proc. 10th Annu. Conf. Object-Oriented Programming Syst., Languages, and Applicat., OOPSLA '95 (1995), 47--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Storey, M.-A., Cheng, L.-T., Bull, I., and Rigby, P. Shared waypoints and social tagging to support collaboration in software development. In Proc. Conf. Computer Supported Cooperative Work, CSCW '06, ACM (2006), 195--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Warr, F. W., and Robillard, M. P. Suade: Topology-based searches for software investigation. In Proc. 29th Int'l Conf. Software Eng., ICSE '07 (2007), 780--783. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The patchworks code editor: toward faster navigation with less code arranging and fewer navigation mistakes

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        CHI '14: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
        April 2014
        4206 pages
        ISBN:9781450324731
        DOI:10.1145/2556288

        Copyright © 2014 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 26 April 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CHI '14 Paper Acceptance Rate465of2,043submissions,23%Overall Acceptance Rate6,199of26,314submissions,24%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader