[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ 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 2014 Publication 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).

Supplementary Material

suppl.mov (pn0664-file3.mp4)
Supplemental video

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.
[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.
[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.
[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.
[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.
[6]
Darken, R. P., and Sibert, J. L. Wayfinding strategies and behaviors in large virtual worlds. In Proc. CHI '96 (1996), 142--149.
[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.
[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.
[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.
[10]
Ehret, B. D. Learning where to look: Location learning in graphical user interfaces. In Proc. CHI '02 (2002), 211--218.
[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.
[12]
Fitchett, S., Cockburn, A., and Gutwin, C. Improving navigation-based 'le retrieval. In Proc. CHI '13 (2013), 2329--2338.
[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.
[14]
Hick, W. E. On the rate of gain of information. Quarterly Journal of Experimental Psychology 4, 1 (1952), 11--26.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[24]
O'Hara, K., and Sellen, A. A comparison of reading paper and on-line documents. In Proc. CHI '97 (1997), 335--342.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2024)CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language ProgrammingProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642212(1-21)Online publication date: 11-May-2024
  • (2023)PescaJ: A Projectional Editor for Java Featuring Scattered Code AggregationProceedings of the 2nd ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments10.1145/3623504.3623571(44-50)Online publication date: 18-Oct-2023
  • (2023)A Comparative Evaluation of Tabs and Linked Panels for Program Understanding in Augmented Reality2023 IEEE International Symposium on Mixed and Augmented Reality (ISMAR)10.1109/ISMAR59233.2023.00017(29-38)Online publication date: 16-Oct-2023
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      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
      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 26 April 2014

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. code editor
      2. integrated development environment (ide)
      3. navigation
      4. user study

      Qualifiers

      • Research-article

      Conference

      CHI '14
      Sponsor:
      CHI '14: CHI Conference on Human Factors in Computing Systems
      April 26 - May 1, 2014
      Ontario, Toronto, Canada

      Acceptance Rates

      CHI '14 Paper Acceptance Rate 465 of 2,043 submissions, 23%;
      Overall Acceptance Rate 6,199 of 26,314 submissions, 24%

      Upcoming Conference

      CHI 2025
      ACM CHI Conference on Human Factors in Computing Systems
      April 26 - May 1, 2025
      Yokohama , Japan

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)30
      • Downloads (Last 6 weeks)2
      Reflects downloads up to 12 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language ProgrammingProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642212(1-21)Online publication date: 11-May-2024
      • (2023)PescaJ: A Projectional Editor for Java Featuring Scattered Code AggregationProceedings of the 2nd ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments10.1145/3623504.3623571(44-50)Online publication date: 18-Oct-2023
      • (2023)A Comparative Evaluation of Tabs and Linked Panels for Program Understanding in Augmented Reality2023 IEEE International Symposium on Mixed and Augmented Reality (ISMAR)10.1109/ISMAR59233.2023.00017(29-38)Online publication date: 16-Oct-2023
      • (2023)Breaking the Bento Box: Accelerating Visual Momentum in Data-flow Analysis2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00038(306-316)Online publication date: 1-Oct-2023
      • (2023)Developers' Visuo-Spatial Mental Model and Program ComprehensionProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00163(1920-1932)Online publication date: 14-May-2023
      • (2022)Inclusive Multimodal Voice Interaction for Code NavigationProceedings of the 2022 International Conference on Multimodal Interaction10.1145/3536221.3556600(509-519)Online publication date: 7-Nov-2022
      • (2022)IDEvelopAR: A Programming Interface to enhance Code Understanding in Augmented Reality2022 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT55257.2022.00017(87-95)Online publication date: Oct-2022
      • (2022)Sources of software development task frictionEmpirical Software Engineering10.1007/s10664-022-10187-627:7Online publication date: 1-Dec-2022
      • (2021)Exploring Modal Locking in Window ManipulationCompanion Proceedings of the 5th International Conference on the Art, Science, and Engineering of Programming10.1145/3464432.3464433(14-20)Online publication date: 22-Mar-2021
      • (2021)When the Tab Comes Due:Challenges in the Cost Structure of Browser Tab UsageProceedings of the 2021 CHI Conference on Human Factors in Computing Systems10.1145/3411764.3445585(1-15)Online publication date: 6-May-2021
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media