Skip to main content
Log in

How Do Users Discover New Tools in Software Development and Beyond?

  • Published:
Computer Supported Cooperative Work (CSCW) Aims and scope Submit manuscript

Abstract

Software users rely on software tools such as browser tab controls and spell checkers to work effectively and efficiently, but it is difficult for users to be aware of all the tools that might be useful to them. While there are several potential technical solutions to this difficulty, we know little about social solutions, such as one user telling a peer about a tool. To explore these social solutions, we conducted two studies, an interview study and a diary study. The interview study describes a series of interviews with 18 programmers in industry to explore how tool discovery takes place. To broaden our findings to a wider group of software users, we then conducted a diary study of 76 software users in their workplaces. One finding was that social learning of software tools, while sometimes effective, is infrequent; software users appear to discover tools from peers only once every few months. We describe several implications of our findings, such as that discovery from peers can be enhanced by improving software users’ ability to communicate openly and concisely about tools.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5

Similar content being viewed by others

Notes

  1. In the reports, we used a term “feature” rather than “tool” because we felt it was more understandable to general software users. We will continue to use the word “tool” in this paper for consistency. Nonetheless, the definition we gave participants in the diary study for “features” was the same one we gave interviewees for “tools,” that is, “something that helps you perform a task.”

  2. A direct quote from YIT.

References

  • Ajzen, Icek (1991). The Theory of Planned Behavior. Organizational Behavior and Human Decision Processes, vol. 50, no. 2, December 1991, pp. 179–211.

  • Allen, Bryce (1989). Recall cues in known-item retrieval. Journal of the American Society for Information Science, vol. 40, no. 4, 1989, pp. 246–252.

  • Borthick, A. Faye, Donald R. Jones, and Sara Wakai (2003). Designing learning experiences within learners’ zones of proximal development (ZPDs): Enabling collaborative learning on-site and online. Journal of Information Systems, vol. 17, no. 1, Spring 2003, pp. 107–134.

  • Brooke, Libby (2009). Prolonging the careers of older information technology workers: continuity, exit or retirement transitions? Ageing & Society, vol. 29, no. 2, February 2009, pp. 237–256.

  • C (2012). C. http://www.open-std.org/jtc1/sc22/wg14/.

  • Campbell, Dustin and Mark Miller (2008). Designing refactoring tools for developers. In D. Dig, R. Fuhrer and R. Johnson (eds): WRT’09. Proceedings of the 2nd Workshop on Refactoring Tools, Nashville, US, 19 October, 2008, New York: ACM Press, pp. 1–2

    Google Scholar 

  • Cockburn, Alistair, and Laurie Williams. (2000). The costs and benefits of pair programming. In Proceedings of the Conference on Extreme Programming, Cagliari, Italy, 21 June–23 June, 2000, pages Boston: Addison-Wesley, pp. 223–247.

  • Crook, Charles (1991). Computers in the zone of proximal development: Implications for evaluation. Computers & Education, vol. 17, no. 1, pp. 81–91.

    Article  Google Scholar 

  • Davis, Fred D. (1989). Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quarterly, vol. 13, no. 3, September 1989, pp. 319–340.

  • Eclipse (2012). Eclipse IDE. http://www.eclipse.org.

  • Emacs (2012). emacs. http://www.gnu.org/software/emacs/.

  • Fichman, Robert G., and Chris F. Kemerer (1999). The illusory diffusion of innovation: An examination of assimilation gaps. Information Systems Research, vol. 10, no. 3, September 1999, pp. 255–275.

  • Findlater, Leah, Joanna McGrenere, and David Modjeska (2008). Evaluation of a role-based approach for customizing a complex development environment. In D. Tan (ed): CHI’08: Proceedings of the Twenty-Sixth Annual SIGCHI Conference on Human Factors in Computing Systems, Florence, Italy, 5 April–10 April, 2008. New York: ACM Press, pp. 1267–1270.

    Google Scholar 

  • Firefox (2012). Mozilla Firefox. www.mozilla.org/en-US/firefox.

  • Fischer, Gerhard, Andreas Lemke, and Thomas Schwab (1984). Active help systems. In G. C. van der Veer, M. J. Tauber, T. R. G. Green, P. and Gorny (eds): Readings on Cognitive Ergonomics – Mind and Computers, Berlin: Springer-Verlag, pp. 115–131.

  • Flanagan, John C. (1954). The critical incident technique. Psychological Bulletin, vol. 51, no. 4, pp. 327–358.

    Article  Google Scholar 

  • Flanagan, David (2006). JavaScript: the definitive guide. Newton: O’Reilly Media, Incorporated.

    Google Scholar 

  • Fleiss, Joseph L. (1981). The measurement of interrater agreement. Statistical Methods for Rates and Proportions, vol. 2, pp. 212–236.

    MathSciNet  Google Scholar 

  • Glaser, Barney G., and Anselm L. Strauss (2009). The discovery of grounded theory: Strategies for qualitative research. Alexandria: Transaction Books.

    Google Scholar 

  • Grossman, Tovi, George Fitzmaurice, and Ramtin Attar (2009). A survey of software learnability: metrics, methodologies and guidelines. In K. Hinckley, M. R. Morris, S. Hudson, S. Greenberg (eds): CHI’99. Proceedings of the Twenty-Seventh Annual SIGCHI Conference on Human Factors in Computing Systems, Boston, US, 4 April–9 April, New York: ACM Press, pp. 649–658.

    Google Scholar 

  • Huttenlocher, Janellen, Larry V. Hedges, and Norman M. Bradburn. (1990). Reports of elapsed time: bounding and rounding processes in estimation. Journal of Experimental Psychology: Learning, Memory, and Cognition, vol. 16, no. 2, March 1990, pp. 196–213.

  • Iivari, Juhani (1996). Why are CASE tools not used? Communications of the ACM, vol. 39, no. 10, October 1996, pp. 94–103.

  • Java (2012). Java. http://java.net.

  • Landis, J. Richard, and Gary G. Koch. (1977). The measurement of observer agreement for categorical data. Biometrics, vol. 33, no. 1, March 1977, pp. 159–174.

  • Lave, Jean, and Etienne Wenger (1991). Situated Learning: Legitimate Peripheral Participation. Cambridge: Cambridge University Press, 1st edition.

    Book  Google Scholar 

  • Linton, Frank, Deborah Joy, Hans-Peter Schaefer, and Andrew Charron (2000). OWL: A recommender system for organization-wide learning. Educational Technology & Society, vol. 3, no. 1, January 2000, pp. 62–76.

  • Luckin, Rosemary (2001). Designing children’s software to ensure productive interactivity through collaboration in the zone of proximal development (ZPD). Information Technology in Childhood Education, vol. 2001, no. 1, pp. 57–85.

    Google Scholar 

  • Maltzahn, Carlos (1995). Community help: discovering tools and locating experts in a dynamic environment. In I. Katz, I. Mack, L. Marks (eds): CHI’95: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Denver, US, 14 April–18 April, 1996, New York: ACM Press, pp. 260–261.

    Google Scholar 

  • Marsick, Victoria J., and Karen E. Watkins (2001). Informal and incidental learning. New Directions for Adult and Continuing Education, vol. 2001, no. 89, Spring 2001, pp. 25–34.

  • Matejka, Justin, Wei Li, Tovi Grossman, and George Fitzmaurice (2009). CommunityCommands: command recommendations for software applications. In F. Guimbretire (ed): UIST’09: Proceedings of the Symposium on User Interface Software and Technology, Victoria, Canada, 4 October–7 October, 2009. New York: ACM Press, pp. 193–202.

    Google Scholar 

  • McGrenere, Joanna (2002). The Design and Evaluation of Multiple Interfaces: A Solution for Complex Software. Ph.D. dissertatino. University of Toronto, Ontario: Department of Computer Science.

  • Moore, Gary C. and Izak Benbasat (1991). Development of an Instrument to Measure the Perceptions of Adopting an Information Technology Innovation. Information Systems Research, vol. 2, no. 3, September 1991, pp. 192–222.

  • Morrison, Patrick, and Emerson Murphy-Hill (2013). Is programming knowledge related to age? An exploration of StackOverflow. In A. Bacchelli (ed): MSR’13. Proceedings of the 10th Working Conference on Mining Software Repositories, Challenge Track, San Francisco, US, 18 May–19 May, 2013. Los Alamitos: IEEE Press, pp. 69–72.

    Google Scholar 

  • Müller, Matthias M. and Tichy, Walter F. (2001). Case study: Extreme programming in a university environment. In M. J. Harrold andW. Schafer: ICSE’01. Proceedings of the 23rd International Conference on Software Engineering, Toronoto, Canada, 12 May–19 May, 2001. Los Alamitos: IEEE Press, pp. 537–544.

  • Murphy-Hill, Emerson (2012). Continuous social screencasting to facilitate software tool discovery. In A. Bertolino and A. Wolf: ICSE’12. Proceedings of the 34th International Conference on Software Engineering, 2 June–9 June, 2012. Los Alamitos: IEEE Press, pp. 1317–1320.

    Google Scholar 

  • Murphy-Hill, Emerson and Gail C. Murphy. (2011). Peer interaction effectively, yet infrequently, enables programmers to discover new tools. In J. Bardram and N. Ducheneaut (eds): CSCW’11. Proceedings of the Conference on Computer Supported Cooperative Work, Hangzhou, China, 19 March–23 March 2011, New York: ACM Press, pp. 405–414.

    Google Scholar 

  • Murphy-Hill, Emerson, Rahul Jiresal, and Gail C. Murphy (2012). Improving software developers’ fluency by recommending development environment commands. In M. Robillard and T. Bultan: FSE’12. Proceedings of the 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Cary, North Carolina, 11 November–16 November 2012, New York: ACM Press, pp. 1–11.

    Google Scholar 

  • Murphy-Hill, Emerson, Da Young Lee,, Gail C. Murphy, and Joanna McGrenere (2015). Appendix to how do users discover new tools in software development and beyond? Technical Report TR-2015-7, North Carolina State University. ftp://ftp.ncsu.edu/pub/unity/lockers/ftp/csc anon/tech/2015/TR-2015-7.pdf.

  • NetBeans (2012). NetBeans IDE. http://netbeans.org/.

  • Nielsen, Jacob (1993). Usability Engineering. San Francisco: Morgan Kaufmann Publishers Inc.

    MATH  Google Scholar 

  • Perl (2012). Perl. http://www.perl.org/.

  • PHP (2012). PHP. http://www.php.net/.

  • Python (2012). Python. http://python.org/.

  • Rieman, John (1996). A field study of exploratory learning strategies. Transactions on Computer-Human Interaction, vol. 3, no. 3, September 1996, pp. 189–218.

  • Rogers, Everett M. (2003). Diffusion of Innovations. New York: Free Press, 5th edition.

  • Ruby (2012). Ruby. http://www.ruby-lang.org.

  • TextMate (2012). TextMate. http://macromates.com.

  • Thompson, Ronald L., Christopher A. Higgins, and Jane M. Howell (1991). Personal Computing: Toward a Conceptual Model of Utilization. MIS Quarterly, vol. 15, no. 1, March 1991, pp. 125–143.

  • Twidale, Michael B. (2005). Over the shoulder learning: Supporting brief informal learning. Computer Supported Cooperative Work, vol. 14, no. 6, December 2005, pp. 505–547.

  • Twitter (2012). Twitter. https://twitter.com/.

  • Venkatesh, Viswanath, and Fred D. Davis (2000). A theoretical extension of the technology acceptance model: Four longitudinal field studies. Management Science, vol. 46, no. 2, February 2000, pp. 186–204.

  • Vim (2012). vim. http://www.vim.org.

  • Visual Studio (2012). Visual Studio. http://msdn.microsoft.com/vstudio.

  • Vygotsky, Lev S. (1978). Mind in Society: Development of Higher Psychological Processes. Cambridge: Harvard University Press.

    Google Scholar 

  • Word (2012). Mirosoft Word. http://office.microsoft.com/en-us/word/.

  • Xiao, Shundan, Jim Witschey, and Emerson Murphy-Hill (2014). Social influences on secure development tool adoption: Why security tools spread. In M. R. Morris and M. Reddy (eds): CSCW’14. Proceedings of Computer Supported Cooperative Work and Social Computing, Baltimore, Maryland, 15 February–19 February 2015. New York: ACM Press, pp. 1095–1106.

    Google Scholar 

Download references

Acknowledgments

Thanks to the interview participants. Thanks also to Christian Bird, Andrew Black, Kellogg Booth, Giuseppe Carenini, Cristina Conati, Nando de Freitas, William Griswold, Ciarán Llachlan Leavitt, Karon MacLean, Rahul Pandita, Nancy Perry, Kenneth Reeder, Martin Robillard, Claudia Rocha, Martin Schulz, Jonathan Sillito, Laurie Williams, Phil Winne, Petcharat Viriyakattiyaporn, and the members of the Software Practices Lab and Interaction Design Reading Group at UBC for their help, during various stages of this research. This work was supported by IBM, NSERC, as well as by the National Science Foundation under grant number 1252995.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emerson Murphy-Hill.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Murphy-Hill, E., Lee, D.Y., Murphy, G.C. et al. How Do Users Discover New Tools in Software Development and Beyond?. Comput Supported Coop Work 24, 389–422 (2015). https://doi.org/10.1007/s10606-015-9230-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10606-015-9230-9

Keywords

Navigation