Abstract
Generating a useful recommendation is only the first step in creating a recommendation system. For the system to have value, the recommendations must be delivered with a user interface that allows the user to become aware that recommendations are available, to determine if any of the recommendations have value for them and to be able to act upon a recommendation. By synthesizing previous results from general recommendation system research and software engineering recommendation system research, we discuss the factors that affect whether or not a user considers and accepts recommendations generated by a system. These factors include the ease with which a recommendation can be understood and the level of trust a user assigns to a recommendation. In this chapter, we will describe these factors and the opportunities for future research towards helping getting the user interface of a recommendation system just right.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We use the term affordance from the human–computer interaction field to refer to “the actionable properties between the world and an actor” [34].
References
Adamczyk, P.D., Bailey, B.P.: If not now, when?: The effects of interruption at different moments within task execution. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 271–278 (2004). doi: 10.1145/985692.985727
Bacchelli, A., Ponzanelli, L., Lanza, M.: Harnessing Stack Overflow for the IDE. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 26–30 (2012). doi: 10.1109/RSSE.2012.6233404
Carmel, E., Whitaker, R.D., George, J.F.: PD and joint application design: A transatlantic comparison. Commun. ACM 36(6), 40–48 (1993). doi: 10.1145/153571.163265
Carter, J., Dewan, P.: Design, implementation, and evaluation of an approach for determining when programmers are having difficulty. In: Proceedings of the ACM Conference on Computer Supported Cooperative Work, pp. 215–224 (2010). doi: 10.1145/1880071.1880109
Cialdini, R.B.: Influence: Science and Practice, 4th edn. Allyn and Bacon, London (2000)
Coverity: Effective management of static analysis vulnerabilities and defects (2011). URL http://www.coverity.com/library/pdf/effective-management-of-static-analysis-vulnerabilities-and-defects.pdf. [retrieved 9 October 2013]
Cremonesi, P., Garzotto, F., Turrin, R.: Investigating the persuasion potential of recommender systems from a quality perspective: An empirical study. ACM Trans. Interact. Intell. Syst. 2(2), 11:1–11:41 (2012). doi: 10.1145/2209310.2209314
DeLine, R., Czerwinski, M., Robertson, G.G.: Easing program comprehension by sharing navigation data. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 241–248 (2005). doi: 10.1109/VLHCC.2005.32
Fischer, G., Lemke, A., Schwab, T.: Active help systems. In: Readings on Cognitive Ergonomics: Mind and Computers, Lecture Notes in Computer Science, vol. 178, pp. 115–131 (1984). doi: 10.1007/3-540-13394-1_10
Fluri, B., Zuberbühler, J., Gall, H.C.: Recommending method invocation context changes. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 1–5 (2008). doi: 10.1145/1454247.1454249
Foster, S.R., Griswold, W.G., Lerner, S.: WitchDoctor: IDE support for real-time auto-completion of refactorings. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 222–232 (2012). doi: 10.1109/ICSE.2012.6227191
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA (1999)
Ge, X., DuBose, Q.L., Murphy-Hill, E.: Reconciling manual and automatic refactoring. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 211–221 (2012). doi: 10.1109/ICSE.2012.6227192
Hiew, L.: Assisted detection of duplicate bug reports. Master’s thesis, The University Of British Columbia (2006)
Holten, D.: Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. IEEE Trans. Visual. Comput. Graph. 12(5), 741–748 (2006). doi: 10.1109/TVCG.2006.147
Horvitz, E., Jacobs, A., Hovel, D.: Attention-sensitive alerting. In: Proceedings of the Conference on Uncertainty in Artificial Intelligence, pp. 305–313 (1999)
Kohavi, R., Longbotham, R., Sommerfield, D., Henne, R.M.: Controlled experiments on the web: Survey and practical guide. Data Min. Knowl. Discov. 18(1), 140–181 (2009). doi: 10.1007/s10618-008-0114-1
Konstan, J.A., Miller, B.N., Maltz, D., Herlocker, J.L., Gordon, L.R., Riedl, J.: GroupLens: Applying collaborative filtering to Usenet news. Commun. ACM 40(3), 77–87 (1997). doi: 10.1145/245108.245126
Konstan, J.A., Riedl, J.: Recommender systems: From algorithms to user experience. User Model. User-Adapt. Interact. 22(1–2), 101–123 (2012). doi: 10.1007/s11257-011-9112-x
Lahiri, S., Hawblitzel, C., Kawaguchi, M., Rebêlo, H.: SymDiff: A language-agnostic semantic diff tool for imperative programs. In: Proceedings of the International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 7358, pp. 712–717 (2012). doi: 10.1007/978-3-642-31424-7_54
LaToza, T.D., Myers, B.A.: Designing useful tools for developers. In: Proceedings of the ACM SIGPLAN Workshop on Evaluation and Usability of Programming Languages and Tools, pp. 45–50 (2011). doi: 10.1145/2089155.2089166
Maalej, W., Sahm, A.: Assisting engineers in switching artifacts by using task semantic and interaction history. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 59–63 (2010). doi: 10.1145/1808920.1808935
Maulsby, D., Greenberg, S., Mander, R.: Prototyping an intelligent agent through Wizard of Oz. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 277–284 (1993). doi: 10.1145/169059.169215
McFarlane, D.C., Latorella, K.A.: The scope and importance of human interruption in human–computer interaction design. Hum. Comput. Interact. 17(1), 1–61 (2002). doi: 10.1207/S15327051HCI1701_1
McSherry, D.: Explanation in recommender systems. Artif. Intell. Rev. 24(2), 179–197 (2005). doi: 10.1007/s10462-005-4612-x
Muşlu, K., Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Speculative analysis of integrated development environment recommendations. In: Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 669–682 (2012). doi: 10.1145/2384616.2384665
Murphy-Hill, E., Black, A.P.: An interactive ambient visualization for code smells. In: Proceedings of the ACM Symposium on Software Visualization, pp. 5–14 (2010). doi: 10.1145/1879211.1879216
Murphy-Hill, E., Murphy, G.C.: Peer interaction effectively, yet infrequently, enables programmers to discover new tools. In: Proceedings of the ACM Conference on Computer Supported Cooperative Work, pp. 405–414 (2011). doi: 10.1145/1958824.1958888
Nass, C.I., Yen, C.: The Man Who Lied to his Laptop: What Machines Teach Us about Human Relationships. Current Hardcover, New York (2010)
Nielsen, J.: Ten Usability Heuristics. Alertbox (2005). URL. http://www.useit.com/alertbox/20030825.html. [last accessed on 11/14/05]
Nielsen, J.: Progressive disclosure (2006). URL http://www.nngroup.com/articles/progressive-disclosure/. [retrieved 9 October 2013]
Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 249–256 (1990). doi: 10.1145/97243.97281
Niu, N., Yang, F., Cheng, J.R.C., Reddivari, S.: A cost-benefit approach to recommending conflict resolution for parallel software development. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 21–25 (2012). doi: 10.1109/RSSE.2012.6233403
Norman, D.A.: Affordance, conventions, and design. Interactions 6(3), 38–43 (1999). doi: 10.1145/301153.301168
Ozok, A.A., Fan, Q., Norcio, A.F.: Design guidelines for effective recommender system interfaces based on a usability criteria conceptual model: Results from a college student population. Behav. Inform. Tech. 29(1), 57–83 (2010). doi: 10.1080/01449290903004012
Pu, P., Chen, L.: Trust building with explanation interfaces. In: Proceedings of the International Conference on Intelligent User Interfaces, pp. 93–100 (2006). doi: 10.1145/1111449.1111475
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Software Eng. 14(2), 131–164 (2009). doi: 10.1007/s10664-008-9102-8
Sawadsky, N., Murphy, G.C.: Fishtail: From task context to source code examples. In: Proceedings of the Workshop on Developing Tools as Plug-ins, pp. 48–51 (2011). doi: 10.1145/1984708.1984722
Sawadsky, N., Murphy, G.C., Jiresal, R.: Reverb: Recommending code-related web pages. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 812–821 (2013). doi: 10.1109/ICSE.2013.6606627
Schafer, J.B., Konstan, J., Riedi, J.: Recommender systems in e-commerce. In: Proceedings of the ACM Conference on Electronic Commerce, pp. 158–166 (1999). doi: 10.1145/336992.337035
Sinha, R., Swearingen, K.: The role of transparency in recommender systems. In: Extended Abstracts of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 830–831 (2002). doi: 10.1145/506443.506619
Thies, A., Roth, C.: Recommending rename refactorings. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 1–5 (2010). doi: 10.1145/1808920.1808921
Tintarev, N., Masthoff, J.: Evaluating the effectiveness of explanations for recommender systems: Methodological issues and empirical studies on the impact of personalization. User Model. User-Adapt. Interact. 22(4–5), 399–439 (2012). doi: 10.1007/s11257-011-9117-5
Toleman, M.A., Welsh, J.: Systematic evaluation of design choices for software development tools. Software Concepts Tool 19(3), 109–121 (1998)
Tosun Mısırlı, A., Bener, A., Çağlayan, B., Çalıklı, G., Turhan, B.: Field studies: A methodology for construction and evaluation of recommendation systems in software engineering. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap. 13. Springer, New York (2014)
Trumper, J., Dollner, J.: Extending recommendation systems with software maps. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 92–96 (2012). doi: 10.1109/RSSE.2012.6233420
Viriyakattiyaporn, P., Murphy, G.C.: Improving program navigation with an active help system. In: Proceedings of the IBM Centre for Advanced Studies Conference on Collaborative Research, pp. 27–41 (2010). doi: 10.1145/1923947.1923951
Wharton, C., Rieman, J., Lewis, C., Polson, P.: The cognitive walkthrough method: A practitioner’s guide. In: Nielsen, J., Mack, R.L. (eds.) Usability Inspection Methods, pp. 105–140. Wiley, New York (1994)
Whitworth, B.: Polite computing. Behav. Inform. Tech. 24(5), 353–363 (2005). doi: 10.1080/01449290512331333700
Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering. Springer, New York (2012). doi: 10.1007/978-3-642-29044-2
Xiao, J., Catrambone, R., Stasko, J.: Be quiet?: Evaluating proactive and reactive user interface assistants. In: Proceedings of the IFIP TC13 International Conference on Human–Computer Interactaction, vol. 3, pp. 383–390 (2003)
Xie, J., Lipford, H., Chu, B.T.: Evaluating interactive support for secure programming. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 2707–2716 (2012). doi: 10.1145/2207676.2208665
Zagalsky, A., Barzilay, O., Yehudai, A.: Example Overflow: Using social media for code recommendation. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 38–42 (2012). doi: 10.1109/RSSE.2012.6233407
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Murphy-Hill, E., Murphy, G.C. (2014). Recommendation Delivery. In: Robillard, M., Maalej, W., Walker, R., Zimmermann, T. (eds) Recommendation Systems in Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45135-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-45135-5_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45134-8
Online ISBN: 978-3-642-45135-5
eBook Packages: Computer ScienceComputer Science (R0)