Skip to main content

Abstract

The definition of user experience (UX) is broad and covers several aspects. The job of any programmer is very specific and demanding. He/she uses different systems or tools to carry out their programming tasks. We consider a programmer as a specific case of user, who employs programming environments and other software development artifacts. We therefore consider this particular kind of UX as Programmer eXperience (PX). Several authors have defined different aspects of PX, including, among others, language features, programming learning factors or programmer performance. Usability is a relevant aspect of UX, as well as an important aspect of programming environments. Heuristic evaluation is an inspection method that allows evaluating the usability of interactive software systems. We developed a set of heuristics following the methodology proposed by Quiñones et al. We defined a new set of 12 specific heuristics that incorporate concepts of UX and usability of programming environments. These heuristics have been validated following also that methodology. The results obtained in different effectiveness criteria were satisfactory. However, the set of heuristics could be further refined and validate in new scenarios or case studies.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. ISO 9241-210: Ergonomics of human-system interaction - Part 11: Usability: Definitions and concepts. International Organization for Standardization, Geneva (2018)

    Google Scholar 

  2. Quiñones, D., Rusu, C., Rusu, V.: A methodology to develop usability/user experience heuristics. Comput. Stand. Interfaces 59, 109–129 (2018)

    Article  Google Scholar 

  3. Morville, P.: User experience honeycomb. http://semanticstudios.com/user_experience_design/. Accessed 14 Dec 2019

  4. ISO 9241-11: Ergonomics of human-system interaction - Part 11: Usability: Definitions and concepts. International Organization for Standardization, Geneva (2018)

    Google Scholar 

  5. Nielsen, J.: Usability Engineering. AP Professional, Boston (1993)

    Book  Google Scholar 

  6. Morales, J., Rusu, C., Botella, F., Quiñones, D.: Programmer eXperience: a systematic literature review. IEEE Access 7, 71079–71094 (2019)

    Article  Google Scholar 

  7. Cao, J., Fleming, S.D., Burnett, M.: An exploration of design opportunities for ‘gardening’ end-user programmers’ ideas. In: Proceedings of the IEEE Symposium Visual Languages and Human-Centric Computing (VL/HCC), Pittsburgh, USA, pp. 35–42 (2011)

    Google Scholar 

  8. Kuttal, S.K., Sarma, A., Rothermel, G., Wang, Z.: What happened to my application? Helping end users comprehend evolution through variation management. Inf. Softw. Technol. 103, 55–74 (2018)

    Article  Google Scholar 

  9. Smith, J., Brown, C., Murphy-Hill, E.: Flower: navigating program flow in the IDE. In: Proceedings IEEE Symposium Visual Languages Human-Centric Computing (VL/HCC), Raleigh, USA, pp. 19–23 (2017)

    Google Scholar 

  10. Traver, V.J.: On compiler error messages: What they say and what they mean. Adv. Hum.-Comput. Interact. 2010, 1–26 (2010)

    Article  Google Scholar 

  11. Morales, J., Botella, F., Rusu, C., Quiñones, D.: How “friendly” integrated development environments are? In: Meiselwitz, G. (ed.) HCII 2019. LNCS, vol. 11578, pp. 80–91. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21902-4_7

    Chapter  Google Scholar 

  12. Kline, R.B., Seffah, A.: Evaluation of integrated software development environments: challenges and results from three empirical studies. Int. J. Hum.-Comput. Stud. 63(6), 607–627 (2005)

    Article  Google Scholar 

  13. Kölling, M., McKay, F.: Heuristic evaluation for novice programming systems. ACM Trans. Comput. Educ. (TOCE) 16(3), 12 (2016)

    Google Scholar 

  14. Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 249–256. ACM (1990)

    Google Scholar 

Download references

Acknowledgment

We are grateful to all experts that participated in the survey. We also thank to all participants in the heuristic evaluation. Jenny Morales is a beneficiary of one INF-PUCV doctoral scholarship.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jenny Morales .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Morales, J., Rusu, C., Botella, F., Quiñones, D. (2020). Programmer eXperience: A Set of Heuristics for Programming Environments. In: Meiselwitz, G. (eds) Social Computing and Social Media. Participation, User Experience, Consumer Experience, and Applications of Social Computing. HCII 2020. Lecture Notes in Computer Science(), vol 12195. Springer, Cham. https://doi.org/10.1007/978-3-030-49576-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-49576-3_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-49575-6

  • Online ISBN: 978-3-030-49576-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics