Abstract
Design systems represent a user interaction design and development approach that is currently of avid interest in the industry. However, little research work has been done to synthesize knowledge related to design systems in order to inform the design of tools to support their creation, maintenance, and usage practices. This paper represents an important step in which we explored the issues that design system projects usually deal with and the perceptions and values of design system project leaders. Through this exploration, we aim to investigate the needs for tools that support the design system approach. We found that the open source communities around design systems focused on discussing issues related to behaviors of user interface components of design systems. At the same time, leaders of design system projects faced considerable challenges when evolving their design systems to make them both capable of capturing stable design knowledge and flexible to the needs of the various concrete products. They valued a bottom-up approach for design system creation and maintenance, in which components are elevated and merged from the evolving products. Our findings synthesize the knowledge and lay foundations for designing techniques and tools aimed at supporting the design system practice and related modern user interaction design and development approaches.
Similar content being viewed by others
References
Alexander C, Ishikawa S, Silverstein M (1977) A pattern language: towns, buildings construction. Oxford University Press, New York
Arya D, Wang W, Guo J L C, Cheng J (2019) Analysis and detection of information types of open source software issue discussions. In: Proceedings of the 41st international conference on software engineering, ICSE ’19. https://doi.org/10.1109/ICSE.2019.00058. IEEE Press, Piscataway, pp 454–464
Bertram D, Voida A, Greenberg S, Walker R (2010) Communication, collaboration, and bugs: the social nature of issue tracking in small, collocated teams. In: Proceedings of the 2010 ACM conference on computer supported cooperative work, CSCW ’10. https://doi.org/10.1145/1718918.1718972. Association for Computing Machinery, New York, pp 291–300
Bissyandé T F, Lo D, Jiang L, Réveillère L, Klein J, Traon Y L (2013) Got issues? Who cares about it? A large scale investigation of issue trackers from github. In: 2013 IEEE 24th international symposium on software reliability engineering (ISSRE), IEEE, pp 188–197
Bjork S, Holopainen J (2004) Patterns in game design (game development series). Charles River Media, Inc., Rockland
Brown J M, Lindgaard G, Biddle R (2012) Joint implicit alignment work of interaction designers and software developers. In: Proceedings of the 7th Nordic conference on human-computer interaction: making sense through design, NordiCHI ’12. https://doi.org/10.1145/2399016.2399121. Association for Computing Machinery, New York, pp 693–702
Casalnuovo C, Vasilescu B, Devanbu P, Filkov V (2015) Developer onboarding in github: the role of prior social links and language experience. In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, ESEC/FSE 2015, pp 817–828. https://doi.org/10.1145/2786805.2786854. http://doi.acm.org/10.1145/2786805.2786854. ACM, New York
Chamberlain S, Sharp H, Maiden N (2006) Towards a framework for integrating agile development and user-centred design. In: Abrahamsson P, Marchesi M, Succi G (eds) Extreme programming and agile processes in software engineering. Springer, Berlin, pp 143–153
Cheng J, Guo J L C (2018) How do the open source communities address usability and ux issues?: an exploratory study. In: Extended abstracts of the 2018 CHI conference on human factors in computing systems, CHI EA ’18. https://doi.org/10.1145/3170427.3188467. http://doi.acm.org/10.1145/3170427.3188467. ACM, New York, pp LBW523:1–LBW523:6
Cheng J, Guo J L C (2019) Activity-based analysis of open source software contributors: roles and dynamics. In: Proceedings of the 12th international workshop on cooperative and human aspects of software engineering, CHASE ’19. https://doi.org/10.1109/CHASE.2019.00011. IEEE Press, Piscataway, pp 11–18
Cheng C, Li B, Li Z Y, Zhao Y Q, Liao F L (2017a) Developer role evolution in open source software ecosystem: an explanatory study on GNOME. J Comput Sci Technol 32(2):396–414
Cheng J, Anderson D, Putnam C, Guo J (2017b) Leveraging design patterns to support designer-therapist collaboration when ideating brain injury therapy games. In: Proceedings of the annual symposium on computer-human interaction in play, CHI PLAY ’17. https://doi.org/10.1145/3116595.3116600. http://doi.acm.org/10.1145/3116595.3116600. ACM, New York, pp 291–303
Chung E S, Hong J I, Lin J, Prabaker M K, Landay J A, Liu A L (2004) Development and evaluation of emerging design patterns for ubiquitous computing. In: Proceedings of the 5th conference on designing interactive systems: processes, practices, methods, and techniques, DIS ’04. https://doi.org/10.1145/1013115.1013148. http://doi.acm.org/10.1145/1013115.1013148. ACM, New York, pp 233–242
Churchill E F (2019) Scaling ux with design systems. Interactions 26(5):22–23. https://doi.org/10.1145/3352681https://doi.org/10.1145/3352681
Cross N (2001) Designerly ways of knowing: design discipline versus design science. Des Issues 17(3):49–55. https://doi.org/10.1162/074793601750357196
Crowston K, Wei K, Howison J, Wiggins A (2008) Free/libre open-source software development: what we know and what we do not know. ACM Comput Surv 44(2):7:1–7:35. https://doi.org/10.1145/2089125.2089127https://doi.org/10.1145/2089125.2089127. http://doi.acm.org/10.1145/2089125.2089127
Dearden A, Finlay J, Allgar E, McManus B (2002) Using pattern languages in participatory design. In: Binder T, Gregory J, Wagner I (eds) Proceedings of the participatory design conference (PDC 2002). CPSR, Palo Alto, pp 104–113
Duyne D K V, Landay J, Hong J I (2002) The design of sites: patterns, principles, and processes for crafting a customer-centered web experience. Addison-Wesley Longman Publishing Co., Inc., Boston
Elo S, Kyngas H (2008) The qualitative content analysis process. J Adv Nurs 62(1):107–115. https://doi.org/10.1111/j.1365-2648.2007.04569.x
Erickson T (2000) Lingua francas for design: sacred places and pattern languages. In: Proceedings of the 3rd conference on designing interactive systems: processes, practices, methods, and techniques, DIS ’00. https://doi.org/10.1145/347642.347794. http://doi.acm.org/10.1145/347642.347794. ACM, New York, pp 357–368
Fanguy W (2019) A comprehensive guide to design systems. https://www.invisionapp.com/inside-design/guide-to-design-systems/. Accessed 23 Mar 2022
Faulkner S L, Trotter S P (2017) Data saturation. Am Cancer Soc 1–2. https://doi.org/10.1002/9781118901731.iecrm0060https://doi.org/10.1002/9781118901731.iecrm0060. https://onlinelibrary.wiley.com/doi/abs/10.1002/9781118901731.iecrm0060
Ferreira J, Noble J, Biddle R (2007) Agile development iterations and ui design. In: Agile 2007 (AGILE 2007). IEEE, pp 50–58
Fessenden T (2021) Design systems 101. https://www.nngroup.com/articles/design-systems-101/. Accessed 23 Mar 2022
Gharehyazie M, Posnett D, Vasilescu B, Filkov V (2015) Developer initiation and social interactions in oss: a case study of the apache software foundation. Empir Softw Eng 20(5):1318–1353. https://doi.org/10.1007/s10664-014-9332-x
Gould J D, Lewis C (1985) Designing for usability: key principles and what designers think. Commun ACM 28(3):300–311. https://doi.org/10.1145/3166.3170. http://doi.acm.org/10.1145/3166.3170
Gray C M (2016) “It’s more of a mindset than a method”: Ux practitioners’ conception of design methods. In: Proceedings of the 2016 CHI conference on human factors in computing systems, CHI ’16. https://doi.org/10.1145/2858036.2858410. http://doi.acm.org/10.1145/2858036.2858410. ACM, New York, pp 4044–4055
Gutzwiller R S, Espinosa S H, Kenny C, Lange D S (2018) A design pattern for working agreements in human-autonomy teaming. In: Cassenti D N (ed) Advances in human factors in simulation and modeling. Springer International Publishing, Cham, pp 12–24
Hacq A (2018) Everything you need to know about design systems. https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969. Accessed 23 Mar 2022
Hamilton A (2020) The state of design systems: https://material.io/blog/research-state-of-design-systems-2020https://material.io/blog/research-state-of-design-systems-2020. Accessed 23 Mar 2020
Handal S, Koo C, Adelakun O (2022) Design systems implementation for digital transformation: a case study. In: Rocha Á , Ferrás C, Méndez Porras A, Jimenez Delgado E (eds) Information technology and systems. Springer International Publishing, Cham, pp 42–51
Hars A, Ou S (2002) Working for free? Motivations for participating in open-source projects. Int J Electron Commer 6(3):25–39. https://doi.org/10.1080/10864415.2002.11044241
Heck P, Zaidman A (2017) A framework for quality assessment of just-in-time requirements: the case of open source feature requests. Requir Eng 22 (4):453–473. https://doi.org/10.1007/s00766-016-0247-5. http://link.springer.com/10.1007/s00766-016-0247-5
Hertel G, Niedner S, Herrmann S (2003) Motivation of software developers in open source projects: an internet-based survey of contributors to the linux kernel. Res Policy 32 (7):1159–1177. https://doi.org/10.1016/S0048-7333(03)00047-7. http://www.sciencedirect.com/science/article/pii/S0048733303000477, open Source Software Development
Huang Q, Lo D, Xia X, Wang Q, Li S (2017) Which packages would be affected by this bug report?. In: 2017 IEEE 28th international symposium on software reliability engineering (ISSRE). https://doi.org/10.1109/ISSRE.2017.24, pp 124–135
Iivari N (2011) Participatory design in OSS development: interpretive case studies in company and community OSS development contexts. Behav Inf Technol 30(3):309–323. https://doi.org/10.1080/0144929X.2010.503351https://doi.org/10.1080/0144929X.2010.503351
Joblin M, Apel S, Mauerer W (2017) Evolutionary trends of developer coordination: a network approach. Empir Softw Eng 22(4):2050–2094. https://doi.org/10.1007/s10664-016-9478-9
Kholmatova A (2017) Design systems: a practical guide to creating design languages for digital products. Smashing Magazine
Leiva G, Maudet N, Mackay W, Beaudouin-Lafon M (2019) Enact: reducing designer–developer breakdowns when prototyping custom interactions. ACM Trans Comput-Hum Interact 26(3). https://doi.org/10.1145/3310276
Lundström M, ÅBerg J, Blomkvist J (2015) Perceptions of software developers’ empathy with designers. In: Proceedings of the 2015 British HCI conference, British HCI ’15. https://doi.org/10.1145/2783446.2783563. Association for Computing Machinery, New York, pp 239–246
Ma K, Cao J (2019) Design pattern as a practical tool for designing adaptive interactions connecting human and social robots. In: Karwowski W, Ahram T (eds) Intelligent human systems integration 2019. Springer International Publishing, Cham, pp 613–617
McHugh ML (2012) Interrater reliability: the kappa statistic. Biochem Med (Zagreb) 22(3):276–282
Merten T, Falis M, Hübner P, Quirchmayr T, Bürsner S, Paech B (2016) Software feature request detection in issue tracking systems. In: 2016 IEEE 24th international requirements engineering conference (RE). IEEE, pp 166–175
Moore R J, Liu E Y, Mishra S, Ren G J (2020) Design systems for conversational ux. In: Proceedings of the 2nd conference on conversational user interfaces, CUI ’20. https://doi.org/10.1145/3405755.3406150. Association for Computing Machinery, New York
Morville P, Callender J (2010) Search patterns: design for discovery. O’Reilly Media, Inc
Mounter D, Suarez M, Stanfield R, Sylor-Miller K, Anne J (2019) Design Systems Handbook. InVision
Nakakoji K, Yamamoto Y, Nishinaka Y, Kishida K, Ye Y (2002) Evolution patterns of open-source software systems and communities. In: Proceedings of the international workshop on principles of software evolution. ACM Press, New York, p 76
Neil T (2014) Mobile design pattern gallery: UI patterns for smartphone apps. O’Reilly Media, Inc
Saldana J (2015) The coding manual for qualitative researchers, 3rd edn. Sage
Saxena R (2019) A beginner’s guide to css front-end frameworks. https://dzone.com/articles/a-beginners-guide-to-css-front-end-frameworks
Schön DA (1984) The reflective practitioner: how professionals think in action. Basic Books
Schrape J F (2019) Open-source projects as incubators of innovation: from niche phenomenon to integral part of the industry. Convergence 25(3):409–427. https://doi.org/10.1177/1354856517735795
Scott B, Neil T (2009) Designing Web interfaces: principles and patterns for rich interactions, 1st edn. O’Reilly Media, Inc
Stolterman E, Pierce J (2012) Design tools in practice: studying the designer-tool relationship in interaction design. In: Proceedings of the designing interactive systems conference, DIS ’12. https://doi.org/10.1145/2317956.2317961. http://doi.acm.org/10.1145/2317956.2317961. ACM, New York, pp 25–28
Tidwell J, Brewer C, Valencia A (2020) Designing interfaces: patterns for effective interaction design. O’Reilly Media, Inc
Vaismoradi M, Turunen H, Bondas T (2013) Content analysis and thematic analysis: implications for conducting a qualitative descriptive study. Nurs Health Sci 15(3):398–405. https://doi.org/10.1111/nhs.12048. https://onlinelibrary.wiley.com/doi/abs/10.1111/nhs.12048
Vendramini S, Belusso L, Souza F C, Souza A (2021) Towards comprise the design system applicability: a multivocal literature mapping. In: Brazilian symposium on software quality. https://doi.org/10.1145/3493244.3493260. Association for Computing Machinery, New York
Wang W, Arya D, Novielli N, Cheng J, Guo J L C (2020a) Argulens: anatomy of community opinions on usability issues using argumentation models. In: Proceedings of the 2020 CHI conference on human factors in computing systems, CHI ’20. https://doi.org/10.1145/3313831.3376218. Association for Computing Machinery, New York, pp 1–14
Wang W, Cheng J, Guo J (2020b) How do open source software contributors perceive and address usability? Valued factors, practices, and challenges. IEEE Softw x(x). https://doi.org/10.1109/MS.2020.3009514
Xia X, Lo D, Ding Y, Al-Kofahi J M, Nguyen T N, Wang X (2017) Improving automated bug triaging with specialized topic model. IEEE Trans Softw Eng 43(3):272–297. https://doi.org/10.1109/TSE.2016.2576454. http://ieeexplore.ieee.org/document/7484672/
Ye Y, Kishida K (2003) Toward an understanding of the motivation open source software developers. In: Proceedings of the 25th international conference on software engineering, ICSE ’03. http://dl.acm.org/citation.cfm?id=776816.776867. IEEE Computer Society, Washington, DC, pp 419–429
Yew J (2019) State of design systems 2019. https://medium.com/google-design/state-of-design-systems-2019-ff5f26ada71. Accessed 23 Mar 2022
Yew J, Convertino G, Hamilton A, Churchill E (2020) Design systems: a community case study. In: Extended abstracts of the 2020 CHI conference on human factors in computing systems, CHI EA ’20. https://doi.org/10.1145/3334480.3375204. https://doi-org.proxy3.library.mcgill.ca/10.1145/3334480.3375204. Association for Computing Machinery, New York, pp 1–8
Zhang X, Wakkary R (2014) Understanding the role of designers’ personal experiences in interaction design practice. In: Proceedings of the 2014 conference on designing interactive systems, DIS ’14. https://doi.org/10.1145/2598510.2598556. http://doi.acm.org/10.1145/2598510.2598556. ACM, New York, pp 895–904
Acknowledgements
We thank our participants for their time and valuable feedback.
Funding
This work was partially supported by the Discovery Grant of the Natural Sciences and Engineering Research Council of Canada [RGPIN-2018-04470].
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
Ethics approval
All studies that involve human participants in this project were approved by the ethics review board of Polytechnique Montreal.
Conflicts of Interests/Competing Interests
There is no conflict of interest or competing interests involved in this project.
Additional information
Communicated by: Scott Fleming
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Lamine, Y., Cheng, J. Understanding and supporting the design systems practice. Empir Software Eng 27, 146 (2022). https://doi.org/10.1007/s10664-022-10181-y
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-022-10181-y