Abstract
The Rico dataset, containing design data from more than 9.7 k Android apps spanning \(27\) categories, was released in 2017. It exposes visual, textual, structural, and interactive design properties of more than 72 k unique UI screens. Over the years since its release, the original paper has been cited nearly 100 times according to Google Scholar and the dataset has been used as the basis for numerous research projects. In this chapter, we describe the creation of Rico using a system that combined crowdsourcing and automation to scalably mine design and interaction data from Android apps at runtime. We then describe two projects that we conducted using the dataset: the training of an autoencoder to identify similarity between UI designs, and an exploration of the use of Google’s Material Design within the dataset using machine learned models. We conclude with an overview of other work that has used Rico to understand our mobile UI world and build data-driven models that assist users, designers, and developers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Rico—a Spanish word meaning “rich”.
- 2.
Material Design https://material.io/guidelines/.
References
Android Activities (2016). https://developer.android.com/guide/components/activities.html
Database of Android Apps on Kaggle (2016). https://www.kaggle.com/orgesleka/android-apps
UI Overview (2016). https://developer.android.com/guide/topics/ui/overview.html
A L (2014) Why and how to avoid hamburger menus
Abadi M, Agarwal A, Barham P, Brevdo E, Chen Z, Citro C, Corrado GS, Davis A, Dean J, Devin M, Ghemawat S, Goodfellow I, Harp A, Irving G, Isard M, Jia Y, Jozefowicz R, Kaiser L, Kudlur M, Levenberg J, Mané D, Monga R, Moore S, Murray D, Olah C, Schuster M, Shlens J, Steiner B, Sutskever I, Talwar K, Tucker P, Vanhoucke V, Vasudevan V, Viégas F, Vinyals O, Warden P, Wattenberg M, Wicke M, Yu Y, Zheng X (2015) TensorFlow: large-scale machine learning on heterogeneous systems. Software available from tensorflow.org
Alexander C (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford
Alharbi K, Yeh T (2015) Collect, decompile, extract, stats, and diff: mining design pattern changes in Android apps. In: Proceedings of MobileHCI
Amini S (2014) Analyzing mobile app privacy using computation and crowdsourcing. PhD thesis, Carnegie Mellon University
Avgeriou P, Papasalouros A, Retalis S, Skordalakis M (2003) Towards a pattern language for learning management systems. Educ Technol & Soc 6(2):11–24
Azim T, Neamtiu I (2013) Targeted and depth-first exploration for systematic testing of android apps. In: ACM SIGPLAN Notices
Babich N (2017) Floating action button in ux design
Bengio Y (2009) Learning deep architectures for ai. Found Trends Mach Learn 2:1
Bhoraskar R, Han S, Jeon J, Azim T, Chen S, Jung J, Nath S, Wang R, Wetherall D (2014) Brahmastra: driving apps to test the security of third-party components. In: Proceeding of the SEC
Borchers JO (2000) A pattern approach to interaction design. In: Proceedings of the 3rd conference on designing interactive systems: processes, practices, methods, and techniques, DIS ’00, ACM, New York, NY, USA, pp 369–378
Chen J, Chen C, Xing Z, Xia X, Zhu L, Grundy J, Wang J (2020) Wireframe-based ui design search through image autoencoder. ACM Trans Softw Eng Methodol 29:3
Chen J, Xie M, Xing Z, Chen C, Xu X, Zhu L, Li G (2020) Object detection for graphical user interface: old fashioned or deep learning or a combination? New York, NY, USA, Association for Computing Machinery, pp 1202–1214
Chen Y, Pandey M, Song JY, Lasecki WS, Oney S (2020) Improving crowd-supported gui testing with structural guidance. In: Proceedings of the 2020 CHI conference on human factors in computing systems, CHI ’20, Association for Computing Machinery, New York, NY, USA, pp 1–13
Chung ES, Hong JI, Lin J, Prabaker MK, Landay JA, Liu AL (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, ACM, pp 233–242
Constine J (2014) Kill the hamburger button
Dearden A, Finlay J (2006) Pattern languages in hci: a critical review. Human-Comput Inter 21(1):49–102
Deka B, Huang Z, Franzen C, Hibschman J, Afergan D, Li Y, Nichols J, Kumar R (2017) Rico: a mobile app dataset for building data-driven design applications. In: 30th annual symposium on user interface software and technology, UIST ’17, ACM, New York, NY, USA
Deka B, Huang Z, Kumar R (2016) ERICA: Interaction mining mobile apps. In: Proceedings of the UIST
Doosti B, Dong T, Deka B, Nichols J (2018) A computational method for evaluating UI patterns. ArXiv e-prints
Frank M, Dong B, Felt AP, Song D (2012) Mining permission request patterns from android and facebook applications. In: Proceeding of the ICDM
Fu B, Lin J, Li L, Faloutsos C, Hong J, Sadeh N (2013) Why people hate your app: making sense of user feedback in a mobile app store. In: Proceedings of the KDD
Gupta K, Achille A, Lazarow J, Davis L, Mahadevan V, Shrivastava A (2020) Layout generation and completion with self-attention
Huang F, Canny JF, Nichols J (2019) Swire: sketch-based user interface retrieval. In: Proceedings of the 2019 CHI conference on human factors in computing systems, CHI ’19, Association for Computing Machinery, New York, NY, USA, pp 1–10
Jager T (2017) Is the floating action button bad ux design?
Krizhevsky A, Sutskever I, Hinton GE (2012) Imagenet classification with deep convolutional neural networks. In: Pereira F, Burges CJC, Bottou L, Weinberger KQ (eds) Advances in neural information processing systems 25. Curran Associates Inc, Stateline, NV, USA, pp 1097–1105
Landay JA, Borriello G (2003) Design patterns for ubiquitous computing. Computer 36(8):93–95
Lee C, Kim S, Han D, Yang H, Park Y-W, Kwon BC, Ko S (2020) Guicomp: a gui design assistant with real-time, multi-faceted feedback. In: Proceedings of the 2020 CHI conference on human factors in computing systems, CHI ’20, Association for Computing Machinery, New York, NY, USA, pp 1–13
Lee H-Y, Yang W, Jiang L, Le M, Essa I, Gong H, Yang M-H (2020) Neural design network: graphic layout generation with constraints. In: Proceedings of European conference on computer vision (ECCV)
Lee K, Flinn J, Giuli T, Noble B, Peplin C (2013) Amc: verifying user interface properties for vehicular applications. In: Proceeding of the Mobisys
Li Y, He J, Zhou X, Zhang Y, Baldridge J (2020) Mapping natural language instructions to mobile UI action sequences. In: Proceedings of the 58th annual meeting of the association for computational linguistics, Association for Computational Linguistics, pp 8198–8210
Li Y, Li G, He L, Zheng J, Li H, Guan Z (2020) Widget captioning: generating natural language description for mobile user interface elements. In: Proceedings of the 2020 conference on empirical methods in natural language processing (EMNLP), Association for Computational Linguistics, pp 5495–5510
Li Y, Yang Z, Guo Y, Chen X (2019) Humanoid: a deep learning-based approach to automated black-box android app testing. In: 2019 34th IEEE/ACM international conference on automated software engineering (ASE), pp 1070–1073
Liu TF, Craft M, Situ J, Yumer E, Mech R, Kumar R (2018) Learning design semantics for mobile apps. In: Proceedings of the 31st annual ACM symposium on user interface software and technology, UIST ’18, Association for Computing Machinery, New York, NY, USA, pp 569–579
Luis AL, Asutosh Hota AO (2020) Enrico: a high-quality dataset for topic modeling of mobile ui designs. In: Proceedings of MobileHCI extended abstracts
Micallef N, Adi E, Misra G (2018) Investigating login features in smartphone apps. In: Proceedings of the 2018 ACM international joint conference and 2018 international symposium on pervasive and ubiquitous computing and wearable computers, UbiComp ’18, Association for Computing Machinery, New York, NY, USA, pp 842–851
Moran K, Bernal-Cárdenas C, Curcio M, Bonett R, Poshyvanyk D (2020) Machine learning-based prototyping of graphical user interfaces for mobile apps. IEEE Trans Softw Eng 46(2):196–221
Nair V, Hinton GE (2010) Rectified linear units improve restricted boltzmann machines. In: Proceeding of the ICML, pp 807–814
Neil T (2014) Mobile design pattern gallery: UI patterns for smartphone apps. O’Reilly Media, Inc., Sebastopol
Pernice K, Budiu R (2016) Hamburger menus and hidden navigation hurt ux metrics
Ross AS, Zhang X, Fogarty J, Wobbrock JO (2018) Examining image-based button labeling for accessibility in android apps through large-scale analysis. In: Proceedings of the 20th international ACM SIGACCESS conference on computers and accessibility, ASSETS ’18, Association for Computing Machinery, New York, NY, USA, pp 119–130
Sahami Shirazi A, Henze N, Schmidt A, Goldberg R, Schmidt B, Schmauder H (2013) Insights into layout patterns of mobile user interfaces by an automatic analysis of Android apps. In: Proceeding of the EICS
Saponas TS, Prabaker MK, Abowd GD, Landay JA () The impact of pre-patterns on the design of digital home applications. In: Proceedings of the 6th conference on designing interactive systems, ACM (2006), pp 189–198
Sereshkeh AR, Leung G, Perumal K, Phillips C, Zhang M, Fazly A, Mohomed I (2020) Vasta: a vision and language-assisted smartphone task automation system. In: Proceedings of the 25th international conference on intelligent user interfaces, IUI ’20, Association for Computing Machinery, New York, NY, USA, pp 22–32
Siang TY (2015) Material design: why the floating action button is bad ux design. https://medium.com/tech-in-asia/material-design-why-the-floating-action-button-is-bad-ux-design-acd5b32c5ef, https://medium.com/tech-in-asia/material-design-why-, https://medium.com/tech-in-asia/material-design-why-the-floating-action-button-is-bad-ux-design-acd5b32c5ef-the-floating-action-button-is-bad-ux-design-acd5b32c5ef
Swearngin A, Li Y (2019) Modeling mobile interface tappability using crowdsourcing and deep learning. In: Proceedings of the 2019 CHI conference on human factors in computing systems, CHI ’19, Association for Computing Machinery, New York, NY, USA, pp 1–11
Szydlowski M, Egele M, Kruegel C, Vigna G (2012) Challenges for dynamic analysis of iOS applications. In: Open problems in network security. Springer, pp 65–77
Tidwell J (2010) Designing interfaces: patterns for effective interaction design. O’Reilly Media, Inc., Sebastopol
Viennot N, Garcia E, Nieh J (2014) A measurement study of google play. In: ACM SIGMETRICS performance evaluation review, vol. 42, ACM, pp 221–233
Wania CE, Atwood ME (2009) Pattern languages in the wild: exploring pattern languages in the laboratory and in the real world. In: Proceedings of the 4th international conference on design science research in information systems and technology, ACM, p 12
Wu Z, Jiang Y, Liu Y, Ma X (2020) Predicting and diagnosing user engagement with mobile ui animation via a data-driven approach. In: Proceedings of the 2020 CHI conference on human factors in computing systems, CHI ’20, Association for Computing Machinery, New York, NY, USA, pp 1–13
Zhang T, Liu Y, Gao J, Gao LP, Cheng J (2020) Deep learning-based mobile application isomorphic gui identification for automated robotic testing. IEEE Softw 37(4):67–74
Acknowledgements
We thank the reviewers for their helpful comments and suggestions and the crowd workers who helped build the Rico dataset. This work was supported in part by a Google Faculty Research Award.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Deka, B. et al. (2021). An Early Rico Retrospective: Three Years of Uses for a Mobile App Dataset. In: Li, Y., Hilliges, O. (eds) Artificial Intelligence for Human Computer Interaction: A Modern Approach. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-030-82681-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-82681-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-82680-2
Online ISBN: 978-3-030-82681-9
eBook Packages: Computer ScienceComputer Science (R0)