Skip to main content

Advertisement

Log in

Designing smart city mobile applications

An initial grounded theory

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

The software architecture community has played a crucial role in the development of mobile software. Many of the ideas used in the design of these systems came from traditional software architecture and those ideas have contributed to mobile computing becoming ubiquitous. Mobile applications in the context of smart cities are very challenging since they need to operate within the power, processor, and capacity limitations of mobile devices, the exacting demands of life critical smart city requirements, and the constantly changing and exposed environment which may not always be trusted. Since there are no widely accepted design models for this type of software, developers must resort to primitive design decisions to meet all the needs of these applications, which takes additional time and expertise. For this reason, this study aims to investigate the design process for mobile applications in the context of smart cities. In order to address the lack of verified information about designing mobile apps, we conducted a multi-case study with 9 applications from 4 different development groups to build a grounded theory. The applications were reverse engineered to expose the architecture of each application. Based on all the data, an initial grounded theory was constructed to explain how the selected design process produces an app with the desired characteristics. The resulting theory offers explanations for how software engineering teams design mobile apps for smart cities. This knowledge will serve as a basis to further understand the phenomena and advances towards more effective design and development process definitions.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Supplementary Material site is available at https://rose2s.github.io/EMSE2019

  2. A1 is private but indirect information is available at http://www.rescuer-project.org

  3. A2, A3, and A4 are no longer available but the APK files are at our Supplementary Material site

  4. A5 and A6 are private and not available for download

  5. A7 is no longer available but the APK file is at our Supplementary Material site

  6. A8 is available for download at https://goo.gl/8wBxVb

  7. A9 is available for download at https://goo.gl/1njBJz

  8. Since it is not a trivial task, we have created a tutorial about this study, and made it available in our complementary material.

  9. Trint is available at https://trint.com

  10. Atlas.ti is available at https://atlasti.com

  11. QDA Miner is available at https://provalisresearch.com

  12. Since interviews were performed in the participant’s native language, the quotes are around text that has been translated into English.

  13. 13Fiware is available athttps://www.fiware.org

  14. Firebase is available at https://firebase.google.com

  15. RabbitMQ is available at https://www.rabbitmq.com

  16. We use“candidate” here to reflect the Patterns community’s belief that there be multiple published instances of a design before it is referred to as a pattern.

  17. 17Firebase Test lab is available athttps://firebase.google.com/docs/test-lab

  18. Ionic is available at https://ionicframework.com

  19. React Native is available at http://www.reactnative.com

  20. ACME Studio is available at http://acme.able.cs.cmu.edu/AcmeStudio

  21. Figure 6 was created using the ACME Studio tool. A full tutorial of the architecture reverse-engineering and recovered architectures are available in our complementary material.

  22. https://rose2s.github.io/EMSE2019

References

  • Adolph S, Hall W, Kruchten P (2011) Using grounded theory to study the experience of software development. Empir Softw Eng 16(4):487–513

    Article  Google Scholar 

  • Ahvenniemi H, Huovila A, Pinto-Seppä I, Airaksinen M (2017) What are the differences between sustainable and smart cities? Cities 60:234–245

    Article  Google Scholar 

  • Ameller D, Ayala C, Cabot J, Franch X (2012) How do software architects consider non-functional requirements: An exploratory study. In: 2012 20th IEEE International Requirements Engineering Conference (RE), pp 41–50

  • Amorim AM, Boechat G, Novais RL, Vieira V, Villela K (2017) Quality attributes analysis in a crowdsourcing-based emergency management system. In: ICEIS 2017 - Proceedings of the 19th International Conference on Enterprise Information Systems, Porto, Vol 2, pp 501–509. https://doi.org/10.5220/0006360405010509

  • Bagheri H, Garcia J, Sadeghi A, Malek S, Medvidovic N (2016) Software architectural principles in contemporary mobile software: from conception to practice. J Syst Softw 119:31–44

    Article  Google Scholar 

  • Bosch J (2000) Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach, ACM Press/Addison-Wesley Publishing Co., New York

    Chapter  Google Scholar 

  • Brereton P, Kitchenham BA, Budgen D, Li Z (2008) Using a protocol template for case study planning. In: EASE, vol 8, pp 41–48

  • Cocchia A (2014) Smart and digital city: A systematic literature review. In: Smart city. Springer, pp 13–43

  • Corbin JM, Strauss A (1990) Grounded theory research: procedures, canons, and evaluative criteria. Qual Sociol 13(1):3–21

    Article  Google Scholar 

  • Corbin JM, Strauss A (2008) Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications, New York

    Book  Google Scholar 

  • Dameri R (2013) Searching for smart city definition: a comprehensive proposal, vol 11. https://cirworld.com/index.php/ijct/article/view/1142ijct

    Article  Google Scholar 

  • da Silva WM, Alvaro A, Tomas GH, Afonso RA, Dias KL, Garcia VC (2013) Smart cities software architectures: a survey. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing. ACM, pp 1722–1727

  • de M Del Esposte A, Santana EF, Kanashiro L, Costa FM, Braghetto KR, Lago N, Kon F (2019) Design and evaluation of a scalable smart city software platform with large-scale simulations. Fut Gener Comput Syst 93:427–441. http://www.sciencedirect.com/science/article/pii/S0167739X18307301

    Article  Google Scholar 

  • Diniz HBM, Silva ECGF, Nogueira TCC, Gama K (2016) A reference architecture for mobile crowdsensing platforms. In: Proceedings of the 18th International Conference on Enterprise Information Systems, SCITEPRESS - Science and Technology Publications, Lda, ICEIS 2016, pp 600–607

  • Ferreira JE, Visintin JA, Okamoto J, Pu C (2017) Smart Services: A case study on smarter public safety by a mobile app for university of são paulo. In: 2017 IEEE Smartworld, ubiquitous intelligence computing, advanced trusted computed, scalable computing communications, Cloud Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), pp 1–5

  • FIWARE Foundation (2018) Fiware - developers. https://www.fiware.org/developers/

  • Francese R, Gravino C, Risi M, Scanniello G, Tortora G (2017) Mobile app development and management: Results from a qualitative investigation. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, MOBILESoft’17. IEEE Press, Piscataway, pp 133–143

  • Fraunhofer (2014) Fraunhofer project center for software systems and engineering. http://www.fpc.ufba.br/index.php/en/about-us/

  • Garlan D (2000) Software architecture: A roadmap. In: Proceedings of the Conference on The Future of Software Engineering, ICSE’00. ACM, New York, pp 91–101

  • Glaser B, Strauss A (1967) The discovery of grounded theory: Strategies for qualitative research observations (Chicago Ill.), Aldine

  • Glaser B (1998) Doing Grounded Theory: Issues and Discussions. Sociology Press, https://books.google.com.br/books?id=XStmQgAACAAJ

  • Google (2018a) Application fundamentals - android developer documentation. https://developer.android.com/guide/components/fundamentals

  • Google (2018b) Asynctask - android developer documentation. https://developer.android.com/reference/android/os/AsyncTask

  • Hoda R, Noble J, Marshall S (2012) Developing a grounded theory to explain the practices of self-organizing agile teams. Empir Softw Eng 17(6):609–639. https://doi.org/10.1007/s10664-011-9161-0

    Article  Google Scholar 

  • Hoda R, Noble J, Marshall S (2013) Self-organizing roles on agile software development teams. IEEE Trans Softw Eng 39(3):422–444

    Article  Google Scholar 

  • Imaginovation (2017) 16 reasons the app store rejects mobile apps & how to avoid them. https://medium.com/@Imaginovation/16-reasons-the-app-store-rejects-mobile-apps-how-to-avoid-them-63f73fa33a3a

  • Jansen AGJ (2008) Architectural design decisions. PhD thesis, University of Groningen

  • Janssen D, Janssen C (n.d.) Techopedia - the it education site. https://www.techopedia.com/definition/27913/technical-debt

  • Joorabchi ME, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement, pp 15–24

  • Katz K (2014) Eight security issues to prepare for in mobile app development. https://www.kony.com/resources/blog/eight-security-issues-prepare-mobile-app-development

  • Khatoun R, Zeadally S (2016) Smart cities: concepts, architectures, research opportunities. Commun ACM 59(8):46–57. https://doi.org/10.1145/2858789

    Article  Google Scholar 

  • Kitchin R (2015) Making sense of smart cities: addressing present shortcomings. Camb J Reg Econ Soc 8(1):131–136

    Article  Google Scholar 

  • Liu C, Zhu Q, Holroyd KA, Seng EK (2011) Status and trends of mobile-health applications for ios devices: A developer’s perspective. J Syst Softw 84(11):2022–2033. http://www.sciencedirect.com/science/article/pii/S0164121211001610, mobile Applications: Status and Trends

    Article  Google Scholar 

  • Medvidovic N, Edwards G (2010) Software architecture and mobility: A roadmap. J Syst Softw 83(6):885–898. http://www.sciencedirect.com/science/article/pii/S0164121209002854, software Architecture and Mobility

    Article  Google Scholar 

  • Mojica IJ, Adams B, Nagappan M, Dienst S, Berger T, Hassan AE (2014) A large-scale empirical study on software reuse in mobile apps. IEEE Softw 31(2):78–86

    Article  Google Scholar 

  • Morse JM (2003) Procedures and practice of mixed method design: Maintaining control, rigor, and complexity. The Sage Handbook of Mixed Methods Research in Social & Behavioral Research, pp 189–208

  • Nagappan M, Shihab E (2016) Future trends in software engineering research for mobile apps. In: 2016 IEEE 23Rd international conference on software analysis, evolution, and reengineering (SANER), vol 5, pp 21–32

  • Nandan N, Pursche A, Zhe X (2014) Challenges in crowdsourcing real-time information for public transportation. In: 2014 IEEE 15Th international conference on mobile data management, vol 2, pp 67-72

  • Newcombe T (2014) The rise of the sensor-based smart city. http://www.govtech.com/data/The-Rise-of-the-Sensor-Based-City.html http://www.govtech.com/data/The-Rise-of-the-Sensor-Based-City.html

  • Roman GC, Picco GP, Murphy AL (2000) Software engineering for mobility: A roadmap. In: Proceedings of the Conference on The Future of Software Engineering, ICSE’00. ACM, New York, pp 241–258

  • Runeson P, Höst M (2008) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131

    Article  Google Scholar 

  • Saifi R (2017) The 2017 mobile app market: Statistics, trends, and analysis. https://www.business2community.com/mobile-apps/2017-mobile-app-market-statistics-trends-analysis-01750346#7Fi1f2awFZ0xIFTh

  • Santana EFZ, Chaves AP, Gerosa MA, Kon F, Milojicic DS (2016) Software platforms for smart cities: Concepts, requirements, challenges, and a unified reference architecture. CoRR arXiv:1609.08089

  • Seaman CB (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25(4):557–572

    Article  Google Scholar 

  • Sharma A, Kumar M, Agarwal S (2015) A complete survey on software architectural styles and patterns. Procedia Comput Sci 70:16 – 28. Proceedings of the 4th International Conference on Eco-friendly Computing and Communication Systems

    Article  Google Scholar 

  • Sjøberg DIK, Dybå T, Anda BCD, Hannay JE (2008) Building Theories in Software Engineering. Springer, London, pp 312–336

    Google Scholar 

  • Sousa L, Oliveira A, Oizumi W, Barbosa S, Garcia A, Lee J, Kalinowski M, de Mello R, Fonseca B, Oliveira R, Lucena C, Paes R (2018) Identifying design problems in the source code: A grounded theory. In: Proceedings of the 40th International Conference on Software Engineering, ICSE’18. ACM, New York, pp 921–931. https://doi.org/10.1145/3180155.3180239

  • Statista (2018) Number of available applications in the google play store from december 2009 to june 2018. https://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/

  • Stol KJ, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research: A critical review and guidelines. In: 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), pp 120–131

  • Syer MD, Adams B, Zou Y, Hassan AE (2011) Exploring the development of micro-apps: A case study on the blackberry and android platforms. In: 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation, pp 55–64

  • Taylor RN, Medvidovic N, Dashofy EM (2009) Software architecture: foundations, theory, and practice, 1st edn. Wiley, New York

    Google Scholar 

  • Tomas GH, da Silva WM, Da Mota Silveira Neto PA, Garcia VC, Alvaro A, Gama K (2013) Smart cities architectures - a systematic review. In: Hammoudi S, Maciaszek L A, Cordeiro J, Dietz J L G (eds) ICEIS (2). Scitepress, pp 410–417

  • United Nations DoE, Affairs S (2017) World population prospects: The 2017 revision, key findings and advance tables. Technical Report ESA/P/WP/248, Population Division, https://esa.un.org

  • Wasserman AI (2010) Software engineering issues for mobile application development. In: Proceedings of the FSE/SDP workshop on Future of software engineering research. ACM, pp 397–400

  • Wenge R, Zhang X, Dave C, Chao L, Hao S (2014) Smart city architecture: a technology guide for implementation and design challenges. China Commun 11(3):56–69

    Article  Google Scholar 

  • Yin RK (2013) Case study research: Design and methods. Sage Publications, Newbury Park

    Google Scholar 

  • Zhang W, Wang Z, Xu L, Zhao D, Gong F, Lu Q (2016) An empirical study on big video data processing: Architectural styles, issues, and challenges. In: 2016 International Conference on Identification, Information and Knowledge in the Internet of Things (IIKI), pp 110–115

Download references

Acknowledgements

The authors would like to thank the practitioners who significantly supported this study, specially the interviewees for collaborating with our study and the reviewers for their valuable comments and suggestions. Finally, we are very grateful for the tool reported in Bagheri et al. (2016), which has been developed for reverse-engineering architecture of Android apps. We are grateful to those developers for answering our emails many times. This work is funded by CAPES/ (grant 1699166).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roselane Silva Farias.

Additional information

Communicated by: David Lo, Meiyappan Nagappan, Fabio Palomba, and Sebastiano Panichella

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Farias, R.S., de Souza, R.M., McGregor, J.D. et al. Designing smart city mobile applications. Empir Software Eng 24, 3255–3289 (2019). https://doi.org/10.1007/s10664-019-09723-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-019-09723-8

Keywords

Navigation