Abstract
To allow end users to combine different apps for accomplishing various goals, it is desired that they can create mashups of mobile apps in an on-demand fashion. The end user creation of mobile mashups, however, is complicated by the fact that many apps do not expose interfaces for mashup and the lack of user friendly interfaces for end user programming. In this paper, we propose MashReDroid, an end user programming approach for the creation of Android mashups that incorporates the behaviors of backend apps into the execution of a host app. MashReDroid automatically transforms Android apps into mashup enabled apps. It then allows end users to create mashups by recording the interactions between host apps and backend apps and run mashups by replaying the interactions. Our evaluation shows that MashReDroid supports a variety of real scenarios and users can easily create and use mashups with a very low overhead.
Similar content being viewed by others
References
Xu Q, Erman J, Gerber A, et al. Identifying diverse usage behaviors of smartphone apps. In: Proceedings of the 11th ACM SIGCOMM Internet Measurement Conference, Berlin, 2011. 329–344
Ma Y, Liu X Z, Yu M H, et al. Mashdroid: an approach to mobile-oriented dynamic services discovery and composition by in-app search. In: Proceedings of the 2015 IEEE International Conference on Web Services, New York, 2015. 725–730
Wong J, Hong J I. Making mashups with marmite: towards end-user programming for the web. In: Proceedings of the 2007 Conference on Human Factors in Computing Systems, San Jose, 2007. 1435–1444
Stolee K T, Elbaum S G. Refactoring pipe-like mashups for end-user programmers. In: Proceedings of the 33rd International Conference on Software Engineering, Waikiki, 2011. 81–90
Cappiello C, Matera M, Picozzi M, et al. Dashmash: a mashup environment for end user development. In: Proceedings of the 11th International Conference on Web Engineering, Paphos, 2011. 152–166
Ghiani G, Paternó F, Spano L D, et al. An environment for end-user development of web mashups. Int J Human-Comput Studies, 2016, 87: 38–64
Liu X Z, Huang G, Zhao Q, et al. iMashup: a mashup-based framework for service composition. Sci China Inf Sci, 2014, 57: 012101
Daniel F, Matera M, Weiss M. Next in mashup development: user-created apps on the web. IT Prof, 2011, 13: 22–29
Cappiello C, Matera M, Picozzi M. End-user development of mobile mashups. In: Proceedings of the 2nd International Conference on Design, User Experience, and Usability, Las Vegas, 2013. 641–650
Rana J, Morshed S, Synnes K. End-user creation of social apps by utilizing web-based social components and visual app composition. In: Proceedings of the 22nd International Conference on World Wide Web, New York, 2013. 1205–1214
Azim T, Riva O, Nath S. ulink: enabling user-defined deep linking to app content. In: Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services, Singapore, 2016. 305–318
Gomez L, Neamtiu I, Azim T, et al. Reran: timing- and touch-sensitive record and replay for android. In: Proceedings of the 2013 International Conference on Software Engineering, Piscataway, 2013. 72–81
Hu Y J, Azim T, Neamtiu I. Versatile yet lightweight record-and-replay for Android. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Pittsburgh, 2015. 349–366
Zheng J H, Peng X, Yang J C, et al. Colladroid: automatic augmentation of android application with lightweight interactive collaboration. In: Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing, New York, 2017. 2462–2474
Erenkrantz J R, Gorlick M, Suryanarayana G, et al. From representations to computations: the evolution of web architectures. In: Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, New York, 2007. 255–264
Hartmann B, Wu L, Collins K, et al. Programming by a sample: rapidly creating web applications with d.mix. In: Proceedings of the 20th Annual ACM Symposium on User Interface Software and Technology, New York, 2007. 241–250
Lin J, Wong J, Nichols J, et al. End-user programming of mashups with vegemite. In: Proceedings of the 14th International Conference on Intelligent User Interfaces, New York, 2009. 97–106
Ma Y, Lu X, Liu X Z, et al. Data-driven synthesis of multiple recommendation patterns to create situational Web mashups. Sci China Inf Sci, 2013, 56: 082109
Lee J, Garduño L, Walker E, et al. A tangible programming tool for creation of context-aware applications. In: Proceedings of the 13th ACM International Joint Conference on Pervasive and Ubiquitous Computing, Zurich, 2013. 391–400
Wang R, Chen S Z, Feng Z Y, et al. A client microservices automatic collaboration framework based on fine-grained app. In: Proceedings of 2018 IEEE International Conference on Services Computing (SCC), 2018. 25–32
Zhou D H, Lee Y J. Design and implementation of location-aware semantic mobile mashups. In: Proceedings of the International Conference on Intelligent Science and Technology, 2018. 72–76
Cassani V, Gianelli S, Matera M, et al. On the role of context in the design of mobile mashups. In: Proceedings of International Rapid Mashup Challenge, 2016. 108–128
Daniel F, Matera M, Quintarelli E, et al. Context-aware access to heterogeneous resources through on-the-fly mashups. In: Proceedings of International Conference on Advanced Information Systems Engineering, 2018. 119–134
Ma Y, Liu X Z, Du R G, et al. Droidlink: automated generation of deep links for android apps. 2016. ArXiv: 1605.06928
Ma Y, Hu Z N, Liu Y X, et al. Aladdin: automating release of deep-link apis on android. In: Proceedings of the World Wide Web Conference, 2018. 1469–1478
Cypher A, Halbert D C. Watch What I do: Programming by Demonstration. Cambridge: MIT Press, 1993
Lieberman H. Your Wish is my Command: Programming by Example. San Francisco: Morgan Kaufmann, 2001
Leshed G, Haber E M, Matthews T, et al. Coscripter: automating & sharing how-to knowledge in the enterprise. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2008. 1719–1728
Grabler F, Agrawala M, Li W, et al. Generating photo manipulation tutorials by demonstration. ACM Trans Graph, 2009, 28: 66
Li T J J, Azaria A, Myers B A. Sugilite: creating multimodal smartphone automation by demonstration. In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 2017. 6038–6049
Li T J J, Li Y C, Chen F L, et al. Programming iot devices by demonstration using mobile apps. In: Proceedings of International Symposium on End User Development, 2017. 3–17
Li T J J, Riva O. Kite: building conversational bots from mobile apps. In: Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services, 2018. 96–109
Shen Y L, Nama S, Jin H X. Teach once and use everywhere-building ai assistant eco-skills via user instruction and demonstration. In: Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services, 2019. 606–607
Bellal Z, Benslimane S M, Elouali N. Using programming by demonstration for multimodality in mobile-human interactions. In: Proceedings of the 29th Conference on l’Interaction Homme-Machine, 2017. 243–251
Zhang Y, Huang G, Liu X Z, et al. Refactoring android java code for on-demand computation offloading. In: Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Tucson, 2012. 233–248
Lin Y, Radoi C, Dig D. Retrofitting concurrency for android applications through refactoring. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, 2014. 341–352
Lin Y, Okur S, Dig D. Study and refactoring of android asynchronous programming (t). In: Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Washington, 2015. 224–235
Acknowledgements
This work was supported by National Key R&D Program of China (Grant No. 2018YFB1004800).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zheng, J., Shen, L., Peng, X. et al. MashReDroid: enabling end-user creation of Android mashups based on record and replay. Sci. China Inf. Sci. 63, 202101 (2020). https://doi.org/10.1007/s11432-019-2646-2
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-019-2646-2