MashReDroid: enabling end-user creation of Android mashups based on record and replay

  • PDF / 1,083,860 Bytes
  • 20 Pages / 595 x 842 pts (A4) Page_size
  • 46 Downloads / 189 Views

DOWNLOAD

REPORT


. RESEARCH PAPER .

October 2020, Vol. 63 202101:1–202101:20 https://doi.org/10.1007/s11432-019-2646-2

MashReDroid: enabling end-user creation of Android mashups based on record and replay Jiahuan ZHENG1,2 , Liwei SHEN1,2* , Xin PENG1,2 , Hongchi ZENG1,2 & Wenyun ZHAO1,2 1 School of Computer Science, Fudan University, Shanghai 200433, China; Shanghai Key Laboratory of Data Science, Fudan University, Shanghai 200433, China

2

Received 3 June 2019/Accepted 9 August 2019/Published online 16 September 2020

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. Keywords

end user programming, human computer interaction, Android, mashup, app transformation

Citation Zheng J H, Shen L W, Peng X, et al. MashReDroid: enabling end-user creation of Android mashups based on record and replay. Sci China Inf Sci, 2020, 63(10): 202101, https://doi.org/10.1007/s11432-019-2646-2

1

Introduction

Over the past decade, we have witnessed the burst of growth of smartphones (e.g., iPhone and Android phones) and mobile apps. Nowadays, there have been millions of apps available in Apple’s app store and Android app stores (e.g., Google Play). These apps support a wide range of needs such as online shopping, social networking, gaming, and traveling. And people have been used to using mobile apps to meet their needs. In reality, users often need to combine several apps for accomplishing a goal [1]. For example, when a user finds a restaurant on a food recommendation app like Yelp, he/she would like to search for the location on Google Map and subsequently call a taxi by Uber [2]. Currently, some apps support the integration with other apps based on predefined interfaces. For example, some payment apps (e.g., ApplePay, AndroidPay, and AliPay) and map apps (e.g., Google Maps and Baidu Map) allow other apps to integrate them by using their SDKs (software development kits). This kind of integration, however, is limited and does not support end users to combine different apps on demand. To better meet user needs, it is desired that users can create mashups that combine existing content and services to create new applications by end user programming. Existing researches on software ma