WAMA 2019- Proceedings of the 3rd ACM SIGSOFT International Workshop on App Market Analytics

Full Citation in the ACM Digital Library


A recommendation system for emergency mobile applications using context attributes: REMAC

The extensive use of mobile devices had led to tremendous growth in not only the usage of different apps but also their capability to help people in moments of crisis. There are different emergency mobile apps published in the app markets; these apps can be of enormous assistance to victims as they can provide valuable information and guidance at the opportune moments. However, app store reviews, ratings, and relevant studies have revealed that users are often averse to using these apps or their different features. This draws our attention to the need for recognizing essential features and including them in the emergency apps to increase their usability. Our proposed recommendation system called REMAC combines different machine learning techniques to analyze the context characteristics of different organizations and suggest unique features that can be included in their emergency apps. REMAC is built by analyzing 24 potential context attributes of 1909 universities spread across North America. This research also includes a systematic attribute selection process that enables us to reach a local optimum for the given dataset. This tool carefully dissects the context attributes of each university and suggests top features that should be included in its emergency app. It leverages the data (other apps and features) provided by the app markets to suggest essential features.

Even though emergency apps can be in different types and categories, in this study, universities' emergency apps have been investigated which have similar nature. REMAC is evaluated by inspecting features from 41 apps, and the tool has an accuracy of over 97.07%. In the course of this research, we found that (i) emergency apps from organizations having similar context attributes share a high degree of overlapping features (ii) top common features of emergency apps in entities of one cluster can be a good recommendation for the app of another entity similar to them, and (iii) for a given dataset, a subset of the data can also be used to enhance the performance of the system without compromising on the accuracy. REMAC has been parameterized to adjust according to the requirements of the organizations. It can proactively understand organizations' needs and suggest features to support their emergency apps. REMAC can be further enhanced to look beyond the current set of functionalities provided by emergency apps and extract other utilitarian features by assessing users' needs.

Characterizing the transition to Kotlin of Android apps: a study on F-Droid, Play Store, and GitHub

Context: Kotlin is a novel language that represents an alternative to Java, and has been recently adopted as a first-class programming language for Android applications. Kotlin is achieving a significant diffusion among developers, and several studies have highlighted various advantages of the language when compared to Java.

Goal: The objective of this paper is to analyze a set of open-source Android apps, to evaluate their transition to the Kotlin programming language throughout their lifespan and understand whether the adoption of Kotlin has impacts on the success of Android apps.

Methods: We mined all the projects from the F-Droid repository of Android open-source applications, and we found the corresponding projects on the official Google Play Store and on the GitHub platform. We defined a set of eight metrics to quantify the relevance of Kotlin code in the latest update and through all releases of an application. Then, we statistically analyzed the correlation between the presence of Kotlin code in a project and popularity metrics mined from the platforms where the apps were released.

Results: Of a set of 1232 projects that were updated after October 2017, near 20% adopted Kotlin and about 12% had more Kotlin code than Java; most of the projects that adopted Kotlin quickly transitioned from Java to the new language. The projects featuring Kotlin had on average higher popularity metrics; a statistically significant correlation has been found between the presence of Kotlin and the number of stars on the GitHub repository.

Conclusion: The Kotlin language seems able to guarantee a seamless migration from Java for Android developers. With an inspection on a large set of open-source Android apps, we observed that the adoption of the Kotlin language is rapid (when compared to the average lifespan of an Android project) and seems to come at no cost in terms of popularity among the users and other developers.

Release practices for iOS and Android apps

We conduct a preliminary study on the practices of releasing apps for the two major mobile platforms: iOS and Android. We select the most popular applications on the official stores, and we retrieve all the releases of such apps to understand how often developers make releases on each platform. Our study aims to highlight possible differences on the release practices for the same application on iOS and Android. We observe that developers tend to publish new releases more often on the Android platform than on iOS, and most of the times the development on the two platforms is not aligned at all.

AppNet: understanding app recommendation in Google Play

With the prevalence of smartphones, mobile apps have seen widespread adoption. Millions of apps in markets have made it difficult for users to find the most interesting and relevant apps. App markets such as Google Play have deployed app recommendation mechanisms in the markets, e.g., recommending a list of relevant apps when a user is browsing an app, which naturally forms a network of app recommendation relationships. In this work, we seek to shed light on the app relations from the perspective of market recommendation. We first build “AppNet”, a large-scale network containing over 2 million nodes (i.e., Android apps) and more than 100 million edges (i.e., the recommendation relations), by crawling Google Play. We then investigate the “AppNet” from various perspectives. Our study suggests that AppNet shares some characteristics of human networks, i.e., a large portion of the apps (more than 69%) have no incoming edges (no apps link to them), while a small group of apps dominate the network with each having thousands of incoming edges. Besides, we also reveal that roughly 147K (7%) apps form a fully connected cluster, in which most of the apps are popular apps, while covering 97% of all the edges. The results also reveal several interesting implications to both app marketers and app developers, such as identifying fraudulent app promotion behaviors, improving the recommendation system, and enhancing the exposure of apps.

Better Android apps using Android vitals

Google provides Android Vitals, a set of reports and tools for Android Developers as part of Google Play Console. Android Vitals can help developers improve their Android apps after an app has been launched by providing information on how their app is performing in key areas such as battery use, performance, and stability (freezes and crashes). Android Vitals also provides various comparisons, including against global bad behavior thresholds, against various peer groups of apps, and across releases of this app.

Developers confirm Android Vitals notifies them of relevant problems and they found it valuable even if they also use crash reporting and mobile analytics.

The underlying data is used by Google to assess the relative quality of Android apps; and the perceived quality may materially affect the visibility of an app in the Google Play Store. Yet little is known about the tools.

This paper outlines various experiences from the developers' perspective of using Android Vitals with several popular Android apps to help open discussions and suggest further research areas. It introduces an open source project, created as part of our work, that enables developers to download pertinent data, particularly crash reports. The data can be analysed both by the development team and others. A particular benefit of this tool is to make the data available outside of the Google platform, which allows developers and (indirectly) researchers to develop additional analysis techniques not currently provided by the platform.

Healthcare Android apps: a tale of the customers’ perspective

Healthcare mobile apps are becoming a reality for users interested in keeping their daily activities under control. In the last years, several researchers have investigated the effect of healthcare mobile apps on the life of their users as well as the positive/negative impact they have on the quality of life. Nonetheless, it remains still unclear how users approach and interact with the developers of those apps. Understanding whether healthcare mobile app users request different features with respect to other applications is important to estimate the alignment between the development process of healthcare apps and the requests of their users. In this study, we perform an empirical analysis aimed at (i) classifying the user reviews of healthcare open-source apps and (ii) analyzing the sentiment with which users write down user reviews of those apps. In doing so, we define a manual process that enables the creation of an extended taxonomy of healthcare users' requests. The results of our study show that users of healthcare apps are more likely to request new features and support for other hardware than users of different types of apps. Moreover, they tend to be less critical of the defects of the application and better support developers when debugging.

Using app reviews for competitive analysis: tool support

Play Store and App Store have a large number of apps that are in competition as they share a fair amount of common features. User reviews of apps contain important information such as feature evaluation, bug report and feature request, which is useful input for the improvement of app quality. Automatic extraction and summarization of this information could offer app developers opportunities for understanding the strengths and weaknesses of their app and/or prioritizing the app features for the next release cycle. To support these goals, we developed the tool REVSUM which automatically identifies developer-relevant information from reviews, such as reported bugs or requested features. Then, app features are extracted automatically from these reviews using the recently proposed rule based approach SAFE. Finally, a summary is generated that supports the application of the following three use cases: (1) view users' sentiments about app features in competing apps, (2) detect which summarized app features were mentioned in bug related reviews, and (3) identify new app features requested by users.