What Is an App Store? The Software Engineering Perspective
arXiv:2401.04287 · doi:10.1007/s10664-023-10362-3
Abstract
"App stores" are online software stores where end users may browse, purchase, download, and install software applications. By far, the best known app stores are associated with mobile platforms, such as Google Play for Android and Apple's App Store for iOS. The ubiquity of smartphones has led to mobile app stores becoming a touchstone experience of modern living. However, most of app store research has concentrated on properties of the apps rather than the stores themselves. Today, there is a rich diversity of app stores and these stores have largely been overlooked by researchers: app stores exist on many distinctive platforms, are aimed at different classes of users, and have different end-goals beyond simply selling a standalone app to a smartphone user. We survey and characterize the broader dimensionality of app stores, and explore how and why they influence software development practices, such as system design and release management. We begin by collecting a set of app store examples from web search queries. By analyzing and curating the results, we derive a set of features common to app stores. We then build a dimensional model of app stores based on these features, and we fit each app store from our web search result set into this model. Next, we performed unsupervised clustering to the app stores to find their natural groupings. Our results suggest that app stores have become an essential stakeholder in modern software development. They control the distribution channel to end users and ensure that the applications are of suitable quality; in turn, this leads to developers adhering to various store guidelines when creating their applications. However, we found the app stores operational model could vary widely between stores, and this variability could in turn affect the generalizability of existing understanding of app stores.
arXiv comment41 pages
References in corpus (7)
- Systematic Literature Reviews in Software Engineering -- Enhancement of the Study Selection Process using Cohen's Kappa Statistic
- Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning
- PHANTOM: Curating GitHub for engineered software projects using time-series clustering
- Building the perfect game -- an empirical study of game modifications
- An Empirical Study of the Characteristics of Popular Minecraft Mods
- Beyond Google Play: A Large-Scale Comparative Study of Chinese Android App Markets
- Identifying and Characterizing Silently-Evolved Methods in the Android API