Table of Contents
Fetching ...

What Is an App Store? The Software Engineering Perspective

Wenhan Zhu, Sebastian Proksch, Daniel M. German, Michael W. Godfrey, Li Li, Shane McIntosh

TL;DR

This paper broadens the study of app stores beyond mobile platforms by proposing a working definition and a feature-based dimensional model to describe diverse app stores. It collects 291 stores, labels 53 in a feature space, and uses PCA and K-means to identify eight natural store groups, highlighting heterogeneity in monetization, DRM, modality, and governance. The work reveals that stores act as essential stakeholders shaping software development practices, including release engineering, program packaging, and platform ecosystems, while challenging the generalization of findings across stores. It provides a framework for evaluating app-store-centric research and suggests directions for future cross-store comparisons and policy considerations.

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.

What Is an App Store? The Software Engineering Perspective

TL;DR

This paper broadens the study of app stores beyond mobile platforms by proposing a working definition and a feature-based dimensional model to describe diverse app stores. It collects 291 stores, labels 53 in a feature space, and uses PCA and K-means to identify eight natural store groups, highlighting heterogeneity in monetization, DRM, modality, and governance. The work reveals that stores act as essential stakeholders shaping software development practices, including release engineering, program packaging, and platform ecosystems, while challenging the generalization of findings across stores. It provides a framework for evaluating app-store-centric research and suggests directions for future cross-store comparisons and policy considerations.

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.
Paper Structure (64 sections, 3 figures, 6 tables)

This paper contains 64 sections, 3 figures, 6 tables.

Figures (3)

  • Figure 1: Three major stakeholders of most app stores
  • Figure 2: Methodology overview: There are three main stages, further broken down into six steps.
  • Figure 3: Stores may offer optional extensions to the runtime environment for applications