Operating an app store

Once connected to an app store, devices access a catalog of snaps curated by the owner. Connected devices check for updates of these apps regularly. Store owners determine software update policies for devices connected to their store, and can monitor devices connected to their store through a dashboard for live analytics.

Curating a catalog of snaps

Illustration of snap source for a app store

Snaps offered to fleets of authenticated and authorised devices can be curated from three content sources. The first source is the proprietary snaps published by the owner of the store. The second source is publicly available snaps from the global snap store. And the third source is snaps published by third parties, that the owner is allowed to distribute. Single snaps can be selected from these different sources to assemble a catalog for a particular fleet of devices. Owners have full control over the versions of the public or third party snaps included in their catalogs.

Managing updates

By default, devices connected to an app store check for updates every six hours. Should a software update be available within this interval, connected devices update automatically.

However, this update frequency can be modified to schedule updates in a manner more suitable to the user of the device (for instance, updating during scheduled downtime periods for devices in a factory).

Software updates are not necessarily applied to devices when they are fetched automatically. You can determine what specific software revisions get applied to your fleet. Decoupling software updates from installation allows time for testing and validating new revisions before they are applied.

Release management

The releases screen from snapcraft.io

Channels define which release of a snap is installed and tracked for updates. A channel consists of, and is subdivided into, tracks, risk-levels and branches:

  • Tracks enable snap developers to publish multiple supported releases of their application.
  • Risk-levels reflect the stability of a snap.
  • Branches help with bug-fixing.

After a snap has been created and released to the snap store, its published revisions can be moved between channels from both the command line and from the snap store web UI.

Monitoring and analytics

Usage charts are available in stores

User engagement, adoption, retention and churn can be actively tracked from the analytics dashboard available in each app store. Usage analytics can be fine grained to specific app versions and / or revisions.

Monitoring capabilities embedded in app stores enable detailed usage metering. As a consequence, store usage can be billed with precision.

Helpful resources