Fresh Linux Applications On Demand

Alan Pope

Alan Pope

on 28 August 2018

Traditionally Linux users have relied on central distribution-maintained repositories to get new software. With six-month or longer spans between releases, this meant many users just put up with old versions of applications & libraries. In many cases newer software was just missing from the archives.

Modern applications iterate quickly, releasing new versions on a faster cadence than the distributions that shipped them. In some cases exceptions were made to Linux archive policies, to cater for faster app development cycles. Many developers switched to shipping their latest releases as direct downloads, additional repositories or ‘PPAs’ (personal package archives) which users must discover and add to their system manually.

In some cases, users voted with their USB keys and switched to ‘rolling’ Linux distributions which serviced the ‘want it now’ culture more readily. Rolling distributions such as Arch Linux don’t need to wait for a release window to ship software, but keep up to date with the latest builds at a relentless pace.

Running a rolling release as a daily driver isn’t a panacea though, as not only are the applications fresh, but the libraries and other fundamental components they sit on are updated frequently too. This can be problematic for non-technical users to keep up with. Following a deeply technical blog and pasting obscure terminal commands to get a system working isn’t everyone’s cup of tea. Contrary to what rolling distribution maintainers (and users) will tell you, not everyone wants to be a system admin.

Many users want the best of both worlds, and with snaps they can get it. Install a popular Linux distribution, and trust those maintainers to keep base packages stable and secure for the long term. On top of that, install fresh applications from vendors via the Snap Store.

The Snap Store provides four default channels per application. Each channel has a perceived risk-level associated with it. Developers can publish multiple versions of their application through edge, beta, candidate and stable channels. Users subscribe to the risk level they’re comfortable on, with ‘stable’ being the default.

The choice of application version landing in the channels is the discretion of the developer. But typically the ‘stable’ channel contains the currently supported stable release. The ‘edge ‘ channel is often used for nightly builds, or builds per commit to the upstream project. It can be a wild ride to subscribe to the edge channel, as you’re running the very latest application build, working or not.

The ‘beta’ and ‘candidate’ channels are optional, but allow the developer to support their application release process closely. Eager users can subscribe to the beta channel, to get potentially less risky builds than ‘edge’. Developers can publish pre-release builds to ‘candidate’ from which contributors can install and report issues.

The Chromium web browser is available as a snap, and has multiple releases available to install.

$ snap info chromium
name:      chromium
summary:   Chromium web browser, open-source version of Chrome
publisher: canonical
contact:   https://forum.snapcraft.io/
license:   Apache-2.0 AND BSD-3-Clause AND LGPL-2.0 AND LGPL-2.1 AND MIT AND MS-PL AND (GPL-2.0+ OR LGPL-2.1+ OR MPL-1.1)
description: |
  An open-source browser project that aims to build a safer, faster, and more stable way for all
  Internet users to experience the web.
snap-id: XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R
channels:                              
  stable:    68.0.3440.106 (412) 150MB -
  candidate: 68.0.3440.106 (412) 150MB -
  beta:      69.0.3497.57  (440) 152MB -
  edge:      70.0.3528.4   (445) 153MB -

Users can

snap install chromium

or use the graphical store front to get the latest stable release or

snap install chromium --edge

to dive right into the fire-hose of updates in the latest unstable builds.

In addition, developers can create short-lived ‘hidden’ branches of their application to land in temporary channels. These can enable enthusiastic users to test bug fixes, new features or user interface changes, before they land in channels with more users.

The Snap Store gives better release control to developers, flexibility and stability to users, and the latest builds to enthusiasts.

Header photo by Ghost Presenter on Unsplash

Ubuntu desktop

Learn how the Ubuntu desktop operating system powers millions of PCs and laptops around the world.

Newsletter signup

Select topics you’re interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Samsung announce Linux on DeX with Ubuntu: for developers on the move

The Samsung Developer Conference, held this week in San Francisco, brings creators together to discover and learn about the latest technologies in Samsung’s portfolio and further afield. One of the technologies showcased, following the…

A guide to snap permissions and interfaces

Snap is a Linux application package management system which allow developers to easily publish self contained software packages (snaps) that work across many distributions and versions of Linux. Snaps have security at their heart, and are…

Canonical and Ubuntu – user statistics

Most stories are pretty clear and straightforward, heroes, villains, friends, enemies. There’s clear lines as to who is involved with who and what is going on. Then you arrive at the story of Canonical and Ubuntu and things aren’t quite so…