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

The path to Ubuntu Core

At Canonical, helping customers overcome their challenges is what we do every day. In the IoT world, a common challenge we encounter is customers who are interested in transitioning to Ubuntu Core and the snapcraft.io ecosystem, but are…

Make your snap development faster

“All my centurions develop using snaps.” Julius Caesar By and large, software development can be an enjoyable process. Until you hit the first error, that is. At that point, you want to get past the stumbling blocks as quickly as possible…

Fresh KDE snaps for February 2019

During February 2019 we celebrated another fine Plasma release with our friends at KDE by showcasing a month of KDE snaps on the Snapcraft Twitter and other social accounts. The KDE developers have done amazing work to create an SDK that…