apps on ubuntu

One of the (few) sucky things about sticking with an Ubuntu LTS release is when newer versions of apps you love are released and you can’t install them.

Well, prepare to bid that pang of disappointment goodbye.

Ubuntu 16.04 LTS introduces support for Canonical’s (relatively new) ‘Snap’ packaging format.

Snap packages are the aspirin to the headache of dependency-addled app upgrades.

For the desktop user there are 2 key benefits of snaps:

  • Developers can give you the latest version of their app
  • App isolation and confinement improves the security and reliability of the app

Newer Apps, Sooner

Snap packages can (though don’t have to) contain both application binary and any dependencies required for it to run. Yup, even if those libraries are already installed on the host system.

Furthermore, developers can include newer versions of any libraries as part of their Snap, putting an end to the ‘add x PPA for an app, plus y PPA for the latest version of z dependency’ dance we all have to do from time-to-time.

This ‘bundle’ approach allows devs to escape the limitations of building apps to a ‘frozen’ base of libraries. It also means you, the user, can use newer versions of apps on older versions of Ubuntu without forsaking the stability of your entire system!

Newer Apps, Larger

One side-effect of the ‘bundle’ approach is, naturally, a larger initial package size.

But Snaps are clever; transactional and delta updates allows devs to only upgrade the parts that need updating, be it a single lib, an app icon, or the entire freaking thing.

Safer Apps, Always

Applications packaged in the format are isolated from the rest of the system. You can install a snappy package without worrying about what it might do to other software you have installed.

Making apps more like lego
Making apps more like lego

This enhanced security smashes the traditional bottle neck in app review and approval. Updates can be pushed out almost instantly through automated review and easily rolled back should something go wrong.

Snaps (an evolution of the earlier, less comprehensive ‘click’ system) was designed from the ground up to meet the diverse needs of server, cloud and mobile. Canonical hopes the format will “meet the needs of [desktop] users and developers who want newer software on long-term supported releases.”

The company has a packaging tool called Snapcraft to help developers package existing apps in the format, and has updated developer documentation, too.

Don’t Despair: Debs Aren’t Going Anywhere

What does this mean for Ubuntu’s traditional Deb-based base?

Nothing; the two packaging formats can coexist on the same system without issue. This allows Canonical to maintain “…existing processes for development and updates to the OS“ while allowing “…developers and communities to publish either debs or snaps for the Ubuntu audience.”

Canonical also say that “…the tens of thousands of applications and packages in .deb format will continue to be supported in 16.04 and beyond, and deb archives in particular will continue to be available for all to use and distribute software.”

“Anyone can use this absolutely free to snap up stacks of software they push to their clouds or desktops, making for a much simpler and more secure PPA experience,” Mark Shuttleworth says of the news.

Snap, crackle or pop?

snappy Xenial Xerus