Nuvola 3.1 Milestone 2 Deprecates DEB/RPM Packages in Favor of Flatpaks and Officially Supports Another Distribution

Jiří Janoušek
Nuvola News
Published in
4 min readMar 26, 2017

Update August 18th, 2017: The rolling releases series was renumbered as 4.x and provides only flatpak builds.

Nuvola 3.1 Milestone 2 (3.1.2 for short) is the second milestone on the way towards the Nuvola 4.0 release (formerly referred to as Nuvola 3.2). There have been 123 commits since Nuvola 3.1.1 and 71 code changes since Diorite 0.3.1. The development focused on three major areas:

  1. Cross-distribution flatpak packages to replace DEB/RPM packages in order to support more distributions.
  2. HTML5 Audio and Media Source Extension to achieve Flash-free playback.
  3. Modernization of the code base to improve performance and accomplish tighter desktop integration.

Cross-Distribution Flatpak Builds

The Nuvola Apps Repository Index website provides installation instructions for cross-distribution flatpak builds of Nuvola Apps 3.1. As a convenience, it is also loaded in the second tab of Nuvola Apps Selector window. The legacy DEB/RPM packages of Nuvola 3.1 Rolling Releases are no longer updated and will be eventually deleted.

Nuvola Apps Repository Index website loaded in Nuvola Apps 3.1.2 on Arch Linux.

The flatpak builds integrate with the host system nicely. The only limitation is the fact that themes cannot be shared. Nuvola currently supports three themes and respective icon sets: Adwaita (GNOME, the image above) and Ambiance/Radiance (Unity, the picture bellow).

Update: If your favorite theme is not supported, let us know!

Deezer flatpak running in Ubuntu 16.10 — global menu bar, launcher quick list and the Ambiance theme are fully supported.

Arch Linux Added Among Officially Supported Distributions

While Nuvola 3.1.1 supported Ubuntu, Debian and Fedora, Nuvola 3.1.2 adds the official support of Arch Linux. Supporting Arch Linux has always been a daunting prospect as each Arch Linux installation is fairly unique and fine-tuned. Nuvola Apps 3.1.2 flatpaks are based on the GNOME 3.22 Runtime, which provides a stable and well-defined environment.

Officially supported distributions are Ubuntu 16.04–16.10, Debian 8–9, Fedora 24–25 and Arch Linux.

HTML5 Audio and Media Source Extension

A long-term goal is to replace Flash with HTML5 Audio technologies. Advanced music streaming websites require Media Source Extension (MSE), which has been only recently added to the WebKitGTK web rendering engine and is not, therefore, enabled by default in standard WebKitGTK builds. However, the master (=experimental) branch of Nuvola Apps flatpak repository contains a custom WebKitGTK build with MSE, which has been successfully tested with BBC iPlayer and YouTube. We hope to enable MSE in the stable branch (=installed by default) in Nuvola 3.1 Milestone 3.

YouTube’s report on Nuvola’s HTML5 Audio and MSE support status.

Nuvola 3.1 Milestone 2 Changelog

New Features

  • Nuvola Player was renamed to Nuvola Apps as non-media player apps (Google Calendar) were enabled and should be fully supported in the 4.0 release.
  • Nuvola Apps are distributed as cross-distribution flatpak builds. There have been a lot of changes under the hood to support this transition.
  • The nuvolaplayer3 and nuvolaplayer3ctl commands are deprecated in favor of nuvola and nuvolactl.
  • WebApp scripts provide own desktop files, so the unnecessary create/delete desktop launchers actions were removed.

Enhancements

  • Enhanced support of HTML5 Audio and Media Source Extension (MSE), which is currently enabled only in the BBC iPlayer script with a custom WebKitGTK+ build.
  • Album art is downloaded with WebKit’s NetworkProcess to access images that are otherwise restricted. Issue: tiliado/nuvolaplayer#76
  • Preferences dialog: Components tab was renamed to Features as it is more user-friendly.

Under the Hood

  • Inter-process communication has been reworked for greater flexibility as required by the HTTP Remote Control feature.
  • Nuvola and individual apps are DBus-activatable.
  • The unique name has been changed to eu.tiliado.Nuvola and most of the resources (e.g. icons) use this name.
  • AppData/AppStream metadata have been updated.
  • The build script now honors the VAPIDIR env variable.
  • Added a script to set up Nuvola CDK environment (setup_nuvolacdk.sh).

Bug Fixes

News for Script Maintainers

  • Documentation has been updated and Mantainer’s Guide merged into the tutorial.
  • Format requirements flags were implemented but not yet documented.
  • Web app scripts are built with Nuvola SDK.

Thank You for Your Support

At the time of writing, the awesome people listed bellow and 14 others are Nuvola Patrons, who support the development of Nuvola Player and have access to Nuvola Player 3.1 Rolling Releases (including cross-distribution flatpak packages). Thank you all!

Simon Law, Bart Libert, Bryan Wyatt, José Antonio Rey, Christian Dannie Storgaard, Ryan Wagner, Cheetah, Chris Beeley, David, Andrew Azores, Andrew Kvalheim, Balázs, Ben MacLeod, David Wiczer, Martin Wimpress, Duco van Amstel, Gabriele, Jan.

--

--

Jiří Janoušek
Nuvola News

Software engineer, GNU/Linux lover, European citizen.