GNOME 3.34.3 in Fedora 31 updates-testing

Just a quick heads up that GNOME 3.34.3 just hit Fedora 31 updates-testing repo. It’s a fairly small update; mostly just gnome-shell/mutter fixes and translation updates to leaf applications.

If you are a GNOME user, please install the update from updates-testing and give it a quick spin and leave karma in the feedback section at https://bodhi.fedoraproject.org/updates/FEDORA-2020-194da76ba0

Thanks!

Out of box H.264 and AAC support in Fedora 31 Workstation

Up until now, playing video files has been problematic in Fedora as we haven’t been able to include the necessary codecs for popular video formats. This is now changing in Fedora 31 Workstation.

We have two independent changes that landed just yesterday:

  • gstreamer1-plugins-bad-free 1.16.0-4.fc31 adds support for AAC, which is the audio format used in most .mp4 videos
  • gstreamer1-plugin-openh264 2.0.0 package adds support for main/high H.264 profiles, which is the video format used in most .mp4 videos

These changes together enable .mp4 video playback without having to use extra third party repositories such as rpmfusion.

The openh264 codec is available through the fedora-cisco-openh264 repository that we include by default, but is set to enabled=0. You can either edit /etc/yum.repos.d/fedora-cisco-openh264.repo and edit it to enabled=1, or just rely on gnome-software automatically offering to install it and enable the repo when playing videos through Totem (note that you need to grab fixed gnome-software from updates-testing for this to work).

AAC support is enabled through the fdk-aac-free library that is included on the install media.

gnome-software mini hackfest

I am in London this week visiting Richard Hughes. We have been working out of his home office and giving some much needed love to GNOME Software.

Here is the main thing we’ve been working on:

Source selection drop down

GNOME Software now has a drop down list for choosing which source to use for installing an app. This is useful when someone has multiple repos enabled that all provide the same app, e.g. GIMP being available both as an RPM package from Fedora and a Flatpak from Flathub.

Previously, GNOME Software treated each version as a separate app and all the apps that were available from both Fedora and Flathub suddenly showed up twice: once for each source. This made browsing through featured apps and categories annoying as there was much repetition. Now instead GNOME Software consolidates them together into one entry and makes it possible to choose which one to install.

Richard worked mostly on the backend code and I did the user facing stuff. Allan Day helped us over the IRC with all the design (thanks Allan! you rock). It was so nice to be together in once office and be able to bounce ideas back and forth. We are hoping we can maybe start doing this more often.

This work is now on GNOME Software git master and will be in Fedora 30 as part of GNOME 3.32. If you are maintaining a Flathub app where it has its desktop file renamed, please check to make sure it has X-Flatpak-RenamedFrom correctly set in the .desktop file. This is needed for GNOME Software to correctly match renamed apps in Flathub to non-renamed ones available from distros. If the key is not there, it should be just the matter of rebuilding the app and it should automatically appear.

Some apps that have renamed desktop files in Flathub need https://github.com/flatpak/freedesktop-sdk-images/pull/122 to land for this to correctly work. Hopefully we can get this part sorted out next week.

It was a fun week and thanks to Richard for letting me stay at his place, and thanks to Red Hat for sponsoring my travels!

GUADEC 2015 badges

Just one week to GUADEC 2015 in Gothenburg! 7 days!!!

I hope you are all as excited as we are in the local organizing team.

We made a nice badge if you want to blog about the conference. Grab it here and if you are quick, you might be the first person to use it!

And don’t forget to register! https://registration.guadec.org/

See you all in a bit.

badge

What’s new in GNOME Software 3.14

We have been working hard over the past 6 months to make GNOME Software even better compared to the previous 3.12 release. Here’s a quick status update what the new 3.14 release brings.

Refined front page

Thanks to the design help from Allan Day and Lapo Calamandrei, we’ve made a number of improvements to the front page:

gnome-software-3.14-overview

Improved update experience

  • We’ve landed redesigns for reviewing previously installed updates, which are now shown in a separate dialog.
  • It turned out that a lot of people were unhappy by too frequent update notifications, and we’ve listened: the notifications are now much less frequent. Security updates are time critical, and to make sure those get installed, GNOME Software nags daily. Other updates are now offered once a week, or you can opt to install them earlier through the GNOME Shell shutdown dialog at a convenient time, if you are rebooting / shutting down anyway.
  • Update details now include the full package version when you click on an update. Again, a much requested feature by power users who want to know what they are installing.
  • The updates page now shows the time when updates were last checked.
  • It’s now possible to disable the background update checks altogether through a hidden setting: ‘gsettings set org.gnome.software download-updates false’

Application add-ons

No need to go back to using command line tools to install plugin for popular apps. They are all now available through GNOME Software in the app details page:

 Usability testing

Jim Hall recently published the results for the usability tests he conducted as part of his Master’s program. One of the four apps tested was GNOME Software. We’ve looked through the issues pointed out and have already done a number of changes to take the usability research into account.

New first run dialog which explains what the app does:

Moved the Install / Remove buttons down from the headerbar to a more prominent position:

gnome-software-3.14-app-details

Support for Arch and Debian and openSUSE

It’s no longer just Fedora where GNOME Software is supported! Richard has done a lot of work this cycle to make it possible to run GNOME Software on other distros besides Fedora. Stay tuned; a number of distros are going to ship GNOME Software this fall / winter.

500 papercuts and countless bug fixes

I am exaggerating here a bit and it is actually not 500 papercuts fixed, but it is still a TON of small issues fixed, hopefully making the overall experience much nicer.

We’ve also had some very nice fixes (THANKS!!!) from people who don’t regularly work on gnome-software. To point out some:

  • Find-as-your-type search by Elad Alfassa
  • New icons for the high contrast accessibility theme by Andreas Nilsson
  • Dogtail UI tests by Martin Simon

Fedora Workstation

GNOME Software is set to be the software installer in the upcoming Fedora 21 Workstation release and Richard and I both have been focusing a lot on making it work really well on Fedora.

  • Fedora has nearly 45% of the apps now covered with appdata, thanks to the huge amount of work that Richard Hughes and Ryan Lerch and Máirín Duffy and all the rest of the Fedora contributors have put into this. But do not mistake this as a Fedora Workstation-only feature; it will also benefit Fedora’s KDE spin for having high quality app descriptions and screenshots. And it will also benefit all the rest of the distros since we’ve tried to get most of the appdata included upstream.
  • A lot of improvement have landed in the stack surrounding GNOME Software. PackageKit in Fedora 21 now uses the hif backend based on the libraries from the DNF project, making the GNOME Software experience much much smoother than with the previous PackageKit yum backend. This is a huge step forward compared to what we shipped in Fedora 20.
  • Once Richard’s work to include repository metadata on the Workstation install media lands, it should make the first launch experience much better by removing the need to wait while the metadata is downloaded.

If you have free time and want to help out GNOME Software, install Fedora 21 Alpha Workstation and give GNOME Software a try and report any bugs you can find. All feedback and bug reports are invaluable and highly appreciated.

Thanks everyone and hope you’ll enjoy GNOME Software 3.14!

Application addons in gnome-software 3.13.3

Thanks to Allan Day’s design and Richard Hughes’ backend work, I was able to implement application addon support in GNOME Software. This week, we have released GNOME Software 3.13.3 and the addon support is available in the release for everyone to try out.

gnome-software-addons-audacious

The screenshot above is for Audacious that was the very first application in Fedora Rawhide to start shipping addon metadata. If you are an upstream author or a package maintainer and want your addon to show up in GNOME Software, it’s pretty easy to do. All that is needed is to drop a small file in /usr/share/appdata/ with the metadata and it shows up. Check out Richard’s blog post I have linked above to see how to do that. Or catch us on IRC, we’re always happy to help.

GNOME Software 3.14.x is going to be the software installer in Fedora Workstation 21, and we’ve already got 3.13.3 available as a sneak preview in Rawhide. Try it, break it, and report bugs!

GNOME 3.10 in Fedora

GNOME 3.10.0 is now available in Fedora 20!

As usual, Fedora tracks GNOME releases closely. Last week, Fedora 20 Alpha shipped with a GNOME 3.10 prerelease, and today have just landed the final 3.10.0 builds, one day after the official upstream release.

If you are already on Fedora 20, getting GNOME 3.10.0 is as easy as applying all available updates.

Otherwise, grab the F20 Alpha live image or upgrade from F19 with FedUp. Do not forget to apply available updates to get the latest 3.10.0 goodies.

And when done testing, leave feedback in the Bodhi updates system: GNOME 3.10.0 update.

Screenshot

Wrapping up Summer of Code

It’s hard to believe that it’s already the end of September. The summer is over, unfortunately, and school is in full swing.

Yesterday was the firm pencils down date which marks the end of this year’s Google Summer of Code program, and my internship with GNOME.

Yesterday was also the GNOME 3.10.0 tarballs due date, and I’m proud to have my work included in core modules.

The internship was roughly divided into two. The first half was from late June until GUADEC, and the second half ended just now. My work with the Date and Time settings was also naturally divided into two – one part was redoing the Date and Time panel in gnome-control-center, closely following Allan Day’s mockups, and the other part was implementing a new plugin for gnome-settings-daemon that handles geolocation.

This is all now completed. The new control centre panel landed in GNOME 3.9.90, and the settings daemon plugin in 3.9.91. If you are running Fedora 20, it’s already available there.

My work was not only limited to these two modules. As they say, “When something is broken, fix it” – and I tried to follow that principle as much as I could. This meant adding support for GtkListBox in Glade; adding new listbox API in GTK+ and fixing listbox accessibility issues there; adding new time format modifiers in glib; fixing crashers in geoclue and so on. Whenever things got in my way, I would fix them instead of adding workarounds in my own code.

One of the highlights of the internship was GUADEC. Since the GNOME team is all scattered around the globe (or at least I thought so, previously!), it was a rare opportunity to meet other gnomies face to face.

Truth be told, I’ve now discovered that I am not alone – Andreas Nilsson and Mattias Bengtsson are also from Gothenburg and we are now regularly getting together. If anyone else from that part of Sweden is reading this, please join us for the 3.10.0 beers: https://wiki.gnome.org/BeerInGothenburg/Version3.10

Although the GSoC is over, I will still be around and are going to continue maintaining the gnome-settings-daemon datetime plugin and the gnome-control-center datetime panel. My plans for the 3.12 cycle include splitting out the control centre CcTimezoneMap widget and other related code into a separate library to be able to share code between control centre, settings daemon, gnome-initial-setup, and distro installers.

It has been a productive summer for me and I hope I’ve managed to make the corner of GNOME I worked on more pleasant to use. None of this would have been possibly without my excellent mentor Zeeshan Ali and his work on the geolocation libraries. I would also like to extend big thanks to Bastien Nocera, Rui Matos and Matthias Clasen – thank you, without your code reviews and help I would not have been able to land my work.

Hope to see everyone around, and I hope other GSoC interns are going to stick around as well. Thanks for having me, and happy hacking!