Fedora, GNOME, Uncategorized

Dark Adwaita and HighContrast Themes for Qt

One of our goals for Fedora Workstation is to run Qt applications in GNOME as seamlessly as possible. Their look should be as close to their GTK+ counterparts as possible, you shouldn’t have to set things on two different places just to make the change in both GTK+ and Qt applications.

A while back, we introduced the Adwaita theme for Qt and QGnomePlatform which makes sure all settings get translated from the GTK+ world to the Qt one. The original Adwaita theme was written from scratch. To write a theme for Qt is pretty complex and the look of Adwaita for Qt was close to Adwaita for GTK+, but not close enough. Then Martin Bříza, who is working on this, decided to change the approach and based the new version on the default KDE theme and kept changing it until he got a theme that is very similar to Adwaita for GTK+. And indeed it’s now much closer than the first version.

Martin also worked on the dark variant of Adwaita for Qt, so that if you switch to this variant, Qt apps still don’t look out of place. Or if there is a Qt app that uses a dark theme it can have a look that fits into GNOME.

Martin didn’t stop there. GNOME also offers a high contrast theme for those with visual impairment which prevents them from using standard themes. They’re also not left behind. If you switch to the HighContrast theme in GNOME Qt apps will switch to it, too.

On the video below, you can see a mix of Qt and GTK+ apps and how they change when you switch between different themes:

These changes should land in Fedora 26 Workstation, but you can already try them out. Martin created a Copr repository. Keep in mind it’s work in progress. If you’d like to report bugs or help with tuning the themes, all the code is on Github.

Fedora, GNOME, LibreOffice, Linux

Installing flatpaks gets easier in Fedora 25

A lot of users complained that installing flatpaks was too difficult. And they were right, just look at the installation instructions on the Flatpak download page at LibreOffice.org. But that was never meant to be the final user experience.

flatpak-logo

Richard Hughes integrated Flatpak support into GNOME Software and the Red Hat desktop apps team worked with him to make sure it works well with apps we’ve already packaged for Flatpak. And this is the result. As you can see installing LibreOffice for Flatpak is now a matter of a couple of clicks with GNOME Software 3.22.2 in Fedora 25:

 

Flatpak allows you to generate a .flatpak bundle which includes the app and all the necessary info for installation of the app and setting up its repo for future updates. You can also create a .flatpakref file which doesn’t contain the app, but all the installation info and the app is downloaded during the installation. This format is also supported by GNOME Software now. LibreOffice offers a .flatpak bundle because it’s more similar to what users are used to from Windows and macOS.

As you can see on the video, installing .flatpak bundles is a matter of downloading the file and opening it directly with GNOME Software or double-clicking it. There is one prerequisite though. You need to have a repo of the runtime the app requires enabled which I had because I had been using the GNOME runtime for other apps already. Installation of runtimes is being streamlined as well. As a runtime provider, you can ship .flatpakrepo file which includes necessary info for setting up the repo and is as easy to install as .flatpak and .flatpakref. For Fedora Workstation we’re currently considering to enable repos of most common runtimes by default, so users would not have to deal with them at all, the required runtimes would get installed automatically with the app.

Fedora

Meeting users, lots of users

Every year, I introduce Fedora to new students at Brno Technical University. There are approx. 500 of them and a sizable amount of them then installs Fedora. We also organize a sort of installfest one week after the presentation where anyone who has had any difficulties with Fedora can come and ask for help. It’s a great opportunity to observe what things new users struggle with the most. Especially when you have such a high number of new users. What are my observations this year?

  • I always ask how many people have experience with Linux (I narrow it down to GNU/Linux distributions excluding things like Android). A couple of years ago, only 25-30% of students raised their hands. This year, it was roughly 75% which is a significant increase. It seems like high school students interested in IT are more familiar with Linux than ever before.
  • Linux users tend to have strong opinions about desktops (too thick or thin title bars, too light or dark theme, no minimize button etc), but new users coming from Windows and MacOS don’t care that much. We give students Fedora Workstation with GNOME and receive almost no complains about the desktop from them, and literally zero questions how to switch to another desktop.
  • The most frequent question we receive is why they have multiple Fedora entries in GRUB. Like many other distributions, Fedora keeps three last kernels and allows you to boot with them via entries in GRUB. When you install Fedora, there is just one entry, but with kernel updates you get the second and then third. And new users are completely puzzled by that. One guy came and told us: “I’ve got two Fedora entries in the menu, I’m afraid I’ve installed the OS twice accidentally, can you help me remove the second instance?” Hiding the menu is not a solution because most students have dualboots with Windows and switching between OSes is a common use case for them. But we should definitely compress the Fedora entries into one somehow.
  • Hardware support evergreen are discrete graphics cards. They’re still not natively supported by Linux and you can find them on most laptops these days and laptops of students are not an exception. So this is currently the most frequent hardware support problem we get installing Fedora. Someone brought a Dell Inspiron 15 7000 series where Fedora didn’t boot at all (other distributions fail on this model, too).
  • Another common problem are Broadcom wireless cards. It’s easy to solve if you know what to do and have a wired connection. But some laptops don’t even have ethernet sockets any more. With one laptop, we ended up connecting to WiFi via phone and tethering with the laptop via a microUSB-USB cable.
  • Installation of Fedora is simple. A couple of clicks, several minutes and you’re done. But only if everything goes ideally. Anaconda handles the typical scenario “Installing Fedora next to Windows” well, but there was a student who had a relatively new Lenovo laptop with MBR and 4 primary partitions (MBR in 2016?!) which effectively prevents you from installing anything on the disk unless you want to lose a Windows recovery partition because MBR can’t handle more than 4 primary partitions. Someone had a dualboot of Windows and Hackintosh which is also in “not-so-easy” waters as well. It also shows how difficult life Linux installer developers have, you can cover most common scenarios, but you can’t cover all possible combinations laptop vendor or later users can create on disks.
  • We’ve also come a conclusion that it’s OK to admit that the hardware support in Linux for the laptop model is not good enough and offer the student an installation in a virtual machine in Windows. You can sometimes manage to get it working, but you know it’s likely to fall apart with the next update of kernel or whatever. Then it’s more responsible to recommend the student virtualization.
Fedora, Linux

Event Report: OSCAL 2016

Last weekend, I attended OSCAL 2016, a conference about open source in Tirana, Albania. I was looking forward to the conference very much because the Fedora community in Albania had been very active recently. I’d met some of the Albanian community members at other conferences, but I was curious to meet others.

The conference really surprised me with its hospitality which was second to nothing. The organizers provided us with a lot of useful information, arranged transportation from the airport to the hotel. What was a real nice touch was a welcoming package which was waiting for every speaker in his/her hotel room. I haven’t seen something like this at any conference before and it must have been a real effort because speakers are spread among several hotels in the city.

The activity of Fedora community in Albania has real results. The user base of Fedora among open source enthusiasts in Albania seems to grow really fast. Fedora was by far the most popular distribution among OSCAL visitors and the only one visible there. We had a booth, many Fedora related talks, several ambassadors around.

2016-05-14 12.44.41
Fedora booth

I had two presentations. One was supposed to be a workshop for 30 minutes – “Best Practises in Translating Software”. 30 minutes is too short to make a proper workshop, so it was rather a practical talk. It was targeted at beginning translators, because I know there are quite a few people starting with that in Albania. But when I asked the audience who translates software just two hands rose. Others were just interested in the area. My second presentation was about Fedora Workstation (who is it for, what we have achieved, what we’re brewing), the room was pretty full and there were quite a lot of questions which is a sign that it was interesting for the audience.

At the end of the second day, there was a Fedora community meetup. There were experienced ambassadors from abroad (me, Giannis, Robert Scheck, Ardian,…), local ambassadors (Jona), other local contributors (Elio, Boris,…), and other people who were interested in joining the Fedora Project. We discussed what the Fedora Project can do for the local community to keep growing. We also talked about translations of Fedora and GNOME to Albanian. There are many new people translators, but the coordinators of translations that approve new translations are either inactive or reluctant to accept new contributions. Six years ago, I helped with a similar situation in the Slovak translation team, so I gave local contributors advice how to start processes to resolve it.

A couple of community members were interested in becoming ambassadors. There were three ambassador mentors (me, Robert, and Giannis) and we shared with them what are our expectations, that there is no limit for ambassadors per country. If there are enough active people, there can be even 10 ambassadors in Albania. We as mentors just have to make sure that the candidates are ready and are willing to contribute in longer term.

What was also very special about OSCAL was a number of women at the conference. Over 50% of attendees and 70% of organizers were women. That’s something you don’t see anywhere else. They’ve naturally achieved a gender diversity communities anywhere else in the world are struggling to achieve. When I ask why is that they told me that it’s because there are many women studying computer science. One girl told me that in her study program there are 190 women and only 10 men. Why are there so many women studying computer science? I was told it’s because girls are encourage to pursue this career path and IT is considered one of a few industries where you can get a job and earn good money. But I was also told that there are many women in other technical fields such as math and civil engineering. So it’s not only because IT would be the only attractive field there.

I’d like to thank the Fedora Project for sponsoring my flight ticket and I hope Fedora will be even more visible at OSCAL than this year.

2016-05-14 12.45.07
Mozilla booth
Fedora, Uncategorized

Get Notified of Crashes in Your Packages

ABRT project produces very helpful statistics about crashes in Fedora. We in the Red Hat desktop team have been using it intensively for some time. I’ve already written about it in one of my previous posts. It’s really helped us make Fedora much more stable.

Call me Captain Obvious who just discovered America, but until now I had a very little idea about the fact that I can filter messages from FAF and make alerts. So when a problem in one of my packages reaches, say, 1000 occurrences I receive an email or IRC message that there is a severe enough problem to look at.

This is pretty useful for every Fedora packager and I think most of them are still not aware of it. If you’d like to set it up, go to the Fedora Notifications app, log in, choose either email or irc settings, click “Create a new filter”, and pick one of the available FAF rules. You can be notified of every single reported crash or (as the other end of the scale) you can set that you won’t be disturbed until the problem reaches 1,000,000 occurrences. It really depends on how popular and “crashy” your packages are. Just check the FAF stats and set the limit accordingly.

Of course, it’s just a very little subset of Fedora Notifications settings. This tool is very powerful, you can pick many other rules, combine them, and create filters tailored right for you. Kudos to our infra team for it!

Fedora, GNOME, Uncategorized

Batch file renaming in Nautilus

I and Carlos Soriano, the upstream maintainer of Nautilus, have been discussing if batch file renaming is a feature that makes a sense for the default file browser in GNOME and Fedora.

I’ve seen quite a few users complaining/wishing for the feature and competition has it. Finder in OS X has probably the most advanced batch file renaming, but Windows Explorer and Dolphin can do it to some degree, too.

There are a couple of plugins that add the feature to Nautilus, but they’re not actively maintained, they haven’t been for years. So if we want to make this feature available to users, it’s probably better to include it in Nautilus directly than relying on any of these plugins.

Is is something you miss in Nautilus? Do you use any other tool or even the Nautilus plugins to perform such a task? What are use cases typical Nautilus users have for such a feature?

Fedora

Time to revisit how we’re doing updates?

Fedora 22 is out and it’s again the most quality release we’ve ever released. Our quality assurance is improving and on the developer side, we’re also trying to do our best heavily using ABRT retrace server to prioritize bugs that affect many users. Unfortunately while the quality of releases itself is improving, the quality of updates that follow the release is not.

There are still too many regressions. I’ve installed Fedora on computers of my relatives and they’re happy with it, but sadly I can’t let them do updates themselves because there is still a high risk that they might end up with a broken system. I update their systems myself and always check whether everything is working when I pay them a visit. If we want to attract a larger user base, average users can’t be afraid to update their systems.

IMHO our current updates setup doesn’t ensure the required quality. It’s pretty much a “one-size-fits-all” approach. The kernel, the most critical part of the system, needs the same number of + karmas as some small unimportant, self-contained utility. Updates of critical components get to users too quickly without much of testing. I’ve got updates-testing repo enabled, but whenever I find a (critical) regression it’s very often too late because the update already got +3 karma and made it to the stable updates. Yeah, I already have the “Missed the train” badge 🙂

While Bodhi is too fast for standard updates, it’s too slow for critical security fixes. Especially in older supported releases (F20 now). There are not many testers willing to test updates there. The active community are usually early adopters who jump on new releases early and a several-month-old release is history to them. Then security updates just get stuck in Bodhi waiting for stable karmas.

What to do with it? I truly believe we need batch updates. One pack of updates, say, once a month. We would collect updates in updates-testing for 3-4 weeks, then freeze it for a week, so that even the latest updates have some time to be properly tested (I can imagine the pack of updates gets some more structured testing like our releases do for example). This way, individual updates would get much more time to be tested and the monthly update could be tested as a whole. I believe it would improve the quality of updates and users would not be under the fire of updates (it’s actually one of frequent complaints that there are too many updates in Fedora).

I don’t see a lot of downsides there. Who’d like to get updates as soon as possible could still enable updates-testing. This actually could build an even bigger community of update testers which would again help improve the quality of updates.

Any security updates? It’s clear that they can’t wait for a month to reach the users. They will need their own process. But I think it’s clearer and clearer that they will need their own process in the current setup as well. Maybe pulling in the security team which would evaluate proposed security updates and if they approve them as critical they will get into some fast track?