Adoption of Flatpak vs Snap

A recent blog post says that KDE is still undecided on which containerized application format to support. Inspired by a post in a heated discussion on Phoronix I decided to investigate on my own how well various distributions support either format, so here’s a table with the results:

Flatpak Snap
Arch Linux Extra / Latest release Community repo /
Out-of-date
Debian Latest in Stretch Latest in Stretch
Fedora Latest release (F24 and newer) Not in main distro /
COPR outdated (no F25)
Gentoo Overlay with latest release Overlay outdated
Mageia Not available
openSUSE 0.8.0 in Tumbleweed, latest in review Failed and outdated builds in add-on repo only
Ubuntu Latest in Zesty Latest in Zesty

Given these results alone, I’m quite frankly pretty puzzled how the jury could still be out and that’s completely ignoring the centralized nature of Snap. Distributing AppImages via Steam makes more sense than Snap (Steam has the same centralized nature as Snap). Not only does every somewhat mainstream distribution ship Steam in some non-free repo, it would also allow us to distribute applications to Windows and macOS.

Even Snap’s home turf, Ubuntu, supports Flatpak since 16.10. Canonical employee Zygmunt Krynicki (zyga) was tasked to package Snap for various distributions but didn’t touch most packages since about half a year (no idea why). The COPR for Fedora does neither ship the latest Snap release nor does it support the latest Fedora version (F25). Builds in the OBS repo for openSUSE all fail, even though openSUSE also uses AppArmor, which Snap relies on for its security features instead of SELinux. The only distribution outside the Debian/Ubuntu ecosystem that adopted Snap at all in an official repository was Arch and that one does not even ship the latest release – despite Arch’s rolling release nature. Meanwhile Flatpak was adopted by every somewhat major distribution except Gentoo (and even there the 3rd party overlay is more up-to-date than Snap’s). Smaller distributions like Intel’s ClearLinux and Solus also adopted Flatpak (I encourage to read the Solus post for some great insight).

Note: I’m not a developer, so I see myself as an outsider looking in on that topic who just wanted to contribute some stats. Although my current focus is packaging (RPM), I had no closer look at either format other than distribution support for the table above. I also disabled comments in this case, just because I don’t want to fragment discussion further. Head to the original blog post if you want to comment on this topic.

Xbox pads under Fedora 24

After the release of Rocket League beta for Linux, I decided to install Steam under Fedora 24 and try it out.

The Xbox controller driver is not installed by default. Get it via

sudo dnf install kernel-modules-extra

Apparently the SteamOS variant of the xpad driver has some additions the normal kernel driver does not (yet) have.

To install it:

  1. Uninstall kernel-modules-extra (if installed; the upstream driver conflicts with the SteamOS version):
    sudo dnf -y remove kernel-modules-extra
  2. Enable negativo17’s Steam repo:
    sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-steam.repo
  3. Install the dkms-xpad driver:
    sudo dnf -y install dkms-xpad kernel-devel
  4. Build the kernel module:
    sudo dkms install -m xpad/4.1

Not sure if I did a sudo modprobe xpad afterwards but now it works. Have fun.

Send Firefox tabs to your phone via KDE Connect

Even though I criticized Mozilla in the past on my blog, in the end I always returned to Firefox as my main browser, as it the most customizable browser while also (nowadays) very fast and stable.

Today I want to talk about how to marry to KDE Connect, one of the most awesome pieces of technology to come from KDE in recent years.

Everybody who once used KDE Connect is immediately hooked to it. Some say it even was the inspiration for Apple’s Continuity feature.

KDE Connect works both ways but the user interface mostly just exposes sending stuff from your phone to your PC which has been an annoyance for me.
Luckily it is solved now. Today I’ve read about indicator-kdeconnect by Viko Adi Rahmawan (EDIT, September 2016: Looks like the project was abandoned. Albert Vaka, one of KDE Connect’s main developers, forked the project and applied a few fixes recently. You can find it at https://github.com/albertvaka/indicator-kdeconnect).
indicator-kdeconnect is mostly a port of KDE Connect to desktops that use App Indicators, such as Ubuntu Unity. However it also comes with a very handy tool called kdeconnect-send that allows you to do just what I was missing: Send links and files from the PC to the phone.

Sending files is IMO not that important as KDE Connect allows to browse the phone’s file system (at least when the phone is running Android 4.4) but sending the current tab to read it on the go is where the fun is.

To do that you obviously first have to install KDE Connect on both your PC and Android device and then pair your devices.

Then install indicator-kdeconnect. For (K)Ubuntu the necessary steps are outlined here. I packaged the tool for Fedora myself, available here.

The third step is installing Launchy for Firefox.

The fourth and final step is to manually edit launchy.xml. Details how to do that are outlined in Launchy’s Preferences window.
The code you have to add to Launchy is:
<?xml version="1.0" encoding="UTF-8"?>
<configurations xmlns="http://launchy.mozdev.org/configurations">
<application>
<label>KDE Connect</label>
<type>1</type>
<command>/usr/bin/kdeconnect-send</command>
</application>
</configurations>

After you restarted Firefox you should have this button:
Launchy

On Android it then looks like this in the notification drawer:
Screenshot_2014-11-22-01-21-28

Have fun!

PS: I didn’t yet investigate why it’s not building under openSUSE. I send the spec file upstream. If you have a fix, please sent it upstream as well. Also no (Build)Requirements for Mageia are currently in the file. Again: If you have Mageia and want to make this tool available there as well, please send your additions directly upstream.

Very short 4.8 first look (from a user’s perspective)

The release candidates of the 4.8 generation are out since a few days and now also openSUSE packages are available in the KDE Unstable repository.

Release candidates by KDE are usually very solid with incomplete translations as biggest drawback but since translating is usually done during RC phase, it’s to be expected.

Plasma Desktop

I’m not a friend of bright desktop themes which is why I always change the Plasma theme from Air to something else on the first day and never see Air again until I do a fresh install for whatver reason. So I can’t comment if the Air theme itself has changed. What I noticed when I switched to Air out of curiosity was the giant size of the clock:


This is in Air alone. In the dark Oxygen theme the clock looks not like someone screaming at me that my eyes are bad. 😉

Possible theme changes aside, from an end-user point of view, the desktop hasn’t changed.  The device notifier uses new technology inside but it looks and behaves just like the old one.

There is a slight graphical glitch in Plasma Network Management but openSUSE has some random (likely untested) git checkout of that in its Unstable repository, so I’m not sure if that’s a Plasma Desktop bug or a PNM bug.

A small but nice change in the Oxygen window decoration is that the X button now glows red when hovering it. IMO that improves usability quite a bit:

Dolphin

A big user-visible change is Dolphin 2.0. As Peter explained last August, 2.0’s file directory code is a complete rewrite and it shows immediately. Dolphin 2.0’s workflow hasn’t changed, so there’s no need to re-adjust, but what’s there is a whole new level of polish:

As you can see in that YouTube video (WebM version available), all operations that require icons to be re-sorted have a fluid animation (lags in that video are due the recording process – it’s 100% fluid on my low-end laptop). Directory reading speed is also much better now.

I encountered three small bugs, though. I’m not sure if I’m the exeption or if those bugs are the rule with the new version:

Bug 264434 Dolphin doesn’t remember the columns widths in details view

Bug 281598 Geometry issues when increasing width of information panel (not exactly my problem but Peter closed my Bug 289851 as dupe)

Bug 289850 Size column uses KiB only
Other than those minor bugs, the experience is great!

Kontact

With 4.8 I also bit the bullet and switched to Kontact 4.8. I kept using Kontact 4.4 under KR 4.7 because of its bad reputation. My personal mail accounts – thanks to mailing lists I subscribed to – contain several tens of thousands e-mails. So any migration naturally takes its time.

Overall the experience with Kontact 4.8 is OK. From what I see the biggest problems aren’t actually problems with the programs itself but bad communication by the applications.
I also use Thunderbird for my work-related e-mail because I like to keep work and private mails separate. So I can actually compare both.
Kontact just like Thunderbird index mails for quick search. With as many mails as I have, both TB and Kontact take their time but here the bad communication comes into play:
TB says in its status bar in an unobtrusive manner that it indexes the mails. Kontact says nothing. It sits there, some Akonadi process eats roughly 30% CPU power and no common user knows what’s going on.

So there the problem is that Kontact does not talk at all. In another case Kontact talks too much. When I put my laptop in standby and later wake it  up, I get a notification for each mail account that the resource is broken and that the account if offline because of that.
No, nothing is broken. Standby simply caused the internet connection to be severed.
In another case – when I manually flag a mail as spam – I get the notification that the mail can’t be moved, even though it was successfully moved to the Trash folder at the same time.

So what would common users think? Probably something like this: “Kontact causes high workload and admits it’s broken all the time.”

Another problem is the result of an actual bugfix. KMail 1.x could only handle one operation at the time. This occasionally caused the GUI to freeze. The Akonadi back-end still can only do one operation at the time but now the GUI is responsive. So KMail2 downloaded 7,000 mails from one IMAP account and I could still use the application. So I went to another account (already synced) and wanted to read a mail just to get a “Retrieving folder contents” message for the time it synced the other account. Well, at least KMail told me what was going on.

Luckily such large-scale syncs are a one-time thing. After setting Kontact 4.8 up initially, the experience is smooth. In fact I find it smoother than Kontact 4.4. The GUI freezing fix may cause irritation during large-scale syncs but on a daily basis it’s way better. Bug 193514 has also been fixed. Those two have been two of the most hated bugs in KDE history.
I can’t tell how Kontact 4.6 and 4.7 have been but 4.8 is a solid improvement over 4.4. And no, Thunderbird is not better. It has better notifications but that’s it.

That’s it for now. I didn’t notice other changes so far but from what I gathered from blogs, most changes are under the hood anyway. So you may or may not benefit from them.

Forking the FSF – RMS and Steve Jobs

If you’ve read the blogosphere around GNU (Planet GNOME etc.) you’ve probably heard that some people are really upset about a comment by Richard M. Stallman about Steve Jobs’ death. RMS wrote “Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom, has died” and continued with a requoted phrase said about a corrupt mayor: “I’m not glad he’s dead, but I’m glad he’s gone.”

I’m not sure forking the FSF would solve any problems. Despite what RMS sometimes says, the FSF is broken in its foundations. From the very focused goal to build a completely free operating system called GNU the FSF transformed to ‘everything that vaguely adheres to our standards can call itself a GNU project and we’ll throw an occasional political manifesto on top of it all’.

The FSF doesn’t need a fork. Newer organizations already took over FSF’s former responsibilities: ‘Software Freedom Law Center’ does the majority of legal work. Linux provides the kernel and KDE and GNOME (officially still a GNU project but de facto without relation) provide the userspace tools.

As for RMS himself: I don’t think his political ideals are wrong or go too far. As even Apple itself once said: “people who are crazy enough to think they can change the world, are the ones who do”.
We shouldn’t compromise our ideals of Free Software or – in broader terms – free knowledge for everybody but IMO we don’t RMS any longer because we have more than just him now. People like SFLC’s Eben Moglen reflect more about what they are about to say.
IMO arguments for free software/knowledge weigh more when there is no crazy talk mixed in. It’s a plain fact that while Apple is hardly perfect from our perspective, Steve Jobs made Apple way more open than Apple under John Sculley, Michael Spindler, and Gil Amelio. Everything was proprietary. After Apple bought NeXT and effectively NeXT took over Apple’s operations, suddenly we had an Apple that contributes to GCC, releases its new NeXTStep-derived operating system’s core (Darwin) under a LGPL-like license, creates WebKit, maintains CUPS, and is the main driver of LLVM.

So to get back to the first paragraph: I’m glad we had Steve Jobs. Not only did his decisions result in improvements of FOSS itself, he helped to break the dominance of Windows and let people accept that there are alternatives that not only work as well as Windows but even surpass it.

Get the branding: Unofficial KDE abbreviations list

Sometime last year I expressed my thoughts on the kde-promo mailing list that one of the reasons for lacking support of the KDE rebranding initiative from 2009 was the lack of official abbreviations – after all, “KDE 4.7” is easier to write than “KDE Plasma Desktop 4.7”. I got no responses but for the last months I didn’t really care a lot.

After yesterday’s announcement of KDE Frameworks 5.0 I’ve seen talk about “KDE 5.0” on several web sites. But as anyone into KDE knows, there is no KDE5. Reading the mailing lists and other Planet KDE posts, it seems to me that the Plasma Workspaces won’t necessarily jump to the next major version once Frameworks 5.0 are released.

So here’s the list of abbreviations that I personally use since a while and also saw a few others use as well:

  • KPW – KDE Plasma Workspaces: All shells developed by KDE.
  • KPD – KDE Plasma Desktop: The shell by KDE for desktop computers.
  • KPN – KDE Plasma Netbook: The netbook shell.
  • KF5 – KDE Frameworks 5: Successor of KDE Platform and kdelibs.
  • KApps: KDE Applications: Applications written by KDE.
  • KR: KDE Release: Coordinated release of several KDE modules twice per year. Formerly called Software Compilation (KSC/SC4) or K Desktop Environment. (KR is probably the most common abbreviation as openSUSE uses that since quite some time to refer to its own release repositories.)

So that’s it. Remember: That list is in no way officially endorsed by KDE Promo, KDE e.V., or anyone else.
As with all 3-letter abbreviations: Conflicting meanings exist – be it Kathy’s Patch Works, or a Netherlands telecommunications provider. So use them only if the context is clear.

WTH?!? I need to use AdBlock on AdBlock?

After my last blog post I promised myself to concentrate more on KDE again but this blows my mind:
My AdBlock Plus extension for Firefox was updated recently. Today I opened its context menu and found a huge “Recommend us on Facebook” button in the menu.

WTF?!?

Luckily Firefox’ GUI is itself rendered with FF’s own rendering engine which means that AdBlock Plus can block parts of the GUI.
A quick look into ABP’s forums turned out to have a solution already: Just subscribe to the “Antisocial” list on http://adversity.uk.to/