KDE Connect: Making friends between Android and the Linux desktop

It would seem like all the big proprietary operating system vendors are working on knitting their desktop and mobile platforms tighter together. KDE Connect steps in to fill this gap between Linux and Android by acting as a bridge between the two.

KDE Connect enables features such as clipboard sharing and file transfers, but like its counterparts on other platforms, it’s far from perfect.

KDE Connect consists of an Android app and background service the runs on your phone and a helper process that runs on your Linux desktop. You can also use it with two phones or two computers – or even several more devices of both types. I’ve set it up with two Linux desktops running GNOME and a Nexus 5X running Android version 6 (and later ‘N’ Preview.)

KDE Connect is optimized to work for the KDE/Plasma desktop environment. Of course, as I’m using the GNOME desktop on a day-to-day basis it made more sense for me to review how KDE Connect fairs under GNOME rather than Plasma. Unless noted otherwise, all issues and odd behavior discussed in this review will have been tested under recent versions of both GNOME and KDE.

KDE Connect is clearly a work in progress. I’ll review it as-is for what it’s because I see the potential in the product, and not because I want to be mean to the developers. If I didn’t like it, I wouldn’t be bothered by reviewing it.

I’ll go through KDE Connect’s main features and discuss each of them in detail:

Clipboard sharing

Clipboard sharing generally works very well and is virtually instantaneous. You copy something from an app on your Android device, and can paste it right away on your PC or vice-versa. I’ve found this to be the most useful of KDE Connect’s features, especially when it comes to sharing URLs between a web browser and a mobile browser.

“KDE Connect” also shows up in the Share menu on Android. If I’m in a mobile web browser on Android and choose the Share menu: Copy to clipboard, I get the URL and can then paste it in the browser on my PC. If I choose KDE Connect in the Share menu, the current page’s HTML is opened in my default text editor (Kate when I’m using KDE, or gedit when I’m using GNOME) on my PC automatically. I would have hoped that it just opened the URI and opened it using standard methods for opening arbitrary URI protocols in any desktop environment, but it seems to literally share the HTML file to a text editor instead. I’m puzzled as to whether this is the intention or a weird quirk with how KDE Connect has been implemented.

The clipboard sharing sometimes fails, and there’s no indicator on the desktop nor on Android to show that it’s working. This can make it a frustrating experience when Android has decided to either temporarily shut down Wi-Fi or the KDE Connect background service to save battery power or free up device memory. It’s generally working very well, but as it sometimes does fail without giving any indication of it having failed it’s hard to trust that KDE Connect “just works” all the time.

I’ve never overwritten the clipboard on one device with the contents of another. It would seem that mentally, I’m only capable of managing one clipboard so having them synced between devices seem to be a good thing. The only trouble is when I’m using Windows or MacOS, and it takes a second to realize that I can’t share the clipboard between devices. It only took a month before I started expecting it to work every time with all of my devices.

The clipboard sharing functionality doesn’t work when running the Wayland display server due to Wayland having much stricter security policies than the old X window server. Wayland is about to become the default display server in many Linux distributions so this is kind of a big issue. I believe we’re one release-version off from the honorable X giving way for Wayland in the more forward-thinking Linux distributions. See KDE bug #359747 which unfortunately lacks any acknowledgment from the KDE Connect developers.

File Transfer-esque

KDE Connect lets you send files between your PC and phone. As of now, this is more a proof of concept than a fully baked and usable feature. It requires some fore-knowledge about how it works and this isn’t documented nor intuitive to deduce.

Sending from your phone to the PC involves either opening up the app and choosing “Send file” or choosing KDE Connect as a Share-destination in supporting apps. The experience here’s about as good-as-it gets for the native Android user experience. On the receiving end on your PC, the file will silently appear in the ~/Downloads folder. If you’ve enabled notification syncing, you’ll get a notification about the transfer synced from your phone. There are no notifications on the PC beyond what is synced from your phone. The notification will not identify where the file was stored, however.

To transfer in the other direction from your PC to your phone, you’ll need to be using the Dolphin file browser. Right-click on any file and choose Send to KDE Connect which will then open a dialog where you can choose which of your KDE Connect-enabled devices you want to transfer the file to.

When you transfer files from your PC to Android, they’re stored in /storage/emulated/0/kdeconnect/PC-hostname which isn’t only inconsistent with where files end up on the PC, but also inaccessible without a third-party file manager. The only folder where arbitrary files are available without the aid of a third-party file manager app is the Downloads folder using the Downloads app (installed by default.) Interestingly enough, the Download folder in the user’s home folder is where files sent from the phone end up on the PC.

One of the biggest problems with the file transfer functionality is that only small files are supported. If you attempt to transfer a larger file it will report back that the transfer worked without transferring the whole file. When transferring photos and movies off a phone, you’ve to manually verify that you’ve got the whole file transferred to your PC.

KDE Connect Monitor on the PC has an unlabelled button with a files and folders icon. Under GNOME, pressing this button will open a meaningless folder in the GNOME File Manager. Pressing this button under KDE will open the Dolphin file manager and give read-write access to the Android device’s internal storage from within Dolphin. Why this button can’t open Dolphin when it’s installed in GNOME and obviously must be opened with Dolphin to provide this functionality is beyond me. I’ve no idea how this extension is implemented in Dolphin, but the integration in KDE could have been done in a better way than “show this special-purpose folder in the environment’s default file manager”. For example, associating a new URI with Dolphin for this purpose would have made this work more reliable.

A feature that I would like to see being added here’s the ability to choose the Camera as a media source when transferring from Android to the PC. In Android apps, you’re are often asked whether to browse your existing files/gallery or whether you want to take a new picture or video recording when choosing a file to transfer. Having this as a quick way to take a photo using the phone and transfer it to the PC directly would be very useful. I hope to see this standard Android user interface component implemented in the app in the future.

Notification hell

Keeping notifications on your PC and phone in sync is such a good idea in concept. However, in practice it’s absolutely terrible and it’s not KDE Connect’s fault.

I find most notifications distracting and I come at this from the premise of wanting to reduce my amount of distractions and notifications. Notifications are a systematized distraction and productivity nightmare. This was definitely not a design goal for KDE Connect, and this will taint this part of the review significantly – but hear me out on this.

The gist of the notification sync feature in KDE Connect is having notifications show up on both your PC and phone at the same time. However, dismissing a notification on one device doesn’t dismiss it on the other. If you’re receiving a chat or email notification, you’re likely receiving it once on your PC and once on your phone. KDE Connect is set to push the notification you got on your phone over to your PC, so you now have three duplicate notifications of the same thing. Each arriving within a few seconds of each other.

There’s a great need for better integration into notification systems and a better understanding of each notification. For KDE Connect to be useful, it would have to deduplicate notifications even when they’re arriving from different programs on different devices. If I’m currently active on my PC, the notification on my phone must be suppressed when it shows up on my PC. Otherwise it’s literally just adding more noise.

But it’s not just that different systems create duplicate notifications. KDE Connect itself also introduces more notifications than required. Missed calls on your phone show up on your PC from the dialler plugin in KDE Connect, and from a synced notification from the Android system UI, as well as from the ringer app on the phone. Three virtually identical notification about the same event is thus trust into your PC’s notification system.

KDE Connect puts all the responsibility for making synced notifications a good experience on the user’s ability to micro-manage their own notifications.

You can micro-manage and tweak notifications in both the Android system and the KDE Connect app to choose which notifications are to show up or be synchronized to your PC. This would take hours to properly configure and doesn’t address how you’d get certain notifications back to your phone only if your PC is inactive or unavailable. It takes real commitment to tune this setup and to gain any value from it.

According to the KDE Connect developers, a future version of KDE Connect from Android will introduce the ability to reply to SMS messages from your PC, but no word on whether it will work with Android’s reply-to-message-type notifications from just about any messaging app or just the SMS system. The same version will also introduce the ability to push notifications from your PC over to your phone.

Remote input control and command execution

You can remote control the mouse cursor and send keyboard inputs through the app, but you can’t see the screen of the device you’re controlling. I’m not entirely sure when this is supposed to be useful, but it’s there and it does work quite well. I mention it in the review as its one of the features that work the best even though it’s mostly a novelty feature.

Without some form of screen sharing, you’re completely dependent on seeing the actual screen. You could normally just reach out and use the keyboard in this situation, but in a home multimedia center setup, this could still prove useful.

There are user interface elements in the app for multimedia controls, but I haven’t been able to get it to respond when using any multimedia applications. I’m not sure if it’s supposed to work at all, but there’s a video demonstrating it in action floating around the web.

Rather than trying to integrate with some media applications, the app could have sent the semi-standard key codes for multimedia keys. Multimedia keys, found on many keyboards and laptop keyboards, works well with most media programs already and would have made the multimedia control feature available to more users and required less implementation effort.

Conclusion

KDE Connect has potential but it definitely needs a lot more work. It clearly doesn’t have a defined goal or purpose, and tries to be a little bit of everything to everyone. It’s in desperate need of some focus and more polishing of existing features before trying to cram in any more features.

The name KDE Connect makes it sound exclusive to the KDE Plasma desktop environment, but there’s no reason why it should only work for KDE. I would like to see the project rebranded and extend a hand to other free desktop environments. It would strengthen the project and draw in more users and hopefully more developer interest.

Based on some of the behaviors I’ve observed, I think it’s fairly safe to say that KDE Connect works in mysterious ways. There are standard methods available to achieve much of the desktop environment/Android system behavior they’re going for, but the developers seem to have chosen their own way of doing things for most of it.

All the extra features are nice to have, but the killer feature for me is clipboard sharing and it could be direct and simple photo transfers. If the latter could be made to work more reliably and accessibly, I think KDE Connect would have had a good core product. With a more focused core feature set, it could even set out to expand to cover platforms like MacOS and Windows.

KDE Connect as it appears today is a good clipboard syncing utility and the other features are fun little toys. However, as the clipboard sharing feature is at risk due to the Wayland situation, you shouldn’t grow too attached to KDE Connect until that issue is fully resolved.

Pro: High marks for concept and innovation. Cons: Poor execution, branding limits potential reach.

You can download the Android app for free from F-Droid or Google Play Store. You’ll find the kde-connect package including its control panel module in the package repository of most recent Linux distributions.

I tested version 0.9 of KDE Connect, with Plasma Desktop version 5.6.5 and GNOME Desktop version 3.20.2; all as distributed in Fedora Linux 24. The Android app version 1.2 was used for this review.