KDE Connect is one of those unsung features that really should be front and center in Plasma's marketing, and elsewhere, since it is available on more than just Plasma Desktop.
I recommend this to all iOS users that are also on Linux (or run KDE Connect on Windows) because KDE Connect is an awesome piece of software.
I do find it interesting that they've published a GPLv3 application in Apple's App Store, though. I recall the App Store and GPLv3 not going together well, though I must admit that I never cared enough to read into the details.
They acknowledge the GPL conflict in the license file (https://github.com/KDE/kdeconnect-ios/blob/master/License.md):
> … we have committed not to pursue any license violation that results solely from the conflict between the GNU GPLv3 and the Apple App Store terms of service, including the FOSS-specific policies as outlined in sections 3.3.22, 5.1, and 9.1
Looks like it is based on the Mosh waiver https://github.com/mobile-shell/mosh/blob/master/COPYING.iOS, which went in about ten years ago. Blink Shell (which is of course also GPL'd) uses the Mosh code and is available on the App Store.
Apple itself when I worked there was strict on having no gpl3. But everything on the inside is Linux. They even have their own version of arch (and Java and spring boot which is what I did)
why would they create their own version of spring boot? so they have more code to maintain and it takes longer for new devs to get ramped up?
It’s really just the same. The name is escaping me. It basically rips out the parts they didn’t want people to use, configures it how apple wants, and is pulled from the repositories. Just like Java it’s the same shit with some patches. It’s not a true fork.
Why are Apple using Linux instead of macOS?
Darwin is incredibly poorly optimized for server workloads, and it would require a lot of developer resources in the wrong part of Apple. OS dev is all on the 'product' side, under Craig, the part that ships hardware -- Services, under Eddie, are where the server workloads are needed and the two orgs' reporting chains meet at Tim. This is also why Swift on Linux is kind of a (well-intentioned) afterthought that no one is really using on the server side even at Apple, since devtools is also under product.
Server workloads are almost universally run on RHEL of some variety, presumably because (as sibling post mentions) of long term support contracts.
I should clarify: I didn't mean to say nothing[1], but it's certainly not common. The vast majority of server stuff at Apple is written in Java (which goes way back), with Go becoming more and more common and some Rust popping in around the lower level stuff. I'm sure there's some Swift in there somewhere but it wasn't anywhere I could see while I worked there.
Ironically, I was involved in the effort to port swift to linux so you'd think I'd know. The team I was on eventually moved most of our work to Rust (it was, also unusual for apple, written in C before).
[1] And anyone who would ever come into HN and tell you anything about what goes on inside apple could never tell you anything with that level of certainty because even in Services where things are generally more open, stuff is still very siloed and fragmented and no one has a complete picture of what's out there.
Apple gave up on the serious server market ages ago, especially the enterprise market. What else other than Linux are they gonna use? Windows?
Maybe BSD would fit better with their lineage, but Linux has far better enterprise vendor support.
The reality of Apple internal systems: Things are mostly stuck together with duct tape. There is no Temple of Purity.
It's a beautiful fantasy, though.
But why would they spend any energy on developing and maintaining Darwin for that purpose when Linux is already there and free?
So they can use servers? And those people who write that software for those servers can test.
You think iCloud is off Mac minis?
It seems cheaper to just sign a large service contract with a company for which building a server OS is the core competency. Apple is very much not an engineering-first company. They make very logical decisions from a business-first point of view.
They don’t want to port all that software to a secret OS that isn’t supported upstream. Also much of apple, like I was, were contractors. So your there for a bit to do a thing. People know Linux so that’s what they use. Honestly much of what I did was on Amazon Linux 2 because it was just their own custom AMI on EC2
I feel almost disappointed they don't at least run FreeBSD, but I guess it makes sense. They make a desktop OS, and most of the talent on the market has used Linux.
Well, in the old days Apple did use some Xserves.
Lack of native Linux-like containers would be a big one, in the age of container orchestration and clusters.
Man it would be so awesome if MacOS had jails. I’m off Mac, and that wouldn’t get me back on it, but it would be amazing.
They could. Then what software would run on it. What sort of tech talent would operate it.
> I do find it interesting that they've published a GPLv3 application in Apple's App Store, though. I recall the App Store and GPLv3 not going together well, though I must admit that I never cared enough to read into the details.
If they're dual licensing it, it would make sense. GPLv3 has stipulations that Apple's App Store platform refuses to meet, making it otherwise incompatible with the license.
It's more that the GPL and the default App Store licensing are incompatible, because Apple essentially asks you to follow the usual DRM and not copy the app.
Reminder that the KDE Connect app also works with the Gnome Shell version GSConnect https://extensions.gnome.org/extension/1319/gsconnect/
Also reminder that it works with mconnect [1], an implementation in vala.
I'm linking a fork since the original repo hasn't seen any recent commits (at least in master, looks like the owner has been trying to rewrite it first in Rust and now in Go)
I can't find the extension on the gnome extensions website. Getting a 404 when following the readme link: https://extensions.gnome.org/extension/1272/mconnect/
I don't have much use for KDE Connect currently but I've used it in the past. It can be quite handy. It was very useful for replying to text messages when my phone wasn't around, for example.
I do like to see KDE software propagating outside of the KDE world (KHTML is a great example of that).
I don’t see this function in the App Store app, I’d love to use my phone remotely, is this possible without a mac device?
There is also KDE Connect for Android, if that's your question: https://play.google.com/store/apps/details?id=org.kde.kdecon...
Unfortunately this isn't allowed on iOS - Dell Mobile Connect is the only app I know of which has this functionality, and they access Messages via a Bluetooth connection between the computer and the iPhone.
I implemented a daemon for reading notifications (including SMS) on Linux https://github.com/pzmarzly/ancs4linux
Adding support for sending SMS shouldn't be hard, but I don't have time recently to work on that. https://github.com/pzmarzly/ancs4linux/issues/10
Allowing apps to read your texts is a can of worms apple isn’t willing to open.
Unless you own a Mac…
the messages app
messages
I get similar functionality from Google Voice
I repurposed a 2015-ish Macbook Pro as a "year of the linux desktop" dogfooding machine. I am running EndeavourOS (Arch under the hood) and it has honestly been an incredible experience. KDE has come SO FAR from the old days! (to put things in perspective when I first started using KDE, the Linux kernel was on version 2.4)
Really the only thing I miss is iMessage and all of the other "quality of life" things you get in the Apple ecosystem. Definitely going to start using KDE Connect now that I can run it on my iPhone. What a time to be alive!
I use KDE Connect every day. I use it to control the volume and screen brightness of my laptop when it's out of reach and many other things.
The mouse cursor functionality is great and works flawlessly.
I hope this supports Shortcuts, that would make it even more awesome.
I have Shortcuts on my iPhone that issue commands over ssh and perform HTTP uploads and requests (works out of the box on both iOS and macOS), but if I could send e.g. results to a non-Airdrop desktop or would be even better.
Just curious, can you give some examples of what you do with those shortcuts? I just purchased my first Mac and I’ve been looking for shortcut/automation ideas.
I’m interested in what they’re talking about as well (non kde) sounds cool as heck
Shortcuts are not yet implemented but on the list
The killer feature would be message integration, but their own Features page in the app says it’s unlikely.
Dell had a mobile connect app that’s artificially limited to Dell machines on Windows that somehow is able to accomplish this feat.
"somehow is able to accomplish this feat"
Via Bluetooth.
So, in theory, KDE Connect could do it as well? I wonder if it could be an AirDrop peer?
Seemed great, until I installed it and tried to use it. Apparently, you need to keep the app in the foreground to work, making it relatively useless for now.
Looking forward to it getting a proper MVP/beta release in the future :)
Is it possible to use this without a phone, just connecting 2 PCs ?
Reddit says that this should work:
https://www.reddit.com/r/kde/comments/7x80gh/pairing_two_des...
Yes, any 2 devices, e.g. also 2 phones.
Intel had a similar keyboard/mouse app. The experience was seemless and elegant but it was scrapped.
I've tried KDE connect but it does not compare, and is often a little buggy.
I don't know if that Intel software was only about keyboard and mouse but KDEConnect does much more than that. I'm using it with my GNOME laptop and my Android phones and tablet to send files from one device to another one, open browser tabs usually from phone to desktop and occasionally to ring my phone from the desktop when I don't find it. Keyboard and mouse, almost never.
Edit: it also mutes the audio of the laptop when I make or receive a call on the phone.
Probably because KDE Connect was made originally on top of KIO [0] library, which wasn't designed for real time data exchange.
Does it/will it support Bluetooth?
As is usually happens, the places I generally need kde connect are the ones with the worst internet connectivity
Does it not work with a ad hoc wireless network? That seems perfect for situations without a wireless router.
Yes it does, I've done it in trains. Either by sharing the computer's wifi to the phone or the phone's wifi to the computer. It also works with when sharing the phone's connection via USB.
Pretty sure it's IP based, but I haven't really looked.
KDE Connect is LAN/WLAN-based only. I have good experiences (no connection issues that I remember) using it between KDE and Android, and some trouble between Android phones, but last time I tried it would crash on Windows when I slept the computer.
IIRC there is a bluetooth build for Android since a few years ago. Too buggy/beta though.
It should work if you manage to share a network connection through Bluetooth between the devices.
Very nicely done. I can see that it's the first version and there are some discoverability issues. But the functionality is great!
My wish list would be to add the app to the Share sheet when sharing a photo. And on the other side (Windows in my case), it would be nice to have an indicator that the file has arrived.
It seems when transferring pictures they are converted to jpeg/jpg and not as heif.
When I tried the alpha version I remember they were transferred as HEIF files. Perhaps they've changed it recently, but AFAIR there's a setting somewhere on iOS to change the image format. Do you have it set to JPEG somehow?
I made a shortcut for this, to convert to jpeg then send by airdrop.
This is super cool! I can't believe I haven't run into KDE Connect even after years of using Linux desktop
Had used it on Windows. The functionality is good. Quite buggy though.
Is there anything like this on iOS for controlling macOS?
Yes, Universal Control https://support.apple.com/en-us/HT212757 (+ Universal Clipboard)
That's for using macOS input devices to control iPadOS. I was interested in using something on my phone to control my mac. From what I can tell "Switch Control" is probably it, but it looks pretty tricky to setup so far!
this is incredible, I'm so glad to hear it
Looking for more apps designed for the Linux/iOS crowd. Firefox for eg syncs stuff well. Maybe BitWarden?
Damn never knew about this KDE Connect, seems very useful. Definitely gonna give it a try now
would be cool if it could emulate a joypad
At the very least you can control your desktop cursor with your finger.
I have been using it few days. Promising but not there yet.
It loses connection after short time, don't get it back, makes it unusable after while. You can move only few images/files at the time or it hangs. Had some discoverability issues.
It has many cool features, but it's still alpha quality.
I found it to be stable on rolling release distributions. I had issues with it on Ubuntu.
Those are the same issues that seem to plague the Android version.
I've had issues like that too, but somehow at some point I seem to have everything working correctly for many months now.
Android <-> KDE though, so best case scenario.
Shared clipboard is the nicest feature for me.
Which only works in recent Android versions if you root your device and use hacks to give KDE Connect access to the clipboard.
> Remote presentation remote: control a laser pointer on the screen of your computer by moving your phone around.
How does it detect the phone movement and its relative position?
I've used this feature. When you click the pointer button, the "laser pointer" overlay appears in the middle of your screen. When you rotate your phone, it moves on the screen, presumably detecting using the gyroscope. So the way it works is by assuming you are pointing at the center of the screen when you first click (and then hold) the pointer button. It's not a bad assumption, it my experience it works pretty well.
This is also how Nintendo Switch games "emulate" the Wiimote cursor in Wii ports. It's quite functional, even though you have to end up resetting the position of the cursor every 10 minutes or so.
A lot of modern TV remotes have this exact feature too, including stock remotes that come with some LG TVs, and a bunch of cheap third party ones.
Very clever
Not intending to be dismissive, but what’s the use case of KDE Connect for iOS (and indirectly Apple users)?
On one hand, as an iOS user and also owning iPads and MacBooks, I already get all the notifications across all my devices.
I do also use Ubuntu (rarely) hooked up to my tv as a “cheap” media player.
Reading the KDE Connect descriptions, they all describe ways user can connect this and that and get notifications… but still a bit unclear of the value prop.
Could I now, install KDE Connect, and control my MATE/Gnome desktop, w/o converting it all to KDE? (Yeah, I know I can install packages and pick the desktop env… just asking what’s the value prop of and tell me a story of what I can do with this that I couldn’t before)
>Could I now, install KDE Connect, and control my MATE/Gnome desktop, w/o converting it all to KDE?
Yes, yo just need to install Gnome extension https://extensions.gnome.org/extension/1319/gsconnect/ It uses the same protocol. You don't need KDE on your desktop.
As for the "why" part: suppose you have both a macbook and a fedora desktop you want your phone (or an iPad) "integrated" with fedora just as well as with macOS? Here you go.
Thx, last paragraph is the best explanation!
The website (https://userbase.kde.org/KDEConnect#What_is_KDE_Connect.3F) nor App Store description gave such a clear, 1 sentence description as you just did.
If the project and other people here couldn’t explain it, how does this project have an audience beyond the already tech literate?
>how does this project have an audience beyond the already tech literate?
linuxmasterrace...
> owning iPads and MacBooks, I already get
Then it sounds like this isn’t for you. For those of us using Linux, it’s a precious sliver of interoperability.
First off, it is called kdeconnect, not plasmaconnect. Works just fine with any desktop environment.
> I already get notification on all my devices.
Really, you get iPhone notifications on your linux laptop? You can just drag and drop files between your devices? Get Mediaplayer controls for your PC on your phone? Chat notifications and replies?.....
Inb4: No, but between my mac and iPhone.
Yeah, were do you think apple copied these features from?
This looks great!
It is unfortunate that it is KDE based though.. I think having it be DM agnostic would give it more users and contributors.
(I haven't checked, but I assume that even if it can be started with other DMs, it will still require most of KDE's daemons, effectively forcing users to run two DMs at once)
KDE connect, from my understanding, is almost more of a protocol than needing the KDE Desktop manager. I've actually never used KDE Connect on a desktop yet use GSConnect on gnome, Soduto (https://soduto.com/) on mac, etc.
KDE!= plasma. It works just fine on any DE and even windows. Additionally there are reimplemtations like gsconnect,...
> I haven't checked, but I assume....
You assume incorrectly.
Other applications can implement KDE Connect's desktop API so that they all work with KDE Connect's app. Eg: Gnome's GSConnect
I use it with i3 and don't have a particular amount of KDE daemons running
GSConnect runs under Gnome and doesn't load any kde components. There are probably other implementations as well.
KDE Connect has the problem of having KDE in the front of its name, which really limits its adoption. I'm deep in the Linux world and I only recently found out this app exists, works on GNOME and works on anything which ain't a KDE phone - I don't even know if it's a thing.
KDE developers really like their brand name, or at least putting a K in front of their name.
KDE Connect really is a gem. It allows between a Linux desktop and both Android and Iphone a level of integration which you could only have sticking inside the Apple ecosystem or using both a Huawei phone and laptop.
With a bit more polish from a UX point of view regarding desktop integration and better branding it should be a killer feature.
Should've named it konnect
That is actually a brilliant idea!