Hacker News new | past | comments | ask | show | jobs | submit login
KDE Connect Now Available on iOS (apps.apple.com)
444 points by emilsedgh on May 14, 2022 | hide | past | favorite | 122 comments



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.


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!


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.


So nothing on Apple servers is written in Swift, interesting. I guess that is because Swift is aimed at replacing ObjC in the app programming space.


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.


> 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

Not even Eddie?


Aside from what the sibling reply said (which is definitely true), he also can’t really come post on HN about it.

But i suppose if he made a top down order to enumerate things he might get a good idea. But Apple is just.. kinda weird. Things can be a secret even to the reporting chain above the people working on them. Certainly the specific tech being used can be closely guarded.

And then there are just several different infrastructure systems things are on, with varying degrees of openness, and most of them designed to resist tampering or unplanned inspection.


He probably has a very good macro-view of things but unless it’s strategically relevant to what his part of the org is doing I don’t think he cares about what languages are used and what runs on the servers.


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.


It’s not unreasonable from the outside to think a custom server-tuned version of Darwin would make sense for Apple’s in-house server needs.


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.


To be honest, I have yet to see a company where internal things are not mostly stuck together with duct tape.


Probably Google?


Doubtful. Even their customer products used different OS. It’s probably a controlled mess.


There is that meme about trying to get something into production at Google. And I thought nothing's worse than Facebook.


It shows.


But why would they spend any energy on developing and maintaining Darwin for that purpose when Linux is already there and free?


Yeah, maybe in some parallel reality Apple poured a ton of effort into Darwin as a standalone platform and made it a great server OS. It's hard to imagine nowadays, but there was a time when it seemed like it might not be such a fantasy. It's probably still technically possible, but I have a hard time seeing how it makes sense for them.


So they can use servers? And those people who write that software for those servers can test.

You think iCloud is off Mac minis?


I figured they would have an internal build of macOS for servers, seems like the logical thing to do.


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.


Okay, but they're Apple. They could add jails. They could even hack it in by dropping in FreeBSD code, again. (Yes, XNU isn't really BSD, but they're kind of BSD when facing towards userspace so it should work.)


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.


If it only made Darwin jails, then it could still run any native software, and would likely end up running a lot of homebrew/macports. (This started by discussing Apple internal servers, so just running their own stuff plus nginx et al. would be fine.) Or, they could take another cue from FreeBSD and illumos and add a Linux personality, or do like illumos and NT and bake in a VM that was seamlessly integrated and use an actual Linux kernel to run stuff.


> 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.


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…


Which apps can read your texts on a Mac?


the messages app


Which non-apple apps can?


Anything with SQLite3: ~/Library/Messages/chat.db


messages


I get similar functionality from Google Voice


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)

1: https://github.com/grimpy/mconnect


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 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.


Shortcuts are not yet implemented but on the list


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've got a shortcut which you apply through sharing on pictures (or lets you select them from Photos if you call it directly), and calls a script on my server which takes the picture as data on stdin. The script on the server processes the picture and puts it online on my webserver, and returns the new URL back on stdout. The shortcut takes that URL, puts it in clipboard, opens it in Safari, and offers you to send it via Airdrop to somewhere.

Works on iOS and macOS, and on macOS I have a variant that calls the shortcut but with a screenshot, i.e. it first asks me to select a part of the screen and uses that.


I’m interested in what they’re talking about as well (non kde) sounds cool as heck


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?


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!


> 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.


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.


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.


Very clever


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


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.


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.


It should work if you manage to share a network connection through Bluetooth between the devices.


IIRC there is a bluetooth build for Android since a few years ago. Too buggy/beta though.


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.


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.


The KDE Connect → global Android clipboard direction still works like before (I think; my phone is rooted but I didn't do anything special to KDE Connect). In the other direction there's the "Send clipboard" button which is good enough for my needs.


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 :)


Had used it on Windows. The functionality is good. Quite buggy though.


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.

[0] https://community.kde.org/KIO


The copy paste between multiple devices work fantastically.

For sending files, I would like to send HEIC instead of JPEG files. It doesn’t seem possible right now.


this is incredible, I'm so glad to hear it


This is super cool! I can't believe I haven't run into KDE Connect even after years of using Linux desktop


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


Is it possible to use this without a phone, just connecting 2 PCs ?



Yes, any 2 devices, e.g. also 2 phones.


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!


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 don't. I think just because HEIF is not popular a lot of services does the conversion first and then transfer.


I made a shortcut for this, to convert to jpeg then send by airdrop.


If you want then in jpeg then why do you do the conversion. You can have your device take pictures in jpeg.


I like HEIF and live photos, but sometimes I need JPEG to use in a work document.


would be cool if it could emulate a joypad


At the very least you can control your desktop cursor with your finger.


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.


I use it with i3 and don't have a particular amount of KDE daemons running


Other applications can implement KDE Connect's desktop API so that they all work with KDE Connect's app. Eg: Gnome's GSConnect


GSConnect runs under Gnome and doesn't load any kde components. There are probably other implementations as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: