Smooth inter device interoperability
Open, WishlistPublic

Description

Description

This is from a user's perspective. I cannot really say something about the technical details.

I'd love to have a fully integrated working across all my devices for all KDE apps.
For example, this would contain tasks like:

From mobile device to desktop

Already possible with KDE Connect:

  • Share clipboard.
  • Controlling mouse and keyboard with the other device.
  • Send tickets from KMail to the mobile device (Itinerary).
  • Send data from one device to the other.

Currently not possible:

  • Transfer your accounts, passwords, 2FA tokens to the other device (so connect Keysmith, KWallet, Akonadi with a pendant on the mobile phone).
  • Have different trust zones of sharing (I cannot comfortably share a file with a friend's phone per KDE Connect without giving access to a lot of other things).
  • Share connections (I do not know, if technically possible at all), so use KDE Connect over Bluetooth to setup automatic WIFI tethering. Use the NFC capabilities of the phone to access it via a desktop app, use your phone as Bluetooth dongle of your laptop, etc...
  • Share live audio/video. Send your phone screen to a desktop, add your phone as audio device on the desktop etc.

Ideally, this should work between a Plasma Desktop and an Android device (with appropriate KDE apps installed on it) and a Plasma Desktop and a Plasma Mobile phone.

Connections between Plasma Desktop and Plasma Desktop (e.g. your laptop and desktop PC).

KDE Connect can also connect PC to PC. It would be nice, to have full integration over this channel here as well:

  • take over (specifiable) desktop configurations like hotkeys, look and feel, or VPN connections
  • share your KWallet and account data (for e-mail, chat, contacts and calender data, so KDE Pim and Neochat)
  • share files in dolphin without the need to setup an SSH/Samba/NFS server
  • implement something like barrier, so share mouse and keyboard
  • share external devices (like sound cards, graphic tablets, bluetooth dongles, mass storage devices, ...)
  • really advanced, allow to drag and drop from one PC to another or even put the program window on the other PC (with something like Waypipe).

Connections between Mobile and Mobile device

  • Allow all KDE mobile applications to send their configuration to another mobile device.
  • Like above: Implement different trust zones, so that it is possible that I can send a hotel reservation from KDE Itinerary via KDE Connect to my friend's phone (without sharing my clipboard etc.) or a mode, where I can send files in a simple way (Android doesn't have one, if I see it right).

A local mode and cloud mode

All features described so far are possible with KDE Connect as underlying service to send data over a local network. It may also be nice to have more cloud integration (maybe via plugins for Nextcloud) to achieve similar results like the above described without the need for being in the same network.

What it will take

I don't really have a clue about the technical details. Unfortunately, I also cannot work on this. I - however - wanted to throw in the idea (without any expectations).

What I think that it will need:

  • Define a protocol to communicate via KDE Connect with another program (or the very same program on another device).
  • Define data that is meaningful to share/submit.
  • Implement the interfaces with a just a few programs or just one program (other programs could follow later).

How we know we succeeded

You can define test cases for all different single points.
Overall, I would say, the task is successful, if you can take a laptop with a freshly installed Plasma desktop and having another full configured Plasma desktop and do not need more than a few minutes to clone the configuration of the full configured desktop.
For the mobile case this test case can be adapted by sharing accounts etc.

Relevant links

Any links that will help people find more information and understand the goal better?

Champions

We want this year's goals to be driven by small teams. Who will be this goals champions if selected? If you don't yet have a small team please mention what you are looking for still so others can step up. We believe a goal generally needs someone who can carry the vision of the goal forward, someone who can technically steer it and someone to promote it.

I do not understand this point. I cannot work for myself on this goal unfortunately but please take the idea, if you find it useful.

The team is:

  • XXX
  • XXX
  • XXX

I am willing to put work into this

  • add your name

I am interested

  • add your name
gerion created this task.Jun 6 2024, 8:40 PM
olib added a subscriber: olib.Jun 7 2024, 1:16 AM

Syncthing's approach to connections outside the local network is something I'd love to see - discovery servers to help clients connect to eachother over the internet (i.e. non-local discovery), and relay servers to help when both are behind NAT.

lydia updated the task description. (Show Details)Jun 7 2024, 8:41 AM
lydia added a subscriber: lydia.

Hi @gerion. Thank you for the submission. I've copied in the template for you. Can you please adapt your content to the template? Thank you!

askembris added a subscriber: askembris.EditedJun 7 2024, 8:58 AM

I came to write up something similar but @gerion had obviously thought through in much more detail!

A couple of my own thoughts on the above:

  1. As an intermediate step, simply being able to export and import "safe" / non-hardware related settings so that they can be transferred from one computer to another is currently needed in my opinion. I would appreciate not having to spend 2 days setting up my apps / packages / automations / scripts all over again when I have a new PC or formatted an old one. The above write-up provides some very good examples of settings that could be included. I guess this would involve maintaining a manifest of all the settings that are transferrable (possibly in a standardised way among KDE apps).
  1. Starting from the suggestions about the connections between different Plasma Desktop, which (I think) imply an on-line synchronisation service with both machines on-line, I would also find highly usable an off-line synch service, where these settings / files are transferred asynchronously between KDE Connect. I think this would also necessitate the use of some cloud service for keeping track of the multiple devices' addresses dynamically, and possibly storing the relevant files / settings, which would incur some costs (off-topic note: this could be a subscription-based service provided by KDE, which could generate some revenue to support operations).

The use case is that I don't keep both my work and home machines always on, and usually if one is on the other is off. In that case, on-line synching would be impossible. Alternative options I would be happy with:

  1. a functionality to select some files / settings for synching on one machine, which KDE Connect would transfer to my mobile phone temporarily. The settings / files would then be transferred to the remote machine when KDE Connect is connected again. This has the advantage that no additional cloud resources are required and the user is always responsible for their own data, at the expense of a slightly less seamless workflow.
  1. KDE Connect could use the storage that the user already has access to through a cloud storage provider (e.g. GDrive, OneDrive, Dropbox, etc) for storing / synching these files and settings, and synch (semi-)automatically even when the originating machine itself is off-line. This would solve the off-line synching problem and would conceivably provide a more seamless experience than Option (1), but I think that it would probably take a bit more effort to maintain, as cloud storage providers' APIs and security settings seem to be constantly shifting and updating. (This is similar to the "local" / "cloud" mode suggested above)
gerion updated the task description. (Show Details)Jun 7 2024, 7:51 PM

About sharing mouse and keyboard: Barrier is no longer maintained, but it was forked as input-leap. Input-Leap now supports both X11 and Wayland, and since the InputCapture Portal is now implemented in KDE Plasma, it will also work on Plasma (previously only GNOME).

lydia updated the task description. (Show Details)Jun 8 2024, 5:26 PM

@davidre @albertvaka bringing this to your attention

lydia added a comment.Jun 14 2024, 6:12 PM

Each goal needs Champions. If no-one is found it will unfortunately not be eligible for voting.

lydia triaged this task as Wishlist priority.Jun 14 2024, 6:30 PM
frdbr added a subscriber: frdbr.Jul 29 2024, 3:54 PM
frdbr added a comment.Aug 12 2024, 7:42 PM

Hello,

Please note that the deadline just around the corner on Wednesday, so now is the time to finalize your proposal. Remember that proposals without a Goal Champion will be disqualified, so this step is crucial to ensure your idea moves forward. If you need help or have any questions, please let me know.

If you’re unable to finish your proposal but still want to participate, consider contributing to other ongoing tasks.

Thank you for submitting your ideas for the KDE Goals!