Collaborate with KDE Connect

I’ve been busy (and will be for some months) with my degree final thesis, and KDE Connect is suffering it with a development slow-down. However, we have received emails from people willing to help and I think that your contributions can be a good way to re-activate KDE Connect’s development. So, this post is for all of you who want to help!

First of all I want to post our own to-do list for KDE Connect, ordered by difficulty from easy to hard. Most of those items can be programmed as plugins, so code will be pretty stand-alone . Of course, if you have your own awesome idea you can also contribute it.

  • Input emulation: Use your phone as a touchpad/keyboard. [DONE]
  • Answer SMS from the desktop: maybe integrating it with Telepathy. [WIP]
  • Share from desktop: send files from Dolphin using a context menu service. [DONE]
  • Reverse media controls:  Add remote controls to the plasmoid.
  • Sync stuff: Contacts, Wifi passwords (will need root acces), etc.
  • File browsing: FUSE or KIO slave to access your phone filesystem. [DONE]
  • Call answering: I have no idea if this is possible and will probably need root access.
  • Port to other platforms: Windows (it already builds using KDE Windows!), iPhone, Blackberry, Jolla…

For now I think we can use this post comments to publicly discuss any issue and organize the development. If there is enough people involved I will set up a mailing list.

And finally I would like to explain to people not from KDE how to contribute to KDE Connect or any other KDE project. To get involved in KDE is easy: We use a tool called review board to submit patches to projects. This allows the project maintainer to review the code, ask for any modifications and finally integrate it into the development branch. After you submit a few patches and they are accepted, you can ask for a developer account so you can push your changes directly (even though you should always use the review board anyway). Remember that patches should be as atomic  as possible, and not include more than one feature.

In the KDE Projects site you will find the URIs of the different GIT repositories to grab the sources and start coding. Non-stable projects, like KDE Connect, are in the “Playground” category. And also remember that KDE Connect has two different repositories: kdeconnect-kde and kdeconnect-android.

Happy hacking!

October 14th 2014: Updated post to reflect the things that have been implemented already!

81 thoughts on “Collaborate with KDE Connect

  1. Some ideas:

    – Use your mobile as a speaker (virtual audio device).
    – Keyboard/Mouse emulation to your phone (remote keyboard)

  2. KDE Connect is totally awesome but there is one thing:
    Stop using “KDE” as name for the workspace. KDE is the name of our community and our workspace is called Plasma and it’s been this way since four years now.

    1. Stop repeating this like a broken record. People will ALWAYS call KDE “KDE”. That new naming scheme is the silliest marketing idea the KDE community has ever come up with.

      1. I totally agree – I startet using KDE, when the first programs started to switch names.
        Before It was always great to see by the name that is a KDE Program – amaroK, sKanlite, Ksomething. So the K was always a hint – which was great and let to the creation of some great wordplays.
        It’s like not showing the brand of a car – just the cars name.

    2. I do not support the rename of the KDE desktop but in this case, however, “KDE” means “made by the KDE community” and not “made for the KDE/plasma desktop”, because we want this project to work also on Gnome, Mac, Windows…

      1. It is good that you aim for cross-desktop compatibility, but then you should also name it correctly:
        Wrong: Answer SMS from KDE: maybe integrating it with Telepathy.
        Correct: Answer SMS from the Desktop: maybe integrating it with the FDO Telepathy framework.

        1. We aim for it but it’s not done yet, so I was realistic and made this list targeting the KDE/Plasma/whatever desktop only. Even though, I just changed every reference to KDE for “the desktop” to avoid more unnecessary discussion about the post itself instead of the post content.

      1. I was especially referring to “Show notifications in KDE”, as I clearly wrote in the post you were replying to, David.

        1. Sorry, I thought you were talking about the project’s name and not about this post content. I’m still talking about the “KDE Desktop” because we are still releasing “KDE 4” as the desktop. This will probably change when we port KDE Connect to KF5 and the new Plasma 2 desktop.

          1. > … I’m still talking about the “KDE Desktop” …
            No, you are not. Just look at your post. You wrote “KDE”, when you are referring to the community, but _also_ when you mean the KDE desktop.
            This is “not good” and this is all Markus comment was about.

            So just add a “desktop” when you actually mean the desktop and everyone is happy. :-)

          1. Mind that I do not object to the project name – it comes from KDE. It is not uncommon to refer to some projects as KDE Something – KDE Plasma, KDE Telepathy, KDE Connect, etc.

  3. Sync stuff: Contacts
    With owncloud and kolab “kde” already has 2 solutions for that. So maybe that shouldn’t be the highest priority?

    1. Kolab and ownCloud are not a KDE projects and they sync over the “cloud”, not local network. And just because it makes it into some list for suggestions what people can contribute to, does not make the entry the highest priority.

  4. Wow, what a mess, looks like another great program and programmer are about to get eaten by a bunch whinny people unhappy about terminology. Personally I wish I could flush (the forever crashing) plasma down the toilet and use KDE (the desktop) but alas that is not possible.

    To the actual point of the discussion: Take a look at GTalkSMS it provides a means to control an Android phone via xmpp. I use bash scripts with a Kaptain/Kdialog GUI to interact with telepathy to send and receive SMS, place phone calls, initiate navigation, locate my phone etc., etc. The point being that those functions are exposed in the Android API’s. As far as browsing the files on my Android Phone; an sftp server running on the phone makes that trivial and very easy to tie into my Kaptain GUI, which simply opens Dolphin to the right address.

    I would love to have a native KDE (Plasma, whatever) program, my scripts are ugly and not very portable. They do have the benefit of working.

    VOIP has been available on my computer for years but I have rarely ever used it, especially when calling landlines or cellphones, there are just some things a cellphone does better. On the other hand trying to bang out a text of any length on my Samsung S4 drives me crazy, the computer keyboard will always be better for that.

    The smart-phone and computer are complimentary technologies and I really like the direction this program is headed making it easier to use the strengths of each.

    As far a priority is concerned; for me it would SMS, while my system works I end up with all SMS messages in a single chat window which is less than optimal.

  5. Hey Albert, I was actually looking for a way to get some of the features you intend to have on KDE connect (mainly being able to use my computer as a headset for the phone, which includes being able to accept calls) and sending input to it with linux and discovered you can have them with bluetooth using HFP and HID respectively.

    The following SO question addresses this and most of the projects there may provide you either a starting frame or a daemon to communicate with for this use: http://stackoverflow.com/questions/4177186/is-it-possible-to-make-a-computer-behave-as-a-bluetooth-hid-device I hope the information on it can be helpful for you or whoever does invest the time on getting these features working.

    That’s it, although I’m not using KDE Connect (yet) I’d like to thank you for trying to bridge the gap between phones and desktops, I really apreciate your efforts. Good luck with your grade project too I know how much of a time eater they usually are.

    klondike

    1. I noticed SolydK is distributing an old verson 0.3.1, I would recommend you to ask the package maintainers to upgrade to 0.4.1 or even git master (we keep the master branch stable).

      1. oh indeed ! It worked so well for me that I didn’t even thought it coud be an old version :-)
        Will report this to packager and eventually figure how/if I could build it myself…

        Thanks for your reply, bests.

  6. Hi Albert,
    is there a restriction of kdeconnect on the processor of the smartphone? I have a Motorola Razr I with Intel processor and my PC and the smartphone don’t see each other. On the other hand, I can connect a Nexus 7.

    I use SolydK as well and just updated to the newest version of kdeconnect on the PC, but still same problem. So, it must be related to the Android app.
    Thanks for your help

  7. Hi Albert! Great Software!

    It took me a little bit to realize I was missing one very important part, the avahi/zeroconf kde support :-P which for me running a lightweight kde version (plasma-netbook) was not pulled into automatically.

    Could it be possible for you to add a comment on the installation guide/steps mentioning this? I think it might help some people out there.

    Again, great great piece of software, the integration works flawlessly. YOU ROCK!

    Cheers

  8. This is an amazing software. You are my hero!

    Some ideeas:
    -play sound from phone to PC speakers and reverse
    -use the phone as a remote control so you can play/pause the movie, the music, load a playlist

  9. Many thanks, very nice idea and implementation.

    I saw one glitch: control of amarok was not always working smooth, sometimes it seems to hang, events came delayed, etc.

    One feature I was missing: configure in which directory files are sent on the PC (for me they end up all on in ~/Desktop/).

    Many thanks
    Rainer

  10. I found how to change the default directory in System Settings.

    Also the amarok issue is currently not reproducible.

    Many thanks again,
    Rainer

  11. Thanks a lot for this project.

    Some more ideas next to others:
    – being able to have shortcuts in plasma to send intents on the android device
    – Tasker integration.

  12. Great and useful app.
    If you, guys, make a kde-connect core library on C++ for mobile (at least first attempt), I’ll try to make extensions and native UI for Blackberry 10 platform.

  13. I just wanted to say a belated “Thank you” to everyone who produced KDE Connect. It’s a great idea and nicely implemented. You guys have done a great job. KDE is my favourite DE, and KDE Connect makes it even better.

  14. After finally upgrading to kubuntu 13.10 I could use kdeconnect out of the box and it’s awesome, i very much like! ;)

    I’m also looking forward to grabbing everything what’s up to come. As I’m no Qt developer I could help by alpha/beta testing, feel free to contact me!

    Thanks again to you, Albert and all the best for your thesis.

  15. I’m interested in using this app on my Ubuntu box with Unity but since it is integrated in KDE it is not possible at the moment. Would you be interested in collaborating if I modified the application to also work with other desktop environments?

    I could also help with the Android App if you are interested.

    1. Of course! Actually most of the code is just exposing DBus interfaces that the KDE interface uses. Writting interfaces for other desktops should be easy with few changes to the existing code. Feel free to join the mailing list and submit your code there when you have something done, or if you need any help.

  16. Another useful feature I would like to see is control kaffeine/dragonplayer/vlc using the android app, this would be like using the mobile as a TV remote

      1. Media control of amarok works fine, have not been able to control Kaffeine thou. I have latest 0.5.0 kdeconnect and just updated today connect on my Galaxy S4 Everything else works will, even volume buttons control amarok volume. I only get offered amarok in the list on the phone even thou I have kaffeine running and paused on a video of “uncle bob architecture the lost years”.

  17. albert im testing “browse files” from git version :D (in general works good :D) two things:
    1) I cant access to micro sd external card :D
    2) sometimes plasma-desktop crash with a “segmentation fault” when i click on “browser files” but after that, plasma-desktop get back and it open the mount point of my smartphone :D

  18. Would it be possible to have something like an networked Arduino send messages through KDE Connect? I was thinking about using it as a door bell where you get a message on your desktop when the doorbell rings.

  19. Personally I would love to be able to customize the IP to connect to. Currently my employer has different LANs for workstations and handheld devices, so they can’t discover each other.

  20. I have KDEConnect on my Nexus 5. None of the plugins appear to work. I can ping both directions and the media controls show up on the Nexus 5. Media controls sort of work; Play/Pause works, FF, REV work in direction opposite of expectation.

    Browser files does nothing, clipboard sharing does nothing, battery report does nothing.

    I suspect that I am missing something but I sure cannot figure out what. I am using Kubuntu 14.04. I installed KDE Connect there using apt-get install kdeconnect.

    — Smittie

  21. Hello Albert,

    great software.
    Still, there are some things, maybe You could integrate in further releases:
    There is already an app for controlling Amarok with Android devices with many functions:
    http://www.h0lger.de/android-amarok2-remote/
    Maybe some features als playlist browsing etc. could be integrated as long it doesn’t undermine the KISS-Principle. A small, functional app is good and rare these times and should of couse be kept…

    Another thing is the possibility to specify the folder for incoming files. I did not find any settings.

  22. Is there any chance of making the filebrowser mode (perhaps optionally) use the sftp kioslave rather than sshfs? It should be more efficient, and I’ve (manually) verified that it works with minimal work:

    The key needs to be in the ssh-agent keychain, which necessitates a call to ssh-add, but after that Dolphin is perfectly happy to open sftp://kdeconnect@/storage/emulated/0 (determined by making a fake sshfs binary that logged the arguments it was called with); no further tweaking required.

      1. It would be fantastic to use the KIOslave but we found some problems and finally went for the easy solution. If it works for you, maybe it is something we were doing wrong, however I don’t like the idea of adding our ssh keys to the regular keychain. Do you think there is any way we could avoid that?

        1. Well, they way the SSH agent works is via environment variables – you could pretty easily run your own instance of ssh-agent with “-a ~/.kde4/share/apps/kdeconnect/[id]/authsocket”, make a kio_kdeconnect that basically just does a setenv( “SSH_AUTH_SOCK”, “~/.kde4/share/apps/kdeconnect/[id]/authsocket”) and then hands off to kio_sftp (or perhaps interposes; I’m not familiar with kioslave internals), and be done.

          As a side benefit, a kio_kdeconnect would be able to have nicer URLs.

  23. Hi, I have moved to a BlackBerry device now and I am having issues with it connecting to my laptop. I can install it ok, as BB10 has Android support, but that’s it. If you want any testing on BB10 devices let me know.

  24. OK, first I’m sorry in advance, but I couldn’t find where I should give the comment.
    I’m using kdeconnect with Nexus 5 and Kubuntu 14.04, everything works(at least they can ping-pong forever) except touchpad emulation—I even cannot send click signal with N5… Any ideas?

  25. how to use kdeconnect with some other desktop environment (like GNOME or Unity)? Pairing does not work when I use Unity desktop but works properly when I use KDE Plasma workspace.

    1. Found out how to do that. Running kdeconnectd from terminal solves the issue :). Sorry for the noise.

  26. I am waiting for “answer sms” feature. In a first time, just put a button “answer” on the notification that open a dialog box with text input. Just an idea, goog job

    1. You can use the KDE bug tracker if you want to report something: bugs.kde.org Do you think it should be more explicit that this is the bug tracker to use?

  27. what would be cool is something like a remote control.

    My idea is to have a mobil skin of dolphin. You can navigate on the mobil dolphin like any other mobil file manager, but you are navigate not on the mobil phone device, you navigate on your file manager on your desktop. So you can load files (movies, audio, pictures, …) on your computer via a nice filemanager interface on your mobil.

  28. Hi and thanks for the work done on KDE Connect

    One feature I’d really like would be to sync the page of my PDF.
    I read a lot on my phone(Nexus 5 with acrobat reader) when I am in the metro, especially technical book as PDF and then at the office or at home, I have them open with Okular.
    It would be really great if Okular could display the book at the same page as my last reading on my phone and the opposite when I close my kde session.

    Thanks

    1. We can do the okular part, but i’m not sure about the Android side. It depends on if the reader you are using actually stores the page where you are, and if that’s accessible from an external app. It would be super cool, though!

  29. For me main feature request fore KDE Connect is Bluetooth connection to phone, because WiFi have much more battery usage and I use it very rarely, but Bluetooth on phone and computer is always on.

    1. Hi I recently installed this app on my phone and desktop. However when away from home, which is a lot, I do not have WiFi available, because of which this is just not being used. Making Bluetooth connectivity available would greatly extend the usefulness of this app. Having the capability to connect through all available means such as USB / Bluetooth / NFC would be a logical next step. I would also like to thank you for a very nice app, with a great potential.

  30. Is it rude to ask for some kind of “execute shell”?

    I’d like to execute predefined tasks (like “shutdown -h 0” or “xset dpms force off”) by just pressing buttons on my smartphone.

  31. Turn off the firewall, and smartphone connected successfully.
    Then load the module fuse.ko, working on a laptop but only displayed in the folder two packs: file: ///usr/home/elimelech/.kde4/share/apps/kdeconnect/9be00d3af1acc96d
    file: ///usr/home/elimelech/.kde4/share/apps/kdeconnect/9be00d3af1acc96d/DCIM/Camera
    which can not be opened!

  32. Hi,
    First, thanks for this great app! I can right click a large, ~ 1GB mkv in konqueror and send via kdeconnect to her T-mobile Samsung Note 4. I can browse the phone filesystem by clicking on the device in F9 sidebar. However, it seems I can’t enter the ExtSDCard via this route. I like to put these large files there, not to fill the device storage. Thanks, again.
    Rolf

  33. Port to other platforms: Windows (it already builds using KDE Windows!), iPhone, Blackberry, Jolla…

    How to build for windows
    i installed kde for windows
    https://windows.kde.org/
    but did not find kde-connect in the list of applications

  34. Hello.

    Here’s an idea for KDE Connect: make (initiate) calls from PC.

    I normally receive emails on the desktop with contact telephone numbers in them. In order to make the call I have to copy/paste them from the PC to the phone (through KDE Connect – thanks!). It is already better than typing the number by hand, but it would be much, much better if I could initiate the call from the PC via, say, a context menu. It could be integrated with browsers through tel: links, too. All this would be very nice, IMHO.

    Of course there would be many more applications for this feature, specially if it could be made to be scriptable.

    Thank you.

    Pablo.

  35. Hello, this is such a great app.. but (please forgive my ignorance in terms of programming languages and terms.. ) but I wonder if is possible having a way to control the browser tabs. for example, if you leave your browser with different videos or contents to watch from a distance and using KDE as a remote control, would it be possible having a feature to switch from tabs from the “Run Commands” ? or any other way ??
    hope the idea makes sense ..
    and THANKS A LOT for your great work !

Leave a reply to Kevin Kofler Cancel reply