Discontinuing syncthing-android

In the light of this discussion I’d like to mention that I’m currently extending Syncthing Tray to provide Android integration. (Syncthing Tray could be built and run on Android for a while simply because Qt supports Android. However, it was basically unusable without further platform integration and a mobile-optimized UI.)

The motivation for this is not that the official Syncthing app was discontinued. I started developing Android/mobile related bits in Syncthing Tray before that. I’m also actually using @Catfriend1’s fork anyway and can only recommend it. (@Catfriend1 Thanks for maintaining the fork! It has been very useful to me and I hope you keep maintaining it as my approach with Syncthing Tray is probably not going to cover all use cases - see caveats below.)

The motivation is the following:

  • It will be great to streamline user experience between Syncthing Tray on the desktop and the Syncthing app on Android. (This actually came up quite quickly after I mentioned Syncthing Tray on these forums.)
  • It is kind of neat from a technical perspective to share lots of code between Syncthing Tray on the desktop and on Android. The entire client code to access the Syncthing API but also status strings, icons, data models and more can be reused. Also build system code including code for building Syncthing itself as a library can be reused. Of course this is not relevant for end users but it means I will probably be able to maintain an Android app “just on the side” as there’s not that much additional effort involved.
  • I want to provide a few features from Syncthing Tray on Android that the current app does not provide (without duplicating code between Syncthing Tray and @Catfriend1 fork; so I’m not contributing to that and do my own thing instead). This includes the (so far admittedly rather clunky) UI to browse the global filesystem tree of a folder and modify ignore patterns based on that. This also includes the tray icon and status.
  • The mobile-optimized UI can be written with Qt Quick and thus can to some extend also provide a good user experience on the desktop. So UI code for the app can in turn be re-used again to implement some features in Syncthing Tray users were asking for like allowing to add folders/devices via the setup wizard.

There are (of course) caveats:

  • I will probably not be able to support older devices. I am currently testing with Android 14. Maybe I can make it work as of Android 10 but I can probably not support older versions.
  • The app will use more resources than the official/fork app due to the use of Qt. It seems acceptable on my 3 years old low-budget Samsung phone with 4 GiB of RAM so far. On weaker/older devices the fork app is probably still going to be the better option.
  • Development is still in the works and it will take a while to get everything in place. I cannot make any promises on when it will be in a usable state.
  • There won’t be a Google Play release. Arguing/fighting with Google is nothing I want to spend time on.
10 Likes