Proposal: integrate Syncthing into Gnome Settings

Over the years, one of my main frustrations using several Gnome devices has been the lack of syncing. Folders have different contents depending on what machine you’re on, work you do on one machine is not duplicated on the others, and so on.

Recently I started using Syncthing and it solves those issues, but it’s difficult to set up and confusing for the average user. I think there would be real value in integrating it within Gnome Settings, so that a “Syncing” section appears if Syncthing is installed.

Here’s a mockup of what that would look like:

Untitled_20230506180003

As you see, it only uses a subset of Syncthing’s capabilities in order to make it as simple to set up as possible. You just have a list of synced devices, a list of folders that should be synced across those devices, and yet another list of apps whose content should also be synced.
The process of adding a new device would be like this:

Untitled2

Adding a new folder would look like this:

Untitled4_20230506180324

And finally, adding a new app would look like this:

Untitled3_20230506180321

All three dialogues give you the option to choose what specific content will be synced to each device; that’s because e.g. you may want to sync heavy folders to a server but not a mobile device.

Feedback is appreciated, either here or over on Github.

6 Likes

I’d really like to know if you guys think the idea is good or bad, and feasible or not. Thanks in advance.

Have you looked into Syncthing GTK?

1 Like

Yes, I’m using it actually. It works, but it’s pretty complex to use and definitely not the type of thing that a regular user would instictively know how to use. I think that the type of integration I’m suggesting would be much more simple to discover and use. Wouldn’t it?

1 Like

I think it would be better to improve and simplify the existing app than adding an additional maintenance burden to Settings.

2 Likes

Bear in mind that the last release of Syncthing-GTK happened almost four years ago. I don’t think there will be any further work on that app.

If nobody wants to develop or maintain a separate app for it, I don’t see how anyone would step up to maintain a Settings page for it.

1 Like

Just to clarify, I’m not against some degree of Syncthing integration in GNOME, but I think this would fit better as a separate app than a panel in Settings.

1 Like

I think the headline feature really is “integrate cross-device folder sync in GNOME as a native feature”. From there, a settings panel follows naturally — along with UI in Files.

3 Likes

Precisely. Thanks a lot, Matt, you got my point across much better than I could.

Maybe it could be “integrate sync” instead of “integrate folder sync”, since (if I’m not mistaken) it could also be used to sync apps’ settings and content. Wouldn’t it?

That’s interesting. Should I mock up the Files UI, just to see what it could look like?

2 Likes

I think the most difficult part here is the UI/UX when it fails. So when folders don’t merge correctly or conflict for whatever reason.

Flathub has a newer version, seems like they moved here Releases · syncthing-gtk/syncthing-gtk · GitHub

Why don’t you make it into a separate application? Settings’ codebase is overly complicated as it is, I don’t think that adding an unessential complex capability would make it any better. The mockups you provided are really good, and would make for a good app. Considering recent addition of the Background portal, it would be possible to do as a Flatpak application. If you want further system integration, you can make a separate plugin for Nautilus (aka Files), too.

1 Like

I have never seen that happen, so I don’t know how it could be handled.

I mean, I can’t code to save my life so I couldn’t make the app. But sure, editing the mockups so that it’s a separate app would be easy enough. My only hope would be to catch the eye who has the skills and time to turn them into a real app. How should I go about that?

Also, one more thing. Would a separate app be able to sync app settings? As in letting you pick an app, know which folder hosts its settings, and sync that folder?

Ask me in two weeks, and maybe I’d like to work on that (no promises, and I never made an app before). Other than that, try publishing the app mockups on other-app-mockups. Maybe ping your favorite developers… Idk, maybe try posting a request on Applications - GNOME Discourse with app mockups.

With a fair bit of hacks and static file-system access — sure, I think so. But I’d say this can be quite a task, and might lead to problems — like, what if the apps’ versions are different? This might break them. It would be better to develop a portal for that kind of thing first.

I’ll keep my fingers crossed and ping you in a couple weeks. Is there anything I can do in the meantime, to make work easier for you in a best case scenario?

That sounds like great advice, I’ll follow it.

I’ve never had that kind of app breakage in the past, even when copying the whole home folder between computers, but I see your point. It’s maybe a mid-term goal, then.

I have a vague concept of how portals work, so I’ll have to learn a bit, maybe on the portals matrix room. Thanks again!

I think it would be better to improve and simplify the existing app than adding an additional maintenance burden to Settings

Na… many people will not trust an app with their data - but would trust their OS, when during set-up asked to sync to an already existing device.

Also: if an app, it would need to be a core app, for otherwise synching would not be perceived as a platform feature.

That’s also my opinion, more or less. For me it’s not a matter of trust as much as convenience. The example you gave, where the user is automatically offered to sync all their stuff from another local machine while setting up their user account, would justify integrating it with the DE instead of having it as a separate app.

But of course, if there’s a chance of making an app, and no chance of integrating it with the DE, I’ll take what I can get.

This just doesn’t make any sense, to the point that I’m not sure how to explain why. Most importantly, I don’t agree that many users fear an open-source app stealing their data. This is a very dubious assumption, might as well be called a lie. I also don’t see how this is GNOME’s problem to solve by shoving Syncthing into the system. With the same logic, you might as well shove entire Flathub into the system, because apparently — people distrust apps, but not the OS.

Because it’s not a platform feature, and IMHO will never be. It has nothing to do with GNOME, and it’s not an essential OS component.

1 Like

It would be cool if you also covered the first setup experience in your mockups. Having 3 empty lists wouldn’t be too user friendly, so I can imagine a guided setup with explanations. You would also need to think of a name (you can’t call it just “Syncthing” or “Syncthing GTK”, and just “Syncing” would be too generic for an app, I believe). And you will need an icon, too. GNOME HIG covers how to approach both names and icons.

I’d also recommend to think beforehand about ownership of the app, who makes decisions, etc. I can imagine these topics will have to be discussed with whomever will develop the app. Unless they just take your mockups without asking and do whatever they please, but you can’t do much about it.