Syncing with Android not working. How's this meant to be?

@Andy maybe you wanna chime in here?

Sure thing @JimmyKater

To clarify some things, which also makes it my answer - I currently believe that what you are trying to achieve isn’t implemented on the mobile apps. The Android app:

  • has a feature called “Auto Upload”
  • This is only uploading files from the local folders you define in there as well as changed files
  • It does not sync deletions towards the server
  • it does not sync additions on the server back to the client

For keeping a file in sync you can mark it as favorite / available offline which will sync changes between client and server but only for files, this is not present for folders

On device gives you a filtered view which of the server’s files are downloaded and available on your device’s storage

3 Likes

Thank you, this has basically clarified me a lot.
I am curious, when can we expect an android app with comprehensive sync functionality? Or is there a reason to keep it like this?

No particular reason for keeping it like this, it is just that nobody from the project/community ever picked up the task of enhancing the sync functionality and from a company perspective no customer requested it. So of course if anybody would be willing to and picking it up it would definitely get into the client’s implementation.

What do I need to do to be considered a customer? I pay for the andoid apps. Would happily make a one time payment of a couple hundred bucks if it menat I could get this feature.

So what am I supposed to do when I add a new file in a directory via another app and Im offline? Say, with Markor or by taking a picture or something. Am I supposed to mark all of my nextcloud folders as auto-uploading? or am I supposed to Magically remember that I added it hours later when I have internet? What if I made 4-5 new files? What if, like me, you are a user of the fantastic collectives app and maintain a huge wiki of thousands of markdown files, all of which need to be kept in sync? Am I expected to star thousands of files? On desktop this is a solved problem, keeping files in sync is supposed to be nextclouds whole thing! But it does not do that on android!

The community has been asking for it since forever. like, its litterally one of the very first issues oppened: https://github.com/nextcloud/android/issues/19 since 2016.

the bounty for this feature is ~$300 USD, https://app.bountysource.com/issues/35153835-allow-2-way-sync. This is despite the fact that we are not supposed to be using bountysource anymore, i dont think.

The documentation itself is utterly lacking in details on how to properly keep files in sync, leading to lots of confusion about what is and what is not possible, and how syncing should work.

The highest upvoted reddit post on /r/nextcloud this montyh relates to this issue as well: *cries in android* : NextCloud. Everyone there just suggested using a Different propritary app. Which might work for op or for them but for me at least does not work.

The way the app is setup, you dont really need to sync the files if you are privileged enough to have a constant internet connection to your sever, since it can download / upload things on the fly pretty well. But for me and a lot of the working world, that is not the case. fully half the time I am working with files on my android devices, I have zero connection to my nextcloud sever. so properly functioning, automatic 2-way sync is a must. I cant tell you how many times I have worked for hours offline on some documents that all reference each other, and then when I get to some internet have to go through and manually sync a bunch of em, resolve all the conflincts that crop up, and then a couple days latter see that I forgot to sync a specific file and now woops that files gone, and with it hours of work.

its weird to me that after nearly 8 years this massive hole in functionality has not been addressed.

2 Likes

Hi @ahcheing ,
I get that you are frustrated and would love to see 2 way sync in the mobile apps, yet you also wouldn’t find it in other apps like GDrive, knowing that you rather refer to syncthing and the like. The thing is that while “the community” has been asking for it doesn’t lead to any “right” for having a feature. Nextcloud is an open source project, so anybody from the community is very welcome to implement this and that can also be somebody from Nextcloud as a company of course. Yet as stated the paying customers of Nextcloud as a company never demanded it and customer needs are among other things a priority for the employees. We (since I am also an employee) try our best to balance the needs of customers, the community, technical aspects that should be improved from a development perspective and other stakeholders and aspects.

Building a properly working 2-way sync is not a simple task and having to balance it with the other aspects of our mobile basically led and still leads to this not being a priority but again it is an open source project, so also nobody else from the community ever decided to pick this up in 8 years time. That in a way also tells me that it is really not that needed and not a must (in combination with the above that similar products also don’t have it).

As for what would make you a customer: https://nextcloud.com/pricing/
What puzzles me a bit is that you argue you paid for the Android apps, because the ones published by the company are free, see gplay https://play.google.com/store/apps/developer?id=Nextcloud as well as on f-droid Nextcloud | F-Droid - Free and Open Source Android App Repository and Huawei Gallery https://appgallery.huawei.com/#/app/C102503897 - we do not publish them any place else.

As for Bountysource - that has been dropped by Nextcloud for decisions made by bountysource that conflicted with Nextcloud’s values.

1 Like

Maybe you can use this app in the meantime:

https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full

I don’t use it myself (no need for two way sync on my phone) but from what I hear it works well with Nextcloud.

However, there is one downside to this app: it’s proprietary.

The issue for me is switching costs not proprietary vs FOSS. When I initially started using nextcloud on android 2+ years ago, I used syncthing to actually keep my files in sync. I quickly stopped, since no matter how I configured it, it introduced a bunch of knock on effects that negatively impact my workflow across all systems thanks to sync conflicts. While the sum time spent dealing with file sync conflicts was probably less then the time I have to spend every day manually syncing on android, at least with manual sync I can schedual it so I know when I have to deal with it. I would rather have a predictable, slow process then an unpredictable but fast process, esp when either way you have a bunch of errors you have to resolve where if you click the wrong button you can lose hours of work.

So I’m going to avoid using another sync system for work files unless I get a clear message from the nextcloud devs that this issue is not going to be resolved anytime in the next 3 years, based on my experience with how time consuming it was to switch from a hybrid nextcloud-syncthing to just using nextcloud.

Syncthing is not suitable for synchronizing files to Nextcloud, because Nextcloud wouldn’t know if Syncthing changed something on the server or added new files. FolderSync, on the other hand, can log in to your Nextcloud and will synchronize the files via WebDAV.

I’m not saying I have a right to the feature per-say, but I do have a right to be frustrated. and as far as I can tell my comment was not breaking any community guidelines, and my perspective and edge case is very rarly represented in these kinds of forums (people with spotty / variable connections to the internet tend not to be prolific forum contributers) so I feel I have the right to vent said frustration here. I tried to frame my comment in such a way that I could both meaningfully vent said frustration and share said perspective while also not sounding like an entitled jerk, but thats a hard ballence to strike when you are angry over having just lost several hours of work. If i did / do end up sounding like an entitled jerk, I sincerely apologize. Nextcloud easily brings 2-3X more utility and joy to my life then it does frustration, which is why I do pay for the apps and do try to contribute when I can.

As for what would make you a customer: Nextcloud Enterprise pricing

Neat. I’ll look into that, thanks.

What puzzles me a bit is that you argue you paid for the Android apps,

I thought I did, although now that I look I can see that the nextcloud deck / notes android apps not under the official nextcloud playstore but by a different developer, and I am now assuming these not “official” nextcloud apps. Which tbh is really cool that integration can be so tight without me noticing its a third party app.

To me, the app is near to useless like this. And considering the number and intensity of complaint, for many other users too.
I would not assume that the devs would implement it. If after so many years 2-way-sync has not been established, it is foolish to assume that this will change.
The only thing one could look for is a fork. However, I am not too familiar on how to look through the forks who may have implemented the two-way sync feature. Neither I know how updates would be followed/maintained.
But I guess when a working Nextcloud (fork) android app with 2-way sync has been established, a developer community would continue maintaining it.
Another idea would be to actually hire a developer who forks the app and modifies it to your wish. But best would be if a critical community would join forces to approach this together as costs would also be split.

You don’t have to assume anything, @Andy, Director Engineering, has already explained in detail how the situation looks like.

Sure, or you could develop your own app. After all Nextcloud provides a WebDAV interface, which can be used to connect to and synchronize the data. Or you could just pay $4.99 for a third party app like FolderSync, which already does what you want, if the fact that it isn’t FOSS doesn’t botter you…

The fork argument doesn’t work at all simply because there is no need to fork and never has been. One could just contribute a 2-way sync feature to the client. Since nobody did so in the last 6 years or more, there might also not be anyone thinking about forking the client and adding this because they always had the opportunity to add this. A fork would only be needed if Nextcloud would block such a feature but they/we don’t. Quite the opposite, I’d be absolutely welcoming such a feature.

3 Likes

Neither am I able to code a “fork” (I only know how to make one from a piece of scrap metal), nor do I know how to hire a developer. But it looks like an investment into the “Basic” plan of €36x100 = 3.6k€ would make me a customer and we could request that feature. Is that correct?

I would imagine, the people at Nextcloud know pretty well how to make a smoothly and reliably working 2-way-sync, since their Desktop Client does work wonderfully.

So, should I set up some crowd funding action?

I did buy FolderSync, but it does not work well. For simple stuff (once per week syncing a mostly static folder of zip files to my phone) it works well.
But I did set up 2-way-sync for my Obsidian folder. This was horrible. Within the first week, I had four corrupted files, including data loss. And, additionally, in download-direction there is only the option to do a very slow full sync periodically. Unlike the NC-client, which does background magic, and within seconds every serverside new/changed file gets downloaded to local.

Right now, I am stuck with a Foldersync download-only version of my obsidian vault (no syncing back to server). I don’t want to use Obsidian Sync, as my stuff then ends up on their servers. But on all my Desktops/Laptops Nextcloud does a wonderful job.

I stopped using FolderSync a long time ago because I have no need for two way file sync on my phone. And yes maybe it’s not suitable for your specific use case. But I also doubt that it’s trivial to implement a 1:1 equivalent of the desktop client on mobile. if it were that easy, I’m sure someone would have done it already…

And maybe, at least up to a certain point, you have to get away from the idea that Nextcloud can be a solution to every possible use case. There will always be edge-cases for which it is better to use a dedicated tool instead of a Swiss Army Knife… And in this particular case, at least for now, it seems like you don’t have much of choice…

So maybe you should try something completely different to sync your Obsidian vault, which is independent from Nextcloud, like for example https://syncthing.net/. I’ve heard a lot of good things about it, but due to my own lack of experience, I can’t tell you how well it works with Obsidian…

…or maybe don’t use proprietary apps like Obsidian, if you don’t want to use their proprietary services. :wink: With apps like that, there’s always a high possibility of having issues, when using 3rd party sync clients that are not explicitly supported. Especially on mobile devices.

I see your argument “if it were easy, someone would have done it”… But, on the other hand, I never saw any explaination why it should be hard. Isn’t both just keeping track of a pile of documents on some storage?

On the Swiss Army Knife, I beg to differ: I am not trying to use Nextcloud for anything else than back in OwnCloud days: Syncing Files. I’m not doing Contacts, Talk, Notes, OnlineOffice stuff. So, it is not me making a Swiss Army Knife out of it.

And yes, Obsidian may not be FOSS, but it essentially just is a nice interface to a bunch of text files on your storage. That is the nice thing. You expressly don’t need their sync. If you can sync your files, you can sync your Obsidian Vault. But it is not Obsidian spcific: I ran into the same no-2-way-sync issue some years earlier, when trying to have an up-to-date shared documents folder synced locally my phone. Also didn’t work. (But at the time I didn’t know about FolderSync.)

It would be awesome, if Nextcloud provided a “crowd bounty” option for features. Put up a bucket, label it with XYZ$ dollars, and when The Community has filled the bucket, the feature gets implemented. Because right now, The Community is not listened to. “Yeah they might want it, but as the didn’t do it themselves, it surely can’t be that important.” Yes, I agree, it is open source and NC has no obligations to anyone from The Community.

But this leaves two options for me as citizen of The Community: 1. Code it myself (can’t), or 2. hire a Dev (can’t). But option 3: investing a few bucks and convincing 1000 others to invest a few bucks, for the benefit of those who really know the software best, that would be feasable.

And you still wouldn’t have any guarantees that Obsidian would work smoothly with it, because mobile devices and mobile apps simply can’t be compared 1:1 with desktop operating systems and desktop apps. And also, because apps like Obsidian are not built to get synchronized with 3rd party sync tools…

(See also here: Obsidian + Syncthing = Killer Combination So Syncthing is probably not the perfect solution either.)

And even on a desktop OS, file synchronization can cause issues. There have been people here who had issues with OneNote or large Photoshop files, or some who wanted to synchronize their home folders or even their Thunderbird or Firefox profiles via Nextcloud. Ok granted, these last ones are probably not the best examples. :wink:

Anyways, I can’t say much more about it, except that I can understand that there’s a need for a full 2-way sync in the mobile app, even if it will probably not be the optimal solution for many of the use cases people would use it for. i’m pretty sure, that there will be many cases, in which it will cause more problems than it will solve. I’m not saying your use case is necessarily one of those, but I wouldn’t bet on it either. :wink:

Yes, there is no guarantee that Obsidian works smoothly with any sync - but it does work very very well with NC Desktop. And yes, you are right, in some edge cases sync can go wrong even on desktops. But that’s NC’s core expertise: Syncing stuff. And in my case, 99.95% just work wonderfully. There are things that don’t work, but as I have some level of understanding how NC works, I only expect stuff to work, which actually can work. And it does.

So, don’t get worked up about Obsidian. Obsidian is not the source of the problem here. It could be any folder with files. Even in the blog entry you linked: Syncthing eventually gets tossed, because it misses functionality. A functionality, which is already there in NC Desktops.

This same NC core functionality (just keeping a folder of files synced over the internet) is not present on the mobile app. Which is sad. And I am a member of The Community. And I am powerless, as detailed in the three options of my last post.

(And, tbh, this is a little what hurts: Hearing NC say “Yeah, we see they want that feature, we see their agony. But meh, they didn’t do it themselves, so we won’t either.” And there isn’t even a path we could go. The crowd funding approach I described would actually be a way to bring community’s feature needs and NC’s financial needs together. And if NC “self hosted” their bounty bucket, they could avoid their value-conflict with Bountysource.)

Yeah sure, I certainly don’t mind, if someone, or the Nextcloud devs themselves, would implement it. And crowdfunding might be a good way to get it going…