Crazy Idea: Fork DAVdroid, rebrand, majorly stabilize, and streamline to be Nextcloud-specific

davdroid

#1

If I were to chose the one big Achilles Heel of Nextcloud, it would be DAVdroid. We all crucially need it to get Nextcloud working well on our phones. But DAVdroid is a really sketchy piece of software, once you get to know it. For examples, I dare you to search for DAVdroid in these Nextcloud forums, where you’ll see tons of problems with it.

My big bugbear with DAVdroid is that on two different phones now, once I install DAVdroid, and agree to let it “run in the background”, or allow Calendars/Contacts to automatically sync whatsoever, then it seems like it majorly chews through my phones’ battery life, even when the phone is sleeping, or completely off. Android doesn’t show DAVdroid as consuming much battery, but I’m pretty sure it’s DAVdroid not sleeping, and staying in low-power mode properly. Note that I use my phone offline a lot.

Yes, I suppose I could try to donate money to the DAVdroid developer, but development progress with DAVdroid historically seems to be sluggish, compared to the awesome speed of Nextcloud development. I’d like to see Nextcloud take it onboard and give it the same level of TLC that the rest of Nextcloud gets, is it’s such a crucial puzzle piece to the whole Nextcloud ecosystem (which very seriously includes phones as first-class-citizens).

What do you all think?


#2

Hey, being the calendar developer, I have to say DavDroid is really one of the clients we get least bug reports about.

If you really have troubles with DavDroid, please report it to them. I really have to disagree with your opinion about their app development being sluggish. They have visited our conferences, we have had really great discussions there, they are always available if you ping them, so I really don’t know how you came to that conclusion


#3

If you really have troubles with DavDroid, please report it to them. I really have to disagree with your opinion about their app development being sluggish.

I second that. Never had any problems with it.


#4

I also second that. They are very responsive, are at the conferences, collaboration works great, there is some integration with the Android client. Other than that the issue is mostly with users that have server config issues (which is also a point o failure for the files client). As to the battery life, the same thing might happen with the files app since some OEMs are very aggressive when it comes to battery saving where you also need to disable battery saving for the Nextcloud client. Sync/Permission stuff is an Android OS issue so you’d have that with any app that should do these kinds of jobs…


#5

Thanks for providing the context, everyone, you’ve boosted my confidence in DavDroid.

Once I re-read the bug report I linked to above, and really thought it over, I agree with you. It’s technically Android’s fault. But the way the power gets lost so badly (if you have the audacity to want to have your phone in Airplane mode most of the time, which is what I do), it is tempting and not suprising that users would want to blame DavDroid. Despite it being technically Android’s fault (as it keeps stupidly trying every few minutes to sync, on DavDroid’s behalf, even when offline), the “fix”, as it were (as it’s just sort of a Band-Aid on the problem) ends up being to say “No”, to DavDroid’s first-time question to “run in the background”, then once you set up an account, for both Contacts and Calendars, go into their settings, and set those to sync “Never” (as opposed to every hour, once a day, etc.). Then you have to always manually sync in DavDroid (and even opening DavDroid, then tapping the Nextcloud account at all causes that, so it’s just two taps away, from your home screen in Android, which is not all that bad a workaround).

If I were to try to report my problem to DavDroid, they would likely just say it was not a bug, as I’m a totally weird case for wanting to be in Airplane mode most of the time. As in, who would want to do that, when being online all the time is so much better?


#6

I apologize for calling DavDroid sketchy. I now think Android deserves to be called sketchy. Especially when like 30% of my phone’s battery charge would mysteriously disappear overnight, even though I did a HARDWARE SHUTDOWN (not just sleep the phone). Taking out the battery overnight was required to avoid this drainage. 2 new batteries didn’t help. A new phone altogether didn’t help either (and my newer phone doesn’t have a removable battery, ouch). It was only the fix just above which fixed things back to the way things were before I installed DavDroid.


#7

I would like to point out tha DAVDroid is not the only solution to CalDAV and CardDAV synchronization on Android. There are also the two separate apps from dmfs.org which, in my experience, are less resource-hungry. They’re certainly worth a try if you’re finding DAVDroid not working well for you.


#8

The alternatives provided by @Pazu might be an option, other than that it might still be worth asking the DAVDroid developers to have some kind of logic implemened which still tries to trigger a sync within the defined cycle but remembers the last network state and if that on eis still the same (as in can’t reach the server because the phone is offline/flight-mode/etc. just do nothing and go back to sleep until the next cycle has been reached.


#9

OK, I learned something important about Android. When you turn Airplane mode on, that doesn’t disable “Sync” (pull down the menu from the top, twice. Do you see an icon for “Sync”, with two arrows pointing around in a circle?).

What I needed to learn to do, was both turn on Airplane mode, and turn off “Sync”. Then later on, turn off Airplane mode, and turn back on “Sync”. Android will gladly keep trying to Sync, even though Airplane mode is on!!

So now I change my accusation to Android being ridiculous, not sketchy. Who, oh who, would want to turn Airplane mode on, severing all network connections, yet still want to have Syncing enabled? Maybe in the rare case of using an ethernet dongle on your Smartphone (which requires no comm radios on), and you want all comm radios off?


#10

Are you saying manual sync / eg. pull-to-refresh, or the “Sync” in the Android settings?


#11

When I said “manual sync”, I meant going into Davdroid, then tapping my Nextcloud account entry set up there. As soon as that account is entered, a manual sync is triggered. No need to press the little sync buttons which Davdroid shows within that Nextcloud-related Davdroid account. I actually prefer these manual syncs better to solve my problem, and indicated “Solution” on my post.

Later someone pointed out to me how you can enable/disable Sync across all Android apps in the pull-down menu from the top (not the Settings App of Android). Controlling that, along with Airplane mode on and off, would have also been a potential solution. So I marked that post as a Solution as well.


#12

Worth a watch, and relevant here:
“Android vs iOS: Which spies on you more?”

Check out the juicy chart about 8:35 in.