owncloud / android

:phone: The ownCloud Android App
GNU General Public License v2.0
3.84k stars 3.05k forks source link

Sync Contacts, Calendar (and Notes) #58

Closed 8h2a closed 6 years ago

8h2a commented 11 years ago

Is it possible to include a function to sync the calendar, contacts and possibly the Notes? Else i have to use (paid) apps like CardDAV-Sync free beta and CalDAV-Sync beta.

hitam4450 commented 9 years ago

When will syncing Calendars & Contacts be available in the OC-ANDROID-client?

regards, hitam4450

dper commented 9 years ago

@hitam4450 I have heard of no work on this. Expect nothing. :-)

Many of us use DAVdroid for contacts and calendars. There are some other good CalDAV and CardDAV clients for Android, too.

tobiasKaminsky commented 8 years ago

What about adding the possibility that davDroid can read the credentials from our app to provide an easy setup of calendar & contacts?

AndyScherzinger commented 8 years ago

Hmmm, I would suggest against it since this could mean that any other app could also access the credentials and the could be seen as a security thread. Wouldn't it be best to integrate the Cal/Card sync into the app itself, either via our own implementation or checking back with the DavDroid developer if he would be willing to integrate it directly into the app + cla.

tobiasKaminsky commented 8 years ago

The best, of course, would be to have this entirely in our app, but I doubt that we can handle this. So therefore I tried to find a good compromise. Your security concern, which is correct, could be handled in the way that the credentials must be sent from within our app to the desired app (e.g. davdroid).

untitaker commented 8 years ago

The CalDAV/CardDAV apps by dmfs handle special URLs for caldav setup. See http://dmfs.org/wiki/index.php?title=ICloud for an example. The ownCloud app could just provide such links.

zbraniecki commented 7 years ago

I installed DavDroid to sync calendar and it had an option to sync contacts. I tried that and it never sync contacts, but it removed them from my phone. Now I have a lot of "Unnamed" contacts :/

I know it sounds like +1, but as a user, I'd say that lack of calendar integration for Android is the biggest UX limitation I'm experiencing right now with my attempt to switch away from Google garden to OwnCloud one.

dper commented 7 years ago

@zbraniecki As for DavDroid removing contacts when you've been syncing a calendar, that's strange. The URLs used to access contacts (CardDav) and calendar (CalDav) are not the same. Were you using the correct URL? In any case, if you have DavDroid issues, people over on the DavDroid forums would love to help. Certainly many of us have happily used OwnCloud with DavDroid for years, and it's working well, so if you can get the setup straightened out, that'd be ideal.

kees-closed commented 7 years ago

It sucks that this app will probably never become a full replacement of a few Google services... Would have been awesome to sync contacts, calendar and files with this single app... Without having to use a stack of 3rd party apps to get the sync working besides for files.

If you guys need money to implement this feature, then please start a kickstarter for this or something like that.

untitaker commented 7 years ago

@AquaL1te DavDroid exists, and the nextCloud app has a feature that can launch DavDroid with prefilled configuration. I don't think there's anything missing, really.

zbraniecki commented 7 years ago

From my interactions with the Owncloud community on this topic so far it seems like there's some state of denial when it comes to realization that a third party app provides significantly lower UX than an integrated solution. Every time I see someone asking for it, the response it "There's a DavDroid, and if you install F-Droid then you don't even have to pay for DavDroid. I see no problem. Move on"

untitaker commented 7 years ago

@zbraniecki There's no denial, it's cost-benefit analysis. You are underestimating what it takes to write such an app. The work put into it is definetly worth more than what DavDroid's price indicates. I think the ability to launch DavDroid with pre-filled credentials from the NextCloud app is a major UX improvement without a lot of extra development cost.

You could fork DavDroid and publish it on Google Play without charging anything, but I don't think that'd be fair towards the DavDroid developers.

zbraniecki commented 7 years ago

Nobody questions if I can fork or if the price is fair.

What I (and others) argue is that the current experience of getting owncloud to work on a phone is very bad.

I don't see owncloud community recognizing that statement.

Every time someone brings it up the response is "you just need to install this bunch of apps and it works!".

I'm.not going to elaborate on the things like trust, branding, pricing, bugs, sense of bloating the phone with fdroid, davdroid and owncloud app... All I'm saying is that it's bad.

You can deny it, you can pretend it's not, or you can skip my statement and focus on other things. Or you can accept the feedback from your users.

Since you don't, I'd say it is denial.

untitaker commented 7 years ago

I'm not sure who you speak of when you say "the owncloud community", and I'm not sure why you think ownCloud's users are my users. I'm not affiliated with ownCloud.

In the end the question is: Who will pay for the developer time invested here? And with FOSS the answer usually ends up being: Not the user. Even a Kickstarter only helps with initial development, not long-term maintenance. So I do think that a cost-benefit analysis is relevant here. I can acknowledge your feedback and agree with your statement that it would be better UX, and still consider other factors that play into the decision making process.

stefan-niedermann commented 7 years ago

a all-in-one-device (german: eierlegende wollmilchsau) is not always the best solution. it often has low performance, is bad in maintenance and its difficult to create an acceptable UX so a user can access every action quick. even google does not habe one app for all - it provides apps like drive, gmail, maps etc. if you are concerned that the developers are officially not employees of owncloud or nextcloud i would be happy to transfer the android notes client repository to the nextcloud organisation. what is the concrete issue? sorry, but i don't get the point...

kees-closed commented 7 years ago

what is the concrete issue? sorry, but i don't get the point...

It's all about integration. ownCloud has services, ownCloud has an app. But to get all the data from ownCloud you need to setup a stack of 3rd party applications and settings before it appears in the Android sync accounts. That's just messy.

GNOME online accounts has the integration of ownCloud's contacts, files and calendar. Is it so strange to expect the same performance from the ownCloud developers themselves? I know this sounds self centered, but I won't switch to ownCloud until I can properly sync it on all my devices, and I don't think I'm the only one. If that will never happen then I'm sure some other project will, until then Google will do the job just fine.

stefan-niedermann commented 7 years ago

until then Google will do the job just fine.

just like i said: google does not provide a single app but provides different apps fir different use cases. from photos, music, maps, contacts to keep and gmail - every use case is delivered as a single app. okay - contacts and calendar iscovered by a 3rd party app (davdroid) but exactly this is the huge benefit from open source software. not every ecosystem has to reinvent the wheel thanks to open standards. just my 2 ct and i will be quiet now.

kees-closed commented 7 years ago

just like i said: google does not provide a single app but provides different apps fir different use cases. from photos, music, maps, contacts to keep and gmail

You skipped the part where I also mentioned integration a few times (like in GNOME), Google provides that integration perfectly. I like to have things integrated so it's easy and clean to manage, if this cluster setup works for you then that's great for you. I'm sure I'm not the only one that was trying to find the setting to sync the calendar and contacts within the ownCloud app itself.

zbraniecki commented 7 years ago

In the end the question is: Who will pay for the developer time invested here?

And who pays for developer time invested in the sync feature which is in the owncloud app? That's a false dichotomy.

Even a Kickstarter only helps with initial development, not long-term maintenance. So I do think that a cost-benefit analysis is relevant here.

No it's not. Arguing that one feature is "part of the bundle" and the other is not and it's ok to let a third-party app "be the answer" is not an answer at all. Writing software costs and takes time. Open source software is no different. I happen to know since I work on open source software for 15 years. And you either find a model that makes a project sustainable, either with or without money, or you don't.

So please, don't bring it up in the context of a basic feature of the software. It's like if you argued that Firefox should supports http, but for https you need to install a third-party app SecureDroid through F-Droid or pay for it, and it's ok since writing code costs.

I can acknowledge your feedback and agree with your statement that it would be better UX, and still consider other factors that play into the decision making process.

I definitely expect other factors to play into the decision. And not all of them must be public. But what I find surprising, and what caused me to bring it up is that every time I read someone bring it, the answer is "it's all fine, we don't need a solution in the owncloud app" which is just simply not true. I'm ok with the answer "we don't have time" or "we don't have resources", or "we need to build a business model around owncloud, and that's a way we're testing". All of those answers are ok. But claiming that the current setup is sustainable and works "as designed" and "there's no problem" is a denial.

a all-in-one-device (german: eierlegende wollmilchsau) is not always the best solution. it often has low performance, is bad in maintenance and its difficult to create an acceptable UX so a user can access every action quick.

Sorry, that's just FUD. The features we are discussing require little to no UI. It's about syncing. It's not something users will heavily interact with. I want to install my owncloud app, and when I open my calendar app I want to see my calendars from owncloud. Third party app with its own UI, UX, icon, stability and permission system is just making it much worse.

if you are concerned that the developers are officially not employees of owncloud or nextcloud i would be happy to transfer the android notes client repository to the nextcloud organisation. what is the concrete issue? sorry, but i don't get the point...

I'm concerned about the UX of using the product. I do actually believe that for notes as a standalone app in particular it would be beneficial if they were released under the umbrella brand like "owncloud" or "nextcloud" with the same UX/UI as other apps. But for syncing, I believe that it should just work, announcing to the user the implementation details that syncing photos is part of one app, but syncing calendar is another, is a bad UX.

You can find another conversation (that I started) with the description of steps it takes to get something as fundamental for the owncloud experience as calendar sync to work: https://www.reddit.com/r/NextCloud/comments/5fzhjr/nextcloud_calendar_on_android/daobbcd/

And then, if you're really curious, although I believe it's just my experience and not necessarily the nature of the software bundle, I can tell you that I tried it once. I got fdroid, and davdroid and I tried to set it up, and I lost all my contacts. They're on contacts.google.com, but on my phone they show up as unknown numbers and I had to readd the contacts I use often. It's not part of my argument because that bug can happen anywhere, but that's part of my experience.

To sum it up. If it's about the money, I'd love to pay for an owncloud official client that does calendar/contacts/photos sync. I can imagine having a free version that does only photos, and paid that does all of it. Sign me up. But the moment you send me to a third-party app and tell me I need two apps for a single (from the user perspective) task of syncing my phone with my owncloud account, you're creating a bad UX that hits your ability to get users.

rfc2822 commented 7 years ago

@zbraniecki Not really on topic, but the Android 6+ battery saver will "break" any sync app, including an OwnCloud contacts/calendar sync app. It's an Android feature :)

Kernald commented 7 years ago

@rfc2822 While Android 6+ makes things a little more complicated due to the doze mode, it obviously does not break anything. You have all the callbacks you need to handle doze mode properly.

dper commented 7 years ago

@Kernald @rfc2822 The issue you two are discussing is one of words (and is off-topic). Do you want to say "break" or "not backwards compatible" or "forward-thinking"? Whichever, it's something developers have to deal with, and it takes time and energy. I think we all understand what you both mean, and we sympathize. :-)

rfc2822 commented 7 years ago

@Kernald I took the wording from @zbraniecki. And Android 6 does "break" sync intervals when you don't exempt an app from power saving, see https://davdroid.bitfire.at/faq/entry/sync-intervals-doze-mode/. It's well-documented behavior: all apps are encouraged to use Google's proprietary GCM. If they don't (because they want to use CalDAV/CardDAV, for instance), you have to "whitelist" the app: https://developer.android.com/training/monitoring-device-state/doze-standby.html#whitelisting-cases, which requires interaction with users to turn off power-saving for this app.

davivel commented 7 years ago

Please, keep in the topic. This issue is complex enough to bring off-topics in.

Personally, I would love to have contacts and calendar sync in the ownCloud Android app. Unfortunately, I don't think that is going to happen in the short term. Sadly, I've said like this for a long time.

However, I still keep the faith in that we will get it some day.

I got fdroid, and davdroid and I tried to set it up, and I lost all my contacts.

This is awful. We have talked briefly offline about adding an "easy share of account credentials" with DavDroid (sure you remember, @DeepDiver1975) , but your experience really scares to me. Not that we don't have our own bunch of bugs, but I've always been reluctant to recommend third-parties without very, very, very strong reasons, and this is not helping to convince me.

theScrabi commented 6 years ago

So since we started to cooperate with the devs of dav4droid we thought it was a good idea to add a link to their apps davdroid for private and managed davdroid for busies customers.

As Holger pointed out we will also have to make this an optional point in own brander.

michaelstingl commented 6 years ago

Scope and title of this issue is "Sync Contacts, Calendar …". Sadly this never made it to the ownCloud client, and the roadmap is full with ideas to improve file sync and share. We added the recommendation to use davdroid to the settings screen with https://github.com/owncloud/android/commit/5cc53641413d2e367972de0e766c4c2bddcbb1e0 .

Please discuss credential sharing etc in other issues.