Discussion:
My success story for pictures, calendar, contacts and email sync
(too old to reply)
Fabián Rodríguez
2013-10-02 11:58:11 UTC
Permalink
Hello

Among the components I had not been able to replace until now on Android
were the calendar, addressbook and pictures sync to my own server.

After much testing of different options, I've found two interesting free
software alternatives.

Kolab includes support for ActiveSync and CardDav/CalDav. You can also
sync email but I use IMAP/SMTP instead. ActiveSync has the advantage of
not requiring to install anything extra. A proper sync app dedicated to
Kolab is in the works but labeled as beta. So far I haven't found free
open source CardDav/Caldav clients that worked in Android - not even
paid ones were without important bugs.

The Kolab project also offer a hosted service (SaaS) which although not
ideal provides a path for testing and use before setting up your own
server. Their site is very well done IMO and has a very good FAQ:
http://mykolab.com. They also include file storage (WebDav accessible),
but I haven't found a free software webdav client yet. Their email
service uses RoundCube for a nice integrated interface including the
other services (Tasks, Files, Calendar, ToDo, AddressBook). It's also
accessible via IMAP/SMP which the K-9 free software client covers in
Android too.

I tested the last 5 versions of so of OwnCloud with terrible results:
very involved configuration, data corruption and files sync conflicts
were common.

Regarding pictures, I setup a Piwigo server, and the RegalAndroid app
let upload to it easily.

If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.

Cheers,

Fabian Rodriguez
--
Fabi?n Rodr?guez
http://fsf.magicfab.ca
Paul Kocialkowski
2013-10-05 21:13:19 UTC
Permalink
Post by Fabián Rodríguez
Hello
Among the components I had not been able to replace until now on Android
were the calendar, addressbook and pictures sync to my own server.
So far I haven't found free open source CardDav/Caldav clients that
worked in Android - not even paid ones were without important bugs.
Then I don't understand: how is that a success story? There is a caldav
client in F-Droid that nearly works well, but no carddav AFAIK.
Post by Fabián Rodríguez
very involved configuration, data corruption and files sync conflicts
were common.
I'm now using Owncloud for calendar/contacts sync (and a bit of files
sharing) and it really works well for me, except that it's slow as hell
on my 1.2Ghz Dreamplug. Anyway, it gets the job done and has a nice web
interface.
Post by Fabián Rodríguez
If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.
It is currently on out Tasks list to write and integrate good
replacements for Carddav and Caldav, given that there is already
server-side free software available.

If someone could get their hands dirty there and get the job done, it'd
be one thing less to worry about. It's probably not very hard as they
must already be reliable java libraries to do the core work.
--
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website: http://www.replicant.us
Wiki/Tracker: http://redmine.replicant.us
Jethro Carr
2013-10-05 21:34:40 UTC
Permalink
Post by Paul Kocialkowski
Post by Fabián Rodríguez
So far I haven't found free open source CardDav/Caldav clients that
worked in Android - not even paid ones were without important bugs.
Then I don't understand: how is that a success story? There is a
caldav client in F-Droid that nearly works well, but no carddav AFAIK.
I've been using aCal for some time (http://acal.me/wiki/Main_Page) which
is a GPLv3 licensed application.

It's written by the author of DaviCal (http://www.davical.org/) and does
a pretty good job of CalDav calendaring. It's not perfect - lacks a
couple of features and the UI is sometimes a bit questionable, but
generally it's good enough for my day-to-day usage.

It does also do CardDav, but only a one-way sync, with the Android
device only having a read-only view.

Personally having integration into the stock calender application would
be nice, but I'll settle for add-on applications, if it makes it faster
to get to a free software client & server-side contacts and calendering
solution.


regards,
Jethro
--
Jethro Carr
www.jethrocarr.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20131006/826bcf5d/attachment.asc>
Paul Kocialkowski
2013-10-06 08:54:31 UTC
Permalink
Post by Jethro Carr
I've been using aCal for some time (http://acal.me/wiki/Main_Page) which
is a GPLv3 licensed application.
It's written by the author of DaviCal (http://www.davical.org/) and does
a pretty good job of CalDav calendaring. It's not perfect - lacks a
couple of features and the UI is sometimes a bit questionable, but
generally it's good enough for my day-to-day usage.
What I was referring to is a calendar provider, which provides events to
the Android Calendar app. This is much better than using aCal which has
its own (ugly and not well integrated with the rest of the system)
interface.
Post by Jethro Carr
Personally having integration into the stock calender application would
be nice, but I'll settle for add-on applications, if it makes it faster
to get to a free software client & server-side contacts and calendering
solution.
There is a calendar provider that works with the Android Calendar in
F-Droid. I don't remember its name though. It works most of the time,
but it also forgets events from time to time, which is a bit
problematic.
--
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website: http://www.replicant.us
Wiki/Tracker: http://redmine.replicant.us
Ciaran Gultnieks
2013-10-06 12:27:23 UTC
Permalink
Post by Paul Kocialkowski
There is a calendar provider that works with the Android Calendar in
F-Droid. I don't remember its name though. It works most of the time,
but it also forgets events from time to time, which is a bit
problematic.
https://f-droid.org/app/org.gege.caldavsyncadapter

This has only very recently gained two-way sync support, but it works
well in my experience so far.
Paul Kocialkowski
2013-10-06 13:53:09 UTC
Permalink
Post by Ciaran Gultnieks
Post by Paul Kocialkowski
There is a calendar provider that works with the Android Calendar in
F-Droid. I don't remember its name though. It works most of the time,
but it also forgets events from time to time, which is a bit
problematic.
https://f-droid.org/app/org.gege.caldavsyncadapter
This has only very recently gained two-way sync support, but it works
well in my experience so far.
Oh yes, I just noticed there is an update available for it.
Thanks for the heads up!
--
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website: http://www.replicant.us
Wiki/Tracker: http://redmine.replicant.us
Fabián Rodríguez
2013-10-06 14:05:05 UTC
Permalink
Post by Paul Kocialkowski
Post by Fabián Rodríguez
Hello
Among the components I had not been able to replace until now on Android
were the calendar, addressbook and pictures sync to my own server.
So far I haven't found free open source CardDav/Caldav clients that
worked in Android - not even paid ones were without important bugs.
Then I don't understand: how is that a success story? There is a caldav
client in F-Droid that nearly works well, but no carddav AFAIK.
"Nearly" doesn't cut it. The success is in using a calendar provider
that works perfectly with ActiveSync *so far* and is 100% free open
source on the server side, while also making the data available to
CalDav/CardDav/xDav which I would prefer, and packaged for Debian (just
recently):
http://kolab.org/news/2013/03/19/kolab-3-beta-released-debian-packages-ready
Post by Paul Kocialkowski
Post by Fabián Rodríguez
very involved configuration, data corruption and files sync conflicts
were common.
I'm now using Owncloud for calendar/contacts sync (and a bit of files
sharing) and it really works well for me, except that it's slow as hell
on my 1.2Ghz Dreamplug. Anyway, it gets the job done and has a nice web
interface.
Perhaps we use it differently? I deal with several users, sharing, and
using both the web interfaces and carddav/caldav.

I gave up on reporting bugs, unfortunately filing bug reports on that
project hasn't been very useful. Here's an example:
https://github.com/owncloud/contacts/issues/100
Post by Paul Kocialkowski
Post by Fabián Rodríguez
If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.
It is currently on out Tasks list to write and integrate good
replacements for Carddav and Caldav, given that there is already
server-side free software available.
If someone could get their hands dirty there and get the job done, it'd
be one thing less to worry about. It's probably not very hard as they
must already be reliable java libraries to do the core work.
You may want to look at the native Kolab sync tool:
https://f-droid.org/wiki/page/at.dasz.KolabDroid

I don't know if it's generic enough to connect to any cardav/caldav
server, I suppose it would be. If I was working on this urgently, that
is where my focus would be.

F.
--
Fabi?n Rodr?guez
http://fsf.magicfab.ca
Blaise Alleyne
2013-10-07 01:56:35 UTC
Permalink
Post by Paul Kocialkowski
Post by Fabián Rodríguez
Hello
Among the components I had not been able to replace until now on Android
were the calendar, addressbook and pictures sync to my own server.
So far I haven't found free open source CardDav/Caldav clients that
worked in Android - not even paid ones were without important bugs.
Then I don't understand: how is that a success story? There is a caldav
client in F-Droid that nearly works well, but no carddav AFAIK.
[...] It is currently on out Tasks list to write and integrate good
replacements for Carddav and Caldav, given that there is already
server-side free software available.
If someone could get their hands dirty there and get the job done, it'd
be one thing less to worry about. It's probably not very hard as they
must already be reliable java libraries to do the core work.
Marten Gajda's work is promising, but not free software *yet*.

He's created a few interesting Android applications, namely:
- CardDAV-Sync: http://dmfs.org/carddav/
- CalDAV-Sync: http://dmfs.org/caldav/
- Tasks: https://github.com/dmfs/tasks (a GUI


They are not free software *yet*, but he has plans to do it:
http://dmfs.org/wiki/index.php?title=Open_source_status

And a (weak) excuse on the wiki (wants to clean up the source code first):
http://dmfs.org/wiki/index.php?title=CalDAV-Sync_FAQ#Why_don.27t_you_make_it_open_source_right_now.3F


While the "not yet" excuse is pretty weak, the fact that he has already released several libraries
and the Tasks application as free software suggests that he is serious about it.
Blaise Alleyne
2013-10-07 02:03:24 UTC
Permalink
[...] If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.
On the server side, I've been using SOGo for CardDAV/CalDAV and pretty happy with it so far. It is a
little heavy maybe, but I envision using this for business and clients as well. I might have gone
with ownCloud if I set it up today, but I wasn't super happy with ownCloud when I started looking
into this two years ago. SOGo integrates well with Thunderbird/Lightning.

On the client side, however, I'm still running Maemo on my primary device, so I'm using
SyncEvolution's CalDAV/CardDAV support for that. I have family members who've turned to Marten
Gajda's partially free software CalDAV-Sync and CardDAV-Sync, but I'm hoping those get fully
released under a free software licence soon and can make it into F-Droid.

Marten's Tasks application (https://github.com/dmfs/tasks) would be nice for CalDAV tasks in Android
too, though I don't think it's currently packaged for F-Droid last I checked.
Tilmann P-V
2013-10-07 04:58:54 UTC
Permalink
How can I get rid of the mailing list again please?
Topic too special to me.

Thank you
Tilmann
Post by Blaise Alleyne
[...] If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.
On the server side, I've been using SOGo for CardDAV/CalDAV and pretty
happy with it so far. It is a
little heavy maybe, but I envision using this for business and clients
as well. I might have gone
with ownCloud if I set it up today, but I wasn't super happy with
ownCloud when I started looking
into this two years ago. SOGo integrates well with Thunderbird/Lightning.
On the client side, however, I'm still running Maemo on my primary device, so I'm using
SyncEvolution's CalDAV/CardDAV support for that. I have family members
who've turned to Marten
Gajda's partially free software CalDAV-Sync and CardDAV-Sync, but I'm
hoping those get fully
released under a free software licence soon and can make it into F-Droid.
Marten's Tasks application (https://github.com/dmfs/tasks) would be nice
for CalDAV tasks in Android
too, though I don't think it's currently packaged for F-Droid last I checked.
_______________________________________________
Replicant mailing list
Replicant at lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/replicant
--
Tilmann
0783283842
Fabián Rodríguez
2013-10-07 08:42:14 UTC
Permalink
Post by Blaise Alleyne
[...] If there any suggestions to other similar solutions, I'd like to hear
them. I thought I'd share this here as using Android w/o Google Play and
its accompanying services (othe rGoogle Apps including account services,
Addressbook sync + calendar) seems to be an important dependency when
wanting to leave such ecosystem.
On the server side, I've been using SOGo for CardDAV/CalDAV and pretty happy with it so far. It is a
little heavy maybe, but I envision using this for business and clients as well. I might have gone
with ownCloud if I set it up today, but I wasn't super happy with ownCloud when I started looking
into this two years ago. SOGo integrates well with Thunderbird/Lightning.
On the client side, however, I'm still running Maemo on my primary device, so I'm using
SyncEvolution's CalDAV/CardDAV support for that. I have family members who've turned to Marten
Gajda's partially free software CalDAV-Sync and CardDAV-Sync, but I'm hoping those get fully
released under a free software licence soon and can make it into F-Droid.
Marten's Tasks application (https://github.com/dmfs/tasks) would be nice for CalDAV tasks in Android
too, though I don't think it's currently packaged for F-Droid last I checked.
It is now, although with a warning about its dependencies on non-free
add-ons:
https://f-droid.org/repository/browse/?fdfilter=tasks&fdid=org.dmfs.tasks

The non-free add-on required is, I believe, either CalDAV-Sync or
CardDav-Sync.

As it is now, Tasks only support local tasks in this context (100% free
solution).

F.
--
Fabi?n Rodr?guez
http://fsf.magicfab.ca
Blaise Alleyne
2013-10-07 17:01:14 UTC
Permalink
Post by Fabián Rodríguez
[...] Marten's Tasks application (https://github.com/dmfs/tasks) would be nice for CalDAV tasks in Android
too, though I don't think it's currently packaged for F-Droid last I checked.
It is now, although with a warning about its dependencies on non-free
https://f-droid.org/repository/browse/?fdfilter=tasks&fdid=org.dmfs.tasks
Ah, thanks!
Post by Fabián Rodríguez
The non-free add-on required is, I believe, either CalDAV-Sync or
CardDav-Sync.
As it is now, Tasks only support local tasks in this context (100% free
solution).
That would be CalDAV-Sync as the non-free dependency for syncing tasks (task sync is a CalDAV thing).

Though, I wonder if the free CalDav Sync Adapter would also be compatible, given that Tasks should
just be reading from the local calendar provider? I don't know enough about how it works to be sure,
but I might test this... that could avoid the proprietary CalDAV-Sync dependency, and still offer a
100% free solution for Task CalDAV sync.
Paul Kocialkowski
2013-10-14 13:26:42 UTC
Permalink
A new app was added to F-Droid recently and apparently makes it possible
to have cardDAV sync. I did try it with Owncloud but it failed because
it doesn't accept self-signed SSL certificates :(

Apparently the author thinks it's bad to accept self-signed certificates
or to even ask the user about what to do (which most apps do). When I'm
configuring the device through my own private network (server and client
on the same LAN), I see very few odds of having MITM.

Also since my certificate doesn't have any authority certificate, I
cannot import it to my device it seems. Or maybe someone known better
and it turns out I can? Anyway, I'll probably ask the author to
reconsider his position.
Paul Kocialkowski
2013-10-14 13:29:47 UTC
Permalink
Post by Paul Kocialkowski
A new app was added to F-Droid recently and apparently makes it possible
to have cardDAV sync. I did try it with Owncloud but it failed because
it doesn't accept self-signed SSL certificates :(
I forgot to mention it, but it is called DAVdroid.
Paul Sokolovsky
2013-10-14 14:32:26 UTC
Permalink
Hello,

On Mon, 14 Oct 2013 15:26:42 +0200
Post by Paul Kocialkowski
A new app was added to F-Droid recently and apparently makes it
possible to have cardDAV sync. I did try it with Owncloud but it
failed because it doesn't accept self-signed SSL certificates :(
Apparently the author thinks it's bad to accept self-signed
certificates or to even ask the user about what to do (which most
apps do).
I'm not sure which "most apps" you mean. Netscape Navigator in old good
times offered such behavior. Now most apps just fail, though *few*
allow to re-run with certificate check disable (try wget) or go thru
extra hops (scary screens) to add certificate (current Firefox/Chromium
behavior is like the latter). Simply written Java app would just fail,
period. To make it not fail one should think about such possibility and
then go thru multiple hops to make it not fail:
http://stackoverflow.com/questions/2893819/telling-java-to-accept-self-signed-ssl-certificate

So, it's likely not that "author thinks it's bad", but he probably
doesn't know about the issue at all.
Post by Paul Kocialkowski
When I'm configuring the device through my own private
network (server and client on the same LAN), I see very few odds of
having MITM.
Also since my certificate doesn't have any authority certificate, I
cannot import it to my device it seems. Or maybe someone known better
and it turns out I can? Anyway, I'll probably ask the author to
reconsider his position.
Shouldn't *Replicant* allow to import *any* certificate regardless if
some vendor Android or AOSP put additional restrictions on certificate?
--
Best regards,
Paul mailto:pmiscml at gmail.com
Paul Kocialkowski
2013-10-14 14:46:46 UTC
Permalink
Post by Paul Sokolovsky
So, it's likely not that "author thinks it's bad", but he probably
doesn't know about the issue at all.
He does, it's explicitly told on his website. It's a choice he made and
I know many other apps that detect and ask whether to use a self-signed
certificate.
Post by Paul Sokolovsky
Shouldn't *Replicant* allow to import *any* certificate regardless if
some vendor Android or AOSP put additional restrictions on certificate?
That's not it. The system holds a list of certification authorities (and
their certificates) that apps use to approve a certificate or not, but
it does not hold per-website SSL certificates, it's simply not its
function (it's not because of a restriction from Google).

On GNU/Linux as well, applications have to accept and store self-signed
SSL certificates individually, there is no auth mechanism to do it
system-wide, but it is the case with certification authorities
certificates.

Correct me if I'm wrong, but at least that's how I understood things
from my perspective.
Paul Sokolovsky
2013-10-14 17:28:07 UTC
Permalink
Hello,

On Mon, 14 Oct 2013 16:46:46 +0200
Post by Paul Kocialkowski
Post by Paul Sokolovsky
So, it's likely not that "author thinks it's bad", but he probably
doesn't know about the issue at all.
He does, it's explicitly told on his website. It's a choice he made
and I know many other apps that detect and ask whether to use a
self-signed certificate.
Oops, I didn't really check, thanks for correction.
Post by Paul Kocialkowski
Post by Paul Sokolovsky
Shouldn't *Replicant* allow to import *any* certificate regardless
if some vendor Android or AOSP put additional restrictions on
certificate?
That's not it. The system holds a list of certification authorities
(and their certificates) that apps use to approve a certificate or
not, but it does not hold per-website SSL certificates, it's simply
not its function (it's not because of a restriction from Google).
On GNU/Linux as well, applications have to accept and store
self-signed SSL certificates individually, there is no auth mechanism
to do it system-wide, but it is the case with certification
authorities certificates.
Well, that StackOverflow ticket,
http://stackoverflow.com/questions/2893819/telling-java-to-accept-self-signed-ssl-certificate ,
seems to suggest that it's possible to import site certificate into
Java keystore, which is shared by all Java apps. Granted, such
specifics in keystore handling doesn't have to apply to Android, I'm
not sure about it either.
Post by Paul Kocialkowski
Correct me if I'm wrong, but at least that's how I understood things
from my perspective.
One thing worth adding is that nowadays it's not that hard to get free
SSL certificate - e.g. https://www.startssl.com/?app=40 , google will
show up more. Though usually such free certificates are signed by
various "sub-CAs", so some fiddling with certificate stores may be
required still.
--
Best regards,
Paul mailto:pmiscml at gmail.com
Nick
2013-10-14 14:59:50 UTC
Permalink
Post by Paul Kocialkowski
Also since my certificate doesn't have any authority certificate, I
cannot import it to my device it seems. Or maybe someone known better
and it turns out I can? Anyway, I'll probably ask the author to
reconsider his position.
Slightly off topic, but I'd recommend you generate your own CA
certificate and then use that to sign any certificates you want.
It's not much more work than generating self-signed certificates,
and easier and more secure to use once you've done that.
Loading...