In the month that has passed since our previous development status post we have made many improvements to the Android app and the server code, and even added a python client library for people to interact with an EteSync server. This has already been integrated into vdirsyncer to provide the basis to our future desktop support.

Current State

Many features have been added to EteSync since our last upgrade, namely: sharing journals, importing contacts and calendars from existing accounts, and support for multiple address books.

Sharing Journals

It is now possible to share journals between users, so for example share a calendar with your colleagues. This has been a highly requested feature, and we are glad to finally put it out there. To share a journal, all you need to do is open a collection from the app, hit the members icon from the toolbar, and add users by their EteSync account names. You'd be prompted with their security fingerprint which you would probably want to verify in a secure channel, and that's it.

Import of contacts and calendars from existing accounts

Last month we added support for importing contacts and calendars from file, now, thanks to great work by Tal Hacohen, it's possible to import contacts and calendars straight from existing accounts on your phone! Want to migrate that Google account to EteSync? No problem, just choose the Gmail account from the import dialog and that's it. No more exporting to file.

Multiple Address Books

Android has a very annoying limitation of one address book per account, which means that EteSync users on Android were limited to only having one address book. This has always been an annoying limitation, but it became even more annoying with the introduction of journal sharing, as it made sharing address books impossible. Luckily, just as I was about to implement a workaround for this, DAVdroid pushed their own workaround for the problem, which we have adjusted for EteSync. This means that now you can have multiple address books, both private and shared.

Python Client Library and Desktop Support

EteSync started as an Android sync adapter, but as more users started using it, it became apparent that desktop support is highly needed. Right about that time, we were contacted by the maintainers of vdirsyncer, which wanted to add EteSync as a backend. vdirsyncer is a tool that syncs contacts and calendars between different backends, so EteSync integration made sense. In order to support their effort, we wrote a python library for EteSync clients which has been successfully integrated into vdirsyncer. This means that you can already use EteSync on your desktop, you would just need to download and install vdirsyncer yourself. A simpler solution is planned for the future.

These are the key features introduced this month, but the list doesn't end here. For a more detailed summary of the changes please refer to the ChangeLog, or since Etesync is open source, you can even refer to the git history.

Future Plans

The biggest item on our wishlist at the moment is desktop integration. While, as mentioned above, vdirsyncer already makes it possible, we would like to make it as simple as it is on Android. We have a few ideas on how to make it possible, but as always, things take time.

In addition, we are also working on making it possible to use EteSync accounts from 3rd party apps on your device, so developers (ourselves included), would be able to write apps that utilise the journal capabilities in a secure manner. Two examples that come to mind (and are often requested by users) are a note taking app, and bookmarks sync.

I would like to take this opportunity to remind you that we would like to hear your thoughts. Do you have some suggestions? Noticed an issue? Please send patches, report issues, or contact us.