First, kudos: Anki has made syncing very smooth.
The syncing is done via a sync server, by default AnkiWeb, which requires only a free account, but it’s also possible to use a self-hosted sync server (djankiserv, anki-sync-server), though it’s a bit of a hassle (or, to many, infeasible).
However, I wonder how a user can sync directly between devices, conveniently, without involving the “cloud”?
Now my usage pattern is very simple. I use the computer to add cards, and do the reviews in AnkiDroid on the phone. Grateful I am for the free AnkiWeb service, still it does strike me unnecessary to rely on a server at all. Clearly, this design choice was made deliberately. And most users are well served by it, in most cases. But I’ve always made sure not to put any sensitive information into Anki, because it would be uploaded to AnkiWeb’s sync server. It would be nice, if we could sync between devices directly, even if a little less smoothly.
Obviously, we can always export & import, but that’s much too inconvenient. Directly syncing files under
~/.local/share/Anki2/<profile>/ (on the computer, Linux) and those in AnkiDroid’s data directory (on the phone) is an idea; syncing this way could conceivably be made rather easy. However, files under these two folders aren’t identical; how would one safely go about this?
Or it may be that this requires support in the software, both in Anki Desktop and the mobile clients. Maybe, say, Anki Desktop itself could be a sync server? And to sync with the phone, we would scan a QR code presented by Anki Desktop. Or, perhaps introduce a truely P2P/decentralized sync protocol? Let’s hear your ideas.