CrowdAnki comprehensive JSON representation of Anki Decks to facilitate collaboration

post by Vlad Sitalo (harcisis) · 2016-09-18T10:59:08.849Z · LW · GW · Legacy · 2 comments

Contents

2 comments

Hi everyone :). I like Anki, find it quite useful and use it daily. There is one thing that constantly annoyed me about it, though - the state of shared decks and of infrastructure around them.

There is a lot of topics that are of common interest for a large number of people, and there is usually some shared decks available for these topics. The problem with them is that as they are usually decks created by individuals for their own purposes and uploaded to ankiweb. So they are often incomplete/of mediocre quality/etc and they are rarely supported or updated.

And there is no way to collaborate on the creation or improvement of such decks, as there is no infrastructure for it and the format of the decks won't allow you to use common collaboration infrastructure (e.g. Github). So I've been recently working on a plugin for Anki that will allow you to make a full-feature Import/Export to/from JSON. What I mean by full-feature is that it exports not just cards converted to JSON, but Notes, Decks, Models, Media etc. So you can do export, modify result, or merge changes from someone else and on Import, those changes would be reflected on your existing cards/decks and no information/metadata/etc would be lost.

The point is to provide a format that will enable collaboration using mentioned common collaboration infrastructure. So using it you can easily work with multiple people to create a deck, collaborating for example, via Github, and then deck could be updated and improved by contributions from other people.

I'm looking for early adopters and for feedback :).

The ankiweb page for plugin (that's where you can get the plugin): https://ankiweb.net/shared/info/1788670778

Github: https://github.com/Stvad/CrowdAnki

Some of my decks, on a Github (btw by using plugin, you can get decks directly from Github):

Git deck: https://github.com/Stvad/Software_Engineering__git

Regular expressions deck: https://github.com/Stvad/Software_Engineering__Regular_Expressions

Deck based on article Twenty rules of formulating knowledge by Piotr Wozniak:

https://github.com/Stvad/Learning__How-to-Formulate-Knowledge

You're welcome to use this decks and contribute back the improvements.

2 comments

Comments sorted by top scores.

comment by Gunnar_Zarncke · 2016-09-18T19:06:08.273Z · LW(p) · GW(p)

Great! I'm very happy that you polished this and made it publicly available.

The ankiweb page for plugin: https://ankiweb.net/shared/info/1788670778

Maybe I'm too inexperienced an Anki user but I didn't know about Anki plugins/add-ons. At first it wasn't even clear whether this was for the web or the desktop version. For all being as surprised as I was: To install harcisis' add-on click on Tools (in the desktop version) and enter this code: 1788670778 (which corresponds to the ID in the URL). Then you can import via File -> Crowdanki...

I'm not clear about the workflow how to contribute changes back. It looks like I have to export to disk locally into a locally checked out git clone of the original Anki (and probably also having imported from there?), commit locally and submit a pull request to get it merged in. Correct??

Replies from: harcisis
comment by Vlad Sitalo (harcisis) · 2016-09-18T20:40:17.898Z · LW(p) · GW(p)

Thank you for giving it a try :)

Yeah, I guess I should describe the proposed workflow in more details and make it as simple as possible :). I will do that in the coming days.

Yes to contribute back you would need to fork the repository on github, clone the fork, make an export of your updated deck on top of it, and then commit, push changes to your fork of the repository on github and create a pull request from your fork.

Initial import can be either from that repository or from Github directly whatever is more convenient for you :).