Custom Sync Server For Teachers

Hello,
At first sight, a custom sync server with a backoffice could allow teachers to distribute decks and have a look on the activity over time (find harder cards, students with difficulties etc…). This is a bit clunky as it would probably require users to sync multiple times, but one might also see some benefits from this approach.

Obviously I am not the first one to come up with such idea, so has it been tried before? Are there important roadblocks I did not realize?

Thanks!

1 Like

There is a discussion in this thread about Anki and schools. (Maybe no practical tools yet) : Anki in schools

It is common in Anki to use a collaboration add-on to distribute decks.
This allows collaborative deck creation and immediate synchronization of modifications and updates to users. These are popular:

  1. Ankihub
    This is a collaborative add-on by medical group Anking. It is advanced and supportive, but there is a fee. It is popular with medical students.

  2. AnkiCollab
    A free collaboration add-on by volunteers, it is free to use.

The leaderboard add-on is similar to this one. (This add-on is no longer in development so now I am managing and developing it.)

Using leaderboards you can compete with today’s reviews, streaks, etc.
If you create a private group you can only see leaderboards for school only.

Basically Anki is a program for individuals, not for organizations.
Sometimes schools use Anki to develop such servers and apps (Anki is open source so it’s possible), but they make it closed source (maybe to sell and recover development costs), so there are no free and open source resources for teachers at the moment.

1 Like

Does AnkiHub allow sharing in private? A lot of schools wouldn’t want to share with everyone their decks.

1 Like

Hello Shigeyuki,

Thanks for this insightful comment! And also thanks for all the work you are doing for the community.

These anki addons are excellent, but I don’t feel they match well the educational needs where one generally wants to give more control to the teacher and not just only sharing decks. Also, the second problem with anki addons is that they only fit the desktop applications and tend to break often with new anki versions.

Basically Anki is a program for individuals, not for organizations

Yeah, I did take this stance too. But these days, now that I know more about the “other side”, I must say I am disappointed with Learning Management Systems in general, they are heavy and not that useful for long term learning and I also thing that’s too sad that the best approaches for studying are so far from the “teaching world”.

Of course, to make it work in the end, you have to host it yourself or pay a service that hosts it for you, so that’s not as easy as anki addons.

From an architecture point of view, do you see important roadblock to make it work as a “special” sync server?

The ‘Anki in schools’ thread seems very interesting indeed, thanks for sharing it.

If this project comes to life I would see it just as a small tool in the toolbelt of the teachers. I was considering building up an open source MVP and see how it goes.

1 Like

On a slightly different note, I once read this research paper talking about analysing “collective cohort difficulty” using such SRS systems. That sounds quite intersting. If anyone ever comes up with such an add-on for teachers, that can be a good source of teaching decisions.

2 Likes

I think it is technically possible and not too difficult, but the most important roadblock is that there are no volunteers. Simply put volunteers develop add-ons for students (individuals), but not for teachers (organizations).

Students are children and learners so they usually need help, but teachers are adults and not learners so they don’t need help, so I think there is no incentive for volunteers to work for teachers.

I see. I was considering making a MVP myself (well, with a friend).
If the project is appreciated and usable, I have no worries for the long term as the number of geeky teachers that succeeded their studies with anki increases every day :).

2 Likes

Go ahead!

Does this mean a free open source project like AnkiCollab or a paid third party project like Ankihub? If open source I’m a little interested.

:lock: Private Decks

You have the option to make your deck private when you create it. This means that only you and the maintainers you add will be able to see the deck. If you make your deck private, users will not be able to discover it by searching for decks on AnkiHub.

1 Like

Finally my friend had other plans, so I’ll write my thoughts on the design aspects here to either work on here another day or to help people who have similar ideas.

The MVP would be like this :
A single json file representing the teacher account (username, password), students accounts (username and password), groups, affectations (matching deck ids with groups ids). It would live server side first but could be included in the master account database. This json would be maintained by the teacher and put server side manually. Could be improved later in many ways.

The teacher account would create and sync deck just as normal account, but some decks of him will be shared, he will know the deck ids somehow.

Server side => a docker-compose with :

  • the dockerised version of the real anki sync server. For maintenability, the code should never be altered.
  • a proxy that would mainly defer to the real anki sync server, but will react to sync events and start updating jobs that would 1/ add new cards and new decks from the master collection to the students collections (respecting the json configuration file to know what to update) 2/ capture the revlog informations from the students and consolidate them in a single sqlite database so that it can be studied offline with custom tools like datasette-lite. The proxy can expose an endpoint allowing the teacher to download this sqlite database.

Maybe it’s more a POC than a MVP.

I don’t really like the fact that students have to sync twice to get their decks up to date, but I do not see other simple way. Maybe a notification system on top of that would help.

1 Like