Hi!
Damien, what are your thoughts about open-sourcing AnkiWeb? Would you prefer to keep it closed-source indefinitely? If you’d like to eventually open-source it, what are the blockers for it?
There was at some point a project of replicating it, but I believe it’s been now dead for a while.
For me, there’s a few reasons I’d like it open-sourced:
Multi-device sync for Anki has a bus factor of 1. If something happens to Damien (like injury, burnout, etc.), eventually the server gets shut down and the community will have no sync until someone reverse-engineers the sync server.
As long as it’s closed-source, any improvements to AnkiWeb are bottlenecked on the time Damien can put into AnkiWeb.
Somewhat less importantly (for me), I would have more trust in security and privacy of my data if I could run my own backend and/or have control over the data.
To work full time on Anki, I need some way to pay the bills. Currently AnkiMobile is able to do that, but if one day its sales are no longer able to cover costs, I would need something to fall back on, and AnkiWeb is a potential backup source of revenue. For this reason, I’m afraid I don’t think giving it away at this point would be the smartest move.
There are third-party sync servers out there already, largely based on the code from the computer version, which you may wish to explore further.
Thanks for the openness, I think that’s completely fine and reasonable, and I’m glad that you can work full-time on Anki
I’d still like it if Anki’s bus factor could get higher. Some ideas that come to mind would be making some sort of legal setup where in case something happens to Damien, someone else [who would keep the lights on] inherit Ankiweb.
For myself, I might look into 3rd-party sync servers.
As an update to this, while AnkiWeb is unlikely to be opened up in its entirety, I’ve added a basic local syncing server in the latest git. It doesn’t support media yet; that may come in the future.
I am not able to sync to Ankiweb anymore because the collection is too large.
I have found some guides about how to sync with a non-ankiweb server, but with my limited skills I wasn’t able to implement any.
In the meantime, the solution has been to make Anki portable with a .bat file.
I will try out the new local server method. It seems like I can set it up. I guess the first step is to install Anki on two computers, one functioning as the server and one as the client.
My assumption would be that it would be more a problem of large media than of lots of cards, so I’m not sure if local server will help. But good luck anyway.
sorry to resurrect this thread, but I’d like to throw in my opinion here. i feel like even if ankiweb code is open sourced, the majority of users would still opt for a paid hosted version over self-hosting. another benefit of open-sourcing is that other people can help out with development.
that said, i understand your reluctance and i do think it’s a valid argument against open-sourcing. we just want this project to last as long as possible
It would still be awesome if at least some parts of the code were open-sourced, like the front-end. The really important part of the code can still be in your hands.
I think the UI of the website can really benefit from more contributers. The site doesn’t get a lot of updates and we don’t even have a dark theme.
I really hope you’d do this, now that we also have the LP as open-source.
Some changes that would be nice in AnkiWeb
1-Include links in the comments of addons or decks, even if it is in HTML format, as happens when an addon or deck is published.
2-Show the latest decks published (it could be the last 100) to get an idea of what people send
3-List the most downloaded decks (it could be a list of 100), this list could be monthly and/or yearly
4-A better evaluation system, instead of just good or bad, maybe a system of 1 to 5 stars.
5-A section for recommended decks, where people can mark a deck and depending on the amount of marks it would go to the top (showing the 100 most recommended decks)
I think development related to AnkiWeb’s servers is difficult for volunteers. The monthly cost of servers that sync millions to about 10 million users every day like the Anki server may exceed several tens of thousands of dollars. So if volunteers enhance the server the cost could increase.
Also the AnkiWeb reviewer works as a mobile alternative, so if volunteers develop it as advanced as Anki for desktop the number of users of AnkiMobile and AnkiDroid will decrease and thus the revenue and donations may decrease.
So volunteers can provide the code for free but they are not able to cover the cost of running the server, and even if the server is open source it cannot be used by individual developers because of the budget required. Within the Anki ecosystem only official Anki is able to do such fundraising and development at the same time.
It’s a well understood point why the functionality is basic for AnkiWeb. But design-wise, are there no paths of development that doesn’t have much overhead issues?
I use AnkiWeb, just not from a regular browser. If I’m browsing decks, makes more sense to do it in AnkiDroid. Import is easier that way. Plus, I use app blockers so can’t use a regular browser anyway.
Folks, I am NOT using a browser. I follow these steps to use AnkiWeb:
Open AnkiDroid (one of the few apps I keep unblocked).
Tap plus sign.
Tap “Get shared deck”.
AnkiDroid shows me AnkiWeb using the webview. Allows me to download + import anything quickly. Allows me to visit other parts of the site.
Asking AnkiDroid devs to add dark theme there will be wild. We haven’t even got a regular update for months yet. If I can change something with the webview though, let me know. As per my knowledge at least I can’t do anything.