Im unicorn developer interested in anki “as I’d used it to learn about all topics i want“ and im good at cpp+nodjs+svelte+python so a project like anki : rust+svelte+python is good for me. as i want to help to improve anki as its my dream to help scientists to learn, i want to get involved in your project but i dont want to make bad mistakes so i want your help to hint me how can i do my best, in the other word i want explanations on where i should make pr’s is there open issue for do that or not, and which guidelines should i know to do this migrations. thank you
as i said im experienced in cpp and nodejs and git and so on but my probleme is about which issue concerning this change and if some one has done something how can i persuade it respecting them
Just look in the issue tracker and find something you are capable of solving / implementing. Make sure to link to the issue in your PR (e.g. fixes #5321) and provide all neccessary infos (e.g. why you decided to do something a certain way; things to consider with your implementation, if any; a screenshot if ui changes are involved would be great). Other than that: while not neccessary (at least yet) it would help if your PR title would include FIX:, FEAT: or similar – it really helps dae creating releases and their change notes faster.
Aside from that: PRs in ankis main repos typically need between 1 to 2 weeks of time to be reviewed. In that time, you can merge the main branch into your PR if the main branch changed in that time span.
Anki for desktop is developed by both the official Anki and volunteers. The official Anki works thanks to Ankimobile’s revenue so they likely have full time development and relatively ample resources, so as far as I know they don’t actively recruit volunteers. (probably as the number of beginners increases the burden of support or code reviews will increase.)
AnkiDroid is developed by volunteers, they develop it for free or by donations so there is a shortage of contributors, so the wiki for contributing to AnkiDroid development has relatively more info. e.g. AnkiDroid explains the Anki database.
So I think development of Anki for desktop tends to be handled by developers who are already familiar with Anki, and developers who are actively interested in volunteering or collaborative development tend to be active on Ankidroid.
The server AnkiWeb and the iOS app AnkiMobile are closed source and contributions are not possible. The official Anki website has recently become open source so contributions are now possible.
Add-ons have a small user base so they are rarely developed collaboratively, learners often aim to add features they can use themselves. Developers typically create add-ons when they are not interested in contributing, or their technical skills are not yet advanced enough to contribute, or it is impossible to incorporate the feature into the official Anki.
In the case of advanced developers who are not interested in contributing or volunteering they develop their own learning apps, not Anki. Since Anki is open source it is possible to use Anki’s code (or add-ons code) in such apps but they compete with Anki so they are not supported by the official Anki project or the Anki community.
Recently Anki has been migrating its UI to Svelte as you say and it looks good if you’re skilled with it, but the migration from PyQt to Svelte is being done carefully to keep existing features while not breaking them so it may be relatively difficult. (I didn’t develop them so I don’t know exactly.)
Thanks for your kind answer.
So according to your reply, I can freely contribute to ankidroid app, doesnt it?
My passion and motivation to insist on it, is only that i want be one of those who helps peeple learn.
Probably you can contribute to either but I think it depends on the difficulty level of each issue. Ankidroid has some features exclusive to it so development flexibility should be relatively high. Anki for desktop has the largest user base and features incorporated into the desktop version may be added to AnkiDroid and AnkiMobile later.