Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-brand sync server implementations to prevent confusion #1

Closed
sethidden opened this issue Nov 21, 2023 · 18 comments
Closed

Re-brand sync server implementations to prevent confusion #1

sethidden opened this issue Nov 21, 2023 · 18 comments

Comments

@sethidden
Copy link

sethidden commented Nov 21, 2023

(for people from anki forums, because I can't post links there):
https://0x2f.pl/posts/anki-sync-server-misleading/
ankidroid/Anki-Android#14635

@VikashKothary @dobefore

Hello,
I wanted to ask what are your thoughts about the "official implementation" vs "ankicommunity/anki-sync-*" split caused by ankicommunity/ankicommunity-sync-server#158 ?

Hard to tell difference between ankicommunity and official repo

I've recently updated to latest AnkiDesktop and started getting the JsonError { info: "missing field media_usn at line 1 column 114" } with both ankicommunity/anki-sync-sever-rs and ankicommunity/anki-sync-server.

It took me a really long time to understand that the official syncserver implementations live in https://github.com/ankitects/anki.

Sure, there's the sync guide https://docs.ankiweb.net/sync-server.html that gives you instructions, but:

but of course the code in https://github.com/ankitects/anki and in the ankicommunity org different. But it never really says that in the guide

Adding more roadsigns so people aren't confused

Factors that made me confused:

  1. The org is called ankicommunity, which made me think that this is the official org. I installed AnkiDesktop from my system's package manager so I never really saw the ankitects repo
  2. The ankicommunity repos rank very high in the query for "anki sync server" (2nd and 3rd result), and I think people could just instinctively click the github link rather than Anki's official sync guide.

I was wondering if you'd be willing to put some more roadsigns in the repos to draw a clearer line betweent the ankitects and ankicommunity orgs?

I already see that anki-sync-server-rs points to the sync guide: https://github.com/ankicommunity/anki-sync-server-rs/blob/master/README.md?plain=1#L16 but as I said, you can still get confused with it I described

Roadsigns

I was thinking maybe:

  1. Adding something like this to the readmes:
The implementation in this repository is different than the one described in https://docs.ankiweb.net/sync-server.html. 
If that's what you were looking for, it's here: https://github.com/ankitects/anki. 
Also see https://github.com/ankitects/anki/pull/2329
  1. Consider archiving certain repositories until the situation with the metadata stabilizes

I've been using the ankicommunity/* servers for a long time and didn't even know that there's anything in the ankitects repo because to me the ankicommunity servers were always the official ones in my eyes. If anything, please consider this as this issue I noticed recently that I wanted to bring to your attention. Thank you!

@dobefore
Copy link

Hi.sounds reasonable.I have archived the repo of rust implementation.

@MapManagement
Copy link

Hey, I ran into the same issue a few days ago, but now I'm wondering why you closed this issue already. I'm aware, that the Rust implementation has been archived, however, the other repos you mentioned are still untouched. I'd say that at least the Python sync server should be archived too, to avoid any further confusion.

@sethidden
Copy link
Author

Sure, I'll reopen. I closed due to lack of activity - I'm kinda self concious about asking the creators to archive their own work and didn't want to be pushy :/

@sethidden sethidden reopened this Dec 26, 2023
@sethidden
Copy link
Author

@VikashKothary Just pinging. What do you think about archiving https://github.com/ankicommunity/anki-sync-server given the recent breaking changes in Anki in 2.1.57+ and pointing towards the ankitects implementation in the readme?

@VikashKothary
Copy link
Member

VikashKothary commented Dec 27, 2023

Merry Christmas to everyone. 🌲

Thank you for raising this as an issue @sethidden. I can understand following the the release of the sync server built in to Anki Desktop, we now have a branding issue which can lead to confusion amongst users.

To my understanding, the anki-sync-server is the oldest and most used Anki Sync server (other than in private AnkiWeb server). While I'm thrilled that Anki now has a feature to support users who want to self-host their data, I would be hesitate to just discontinue support for all the existing users of this project.

Here are my thoughts:

  • Update the community project branding to better differenciate them from the built-in server e.g. ankicommunity-sync-server, etc. (I would suggest raising it to the Ankitect org to update their user guide as well to warn about the confusion.)
  • The community should promote the built-in server
  • Users should be directed to use the built-in server if it meets their needs
  • The community should support users that want to migrate the built-in server who wish to do so
  • The community should continue to support the anki-sync-server
  • Ideally, if there is interest in the community, we continue to support new versions of Anki Sync Protocol.
  • Ideally, we continue to support advanced features that are out-of-scope for the built-in sync server such as external database and API support.
  • Ideally, this community continues to support other projects outside just the sync server.

That being said, that's just my guess to what the future holds.

Right now, I am the main maintainer and typically only get involved as needed so a big part of what happens with these projects depends on what the community contributions are. As such, I'd love to hear what others think. Please let me know.

@sethidden
Copy link
Author

About the branding:

What do you think about moving the repo from ankicommunity to the respective main maintainers' own private accounts? This is a radical solution, as of course it'd be best to keep the org. That would make the ankicommunity/* prefix disappear, though of course the community (as in people) would stick around. Thus, it'd be clear that "this is an implementation of Anki Sync Server maintained by Vikash Kothary", rather than "this is the official Anki sync server"

I supposed it'd be difficult to keep the word "anki" in the org, given that the offical org (ankitects) isn't very formal either

@VikashKothary
Copy link
Member

VikashKothary commented Dec 28, 2023

The problem this organisation was created to solve is that maintainers often come and go, which results in a lot of dead projects. You can see here that it took a lot of time and effort to untangle the issues that occur when repos are under individual developer's accounts.

I believe the use of anki in project and organisation names is common convention for example with AnkiDroid. And while I want to support minimise the confusion, I think it's important to acknowledge that renaming our repositories will result in a lot of broken links and decreased user traction from external sources. This will likely be damaging for a small community such as ourselves which lives on community contributions.
I would prefer to minimise this damaged.

Do you think adding a sign post to the README won't be enough to clear the misunderstanding?
I will also try and confirm with users that they are using the correct server when they create new issues.

And then we see if this issue continues to be raised?

@sethidden
Copy link
Author

Your point about AnkiDroid is valid, though I must say that with AnkiDroid it's clear that it's for Android - there's no overlap between what ankicommunity and AnkiDroid offers, as in the case with anki(community|tects).

Still, I see your point about keeping the org, community and links intact.

In that case I agree that a readme header would work just as well. The current one at anki-sync-server-rs is OK:
image

I guess it could be a bit more verbose saying something like "This is a server implementation created by the Anki user community, which is separate from the official implementation at [ankitects link]" - to further separate the repos from ankitects. I guess someone could still get cognitive dissonance from reading "Please use the official sync server" - "What do you mean the official sync server - this one is the most popular and most widely used!"

@sethidden
Copy link
Author

sethidden commented Dec 28, 2023

I would suggest raising it to the Ankitect org to update their user guide as well to warn about the confusion

https://forums.ankiweb.net/t/sync-server-implementations-confusion-between-ankicommunity-and-ankitects-github-orgs/38920

@VikashKothary VikashKothary changed the title Archive sync server implementations Re-brand sync server implementations to prevent confusion Dec 28, 2023
@dae
Copy link

dae commented Jan 10, 2024

This is causing people confusion. Please update the readme on the repos mentioned at the bottom of the first post to make it clear to users that they do not work with modern Anki versions, and that users probably should be using https://docs.ankiweb.net/syncing.html instead.

@VikashKothary
Copy link
Member

Nice to see you @dae :)

We've just received a contribution to update the README. Please have a look.

I've also renamed the repo.

@dae
Copy link

dae commented Jan 11, 2024

Thank you!

@sethidden
Copy link
Author

sethidden commented Feb 20, 2024

Please update the readme on the repos mentioned at the bottom of the first post to make it clear to users that they do not work with modern Anki versions, and that users probably should be using https://docs.ankiweb.net/syncing.html instead.

I copied over a modified README from https://github.com/ankicommunity/ankicommunity-sync-server to the remaining two repos that precede ankicommunity-sync-server[-rs]:

Please archive if viable

@sethidden
Copy link
Author

@VikashKothary Hi I was wondering if you'd be willing to accept the above 2 PRs?

@VikashKothary
Copy link
Member

VikashKothary commented Mar 21, 2024

Hi @sethidden, thank you for your contribution.

I have some feedback on your PRs so will need to work with you on them. I am a bit busy right now but should have more time in April.

Apologies for the delay.

@VikashKothary
Copy link
Member

We should include AnkiDroid versions to the disclaimer for all sync servers.

See: ankicommunity/ankicommunity-sync-server#173

@sethidden
Copy link
Author

sethidden commented Apr 17, 2024

Added to both PRs I linked in my last comment

@sethidden
Copy link
Author

Hey I'm going to close this as this has been going on for a longer time now. The situation seems to me now improved with package renames, README disclamers and Anki docs changed. Thank you.

If there are further issues please open a separate issue - this one has been open for a long time with intermittent changes/PRs related to it and it'd be blurring to continue here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants