anki-geo / ultimate-geography

Geography flashcard deck for Anki
https://ankiweb.net/shared/info/2109889812
Other
805 stars 79 forks source link

Tag to facilitate resetting changed notes after new release #308

Closed aplaice closed 4 years ago

aplaice commented 4 years ago

As suggested by @ohare93:

What do people think about starting to add a tag "UG::RecentlyChanged" onto notes when major things change about them between a release? Such as a capital changing to a different one, or the name of the country being updated. This would allow the users to filter for those that have changed between versions, so that they can reset those cards if they wish.

From an organisational point of view, it'd probably make sense to add the UG::Recently_Changed tags whenever convenient (as we go along or just before a release) and remove all the existing ones just after each release (to avoid confusion which ones are which).

(I though about "versioning" the tags, by having sub-tags like UG::Recently_Changed::3.4 and removing them after a set number of minor releases, but unfortunately Anki doesn't automatically remove empty tags, so we'd be leaving a lot of clutter for our users.)

ukanuk commented 4 years ago

How would you use this tag? I personally always read the great release notes and can't imagine ever searching my deck for a UG::Recently_Changed tag.

However, I could see this tag being useful to me if it were paired with some HTML+CSS so cards get a notification when note info has changed in the last minor revision. Here's an example:

New HTML in back card template:

<div class="info info--changed {{Tags}}">See <a href="https://github.com/axelboc/anki-ultimate-geography/releases">release notes</a> for updated note content.</div>

CSS:

.info--changed:not(.UG\3A\3ARecently_Changed) {
  display: none;
}

Preview on card with tag UG::Recently_Changed manually added:

image

aplaice commented 4 years ago

Your suggestion is quite neat, but one major issue with it, is that the additional text would be constantly present for all users, until the next release, for the relevant cards. AFAICT there's no way to circumvent that without an add-on*. That might be annoying for most users.

* CrowdAnki could in principle be modified to do that, (since the issue of updated notes is a general topic, not just specific to AUG), by for example removing the tag when the card is reviewed on desktop as well as sporadically checking the number of reviews of "its" notes and removing the tag if the counter has increased (to allow for the card having been reviewed on mobile). However, since CrowdAnki currently is not involved in the review process, does not "manage" its imported notes in any way and doesn't run any background activity, it would require considerable changes, for a relatively small change.

Regarding the benefit of the tag, by itself: I've never used any of AUG's tags, so it's hard for me to judge, but AFAICT the use-case suggested by @ohare93 of resetting updated notes (or cards) seems about as likely to be used as, say, filtering by geographical region (Mediterranean etc.).


It's a shame that cards can't be tagged, since if for instance the capital of a country has changed, there's no reason to reset the Country<->(Map|Flag) cards. Users can obviously manually choose which cards of the tagged notes to reset, so it's not a huge deal, though.

ukanuk commented 4 years ago

The use-case suggested by @ohare93 of resetting updated notes (or cards) seems about as likely to be used as, say, filtering by geographical region (Mediterranean etc.).

Addressing a theoretical use-case seems unwise to me. If @ohare will actually use it that way, then great. But if no one says up front they'll use it, it's not worth the maintenance imo. I would personally enjoy the on-card update notification, but it's not a big deal to me either way.

... One major issue with it, is that the additional text would be constantly present for all users, until the next release

Personally, persistent additional text would not annoy me as it's easy for me to ignore notes I've already read. Just like the Capital info and proposed Pronunciation fields are ignored once the info is learned. That may just be me.

If the text does bother someone, then in the middle of reviewing they can manually remove the tag. Editing notes while reviewing is quite fast on both Anki Desktop and AnkiDroid, and I assume it's also easy on iOS.

ukanuk commented 4 years ago

Also, using plain [Recent changes]() would be less disruptive and probably overall superior to See [release notes]() for updated note content.

axelboc commented 4 years ago

It's a shame that cards can't be tagged, since if for instance the capital of a country has changed, there's no reason to reset the Country<->(Map|Flag) cards.

Indeed, this defeates the purpose of adding Recent changes links, IMO. I would also find it a little bit inconvenient to see the links until the next upgrade, especially on cards that already have quite a bit of supplementary info text.

Addressing a theoretical use-case seems unwise to me. If @ohare will actually use it that way, then great. But if no one says up front they'll use it, it's not worth the maintenance imo.

I agree, until more people express interest, I don't think it's worth the effort. Most likely in a year or so we'll keep forgetting to add the tag in our PRs.

That being said, this would be a great use case for automation with a deck manager! It could tag the notes automatically by comparing the current and previous versions of the deck. We could imagine more advanced behaviour as well, like automatically filling in a field with the actual diff of the changes, which users could decide to import or not (I believe @ohare93 mentioned a feature of this sort being discussed for CrowdAnki).

ohare93 commented 4 years ago

@ukanuk

How would you use this tag? I personally always read the great release notes and can't imagine ever searching my deck for a UG::Recently_Changed tag.

The purpose is not to see which cards have changed, but to then reset the changed cards if I wish. Looking in the release notes is all well and good, but typing each country name and resetting each card is quite tedious.

However, I could see this tag being useful to me if it were paired with some HTML+CSS so cards get a notification when note info has changed in the last minor revision.

I think this is too far, I will know there is a difference when I see the card. My suggestion was merely to ease organisation/admin work.

Addressing a theoretical use-case seems unwise to me. If @ohare will actually use it that way, then great.

I would indeed use it, once every release (so not a lot, overall!)

@axelboc

That being said, this would be a great use case for automation with a deck manager! It could tag the notes automatically by comparing the current and previous versions of the deck. We could imagine more advanced behaviour as well, like automatically filling in a field with the actual diff of the changes, which users could decide to import or not (I believe @ohare93 mentioned a feature of this sort being discussed for CrowdAnki).

Definitely more of a thing for automation to handle. I am happy to shelve the discussion until then, it was just a thought :+1:

axelboc commented 4 years ago

Closing this for now, as discussed. I've added a label called better-deck-manager so we can re-surface this sort of improvements when our set-up evolves in the future.