A different item queue system

Right off the bat I’m going to point out that I know this is fundamentally different system than what HH currently uses so I get that it’s basically never going to happen. Zero issues if it never happens. However I’m going to write it out anyway because it’s niggling at me!

Current HH system is all about characters. HH tries to teach you characters in a specific order, your HH level is based on how many characters you know and and the little HSK circles on the side are all character based. You finish an HSK level ring by learning all the characters for it. HH Words in this context are merely there to reinforce the characters and are a complete separate thing to characters. The words in HH aren’t the goal, they’re just a thing that helps cement the characters. As such the way words are added is by simply trying to add the right ratio of words so that as you go through the characters, there are enough words to reinforce them. You can set your ratios in settings thereby deciding how many/few words to learn.

Now for the record I don’t think the current system is bad/broken. HH is great. It’s also setup to do it’s thing - teach you characters. Which it absolutely does. If you’re goal is to learn characters or track progress by characters this is exactly what you want.

However, as someone who doesn’t actually care about characters as such, and wants just to learn to read in a general sense, this system is a bit … obscure? From this, individual characters counts aren’t my focus. Right now I cannot just learn X then Y then Z. I would love to be able to add a bunch of stuff I find in DuChinese or LazyChinese vids to the list and have them appear to learn in the order I added them, irrespective of their type (char, word, dictionary item).

If I had my dreams (and I fully recognise I probably won’t so all good), I’d prefer a simple list that can contain both single or multiple character items (I’m trying not to use the word word here so as not to get confused between a HH Word which is only ever 2+ characters).

Then as you burn through that list you get a simple sequence of:

  • Find Next Item To Learn():
    • Get the first item in the list:
      • If it’s a single character item, add any unknown to components to the queue, once all components are done, add the character itself (exactly as you currently do)
      • If it’s a multiple character item, any unknown characters run through the normal character loop above, once all characters are know, add itself to the list (as it normally would for a prioritised word)
    • Once an item and all it’s bits are in the SRS system, remove it from the list

And that’s it. No quotas, no ratios, no separation between characters/words/dictionary items as separate lists/systems. Just learn the things in the order they’re listed, but still do all the cool HH stuff like adding all the components/sounds/characters etc first when the next item’s pieces aren’t yet part of the SRS queue.

The main difference being is that the list doesn’t distinguish between single character and multi-character words or dictionary items. Instead of running through a list of characters and then trying to use ratios and quotas to back out some words to also add, the words are just inherently part of the queue.

This wouldn’t even need to be the default queue, the HH base system could work as it does now. Instead, when someone prioritises an item it just goes into their own queue with the same logic as above. Then when using lessons to select the new items to teach it would become:

  • Does users custom queue have items in it? Pick the next item as per logic above on custom queue until it’s empty
  • Custom queue empty? Run default HH system.

And bham - items I prioritise just turn up in the order I prioritised them single character or multi-character word like. This would also add the ability to really easily show people their prioritised queue and let them mess with it (i.e. rearrange items or remove items etc) because it’s just a bit list.

Since I’m sure there are quite a few character focused learners out there who like the current system that lets them tweak ratios etc, I don’t think you need to replace the base HH system. But if the prioritisation queue worked this way then anyone messing with manual list gets exactly what they expect, but the character focused people can still tweak as they currently do.

And hopefully threads like Dictionary Items Ordering Request(?) and Question: Handling Words I Kind of Know disappear, because custom queue just becomes the simple list I think most people (including myself) expect. FILO vs FIFO isn’t an issue if you can just drag items in the list around to get the exact order you want!

3 Likes

First of all, thanks for the extensive proposition!

I think a theme we’re seeing is that, as one progresses further into HH – after you get a sizable chunk of characters under your belt – so one’s focus leans toward words, reading, mining from native material, etc.

While the current ratio’ing we have going to make sure characters are cemented is working out, it can also cause confusion and inflexibility when you start to “venture off the road of HSK characters”, essentially.

I think it’s quite clever to reuse the current “first learn everything before” flow that Characters have within Lessons for Words as well. I also love the simplicity of strictly having this custom queue in front – having one global priority queue for your own studying sounds quite interesting as an alternative :slight_smile:

Still, of course there are concerns about whether this would make things more confusing. One thing I’ve been putting off is simplifying the application settings :sweat_smile:

We’re looking into revamping the prioritization part of the system, so as that develops, we can explore more on how to better support the native material mining story :+1: whether that is through an absolute “global” prioritization queue of some sort, or a “mode switch” or something else! I can’t promise anything at the moment, but feedback like this helps a lot!

1 Like