Looks like the Great Firewall or something like it is preventing you from completely loading www.skritter.com because it is hosted on Google App Engine, which is periodically blocked. Try instead our mirror:

legacy.skritter.cn

This might also be caused by an internet filter, such as SafeEyes. If you have such a filter installed, try adding appspot.com to the list of allowed domains.

Wondering about big review piles

ximeng   April 7th, 2009 4:15a.m.

Just wondering to myself what would happen if I leave Skritter for a sufficiently long time that the majority of characters hit their review time and get set to ready. Assuming I didn't use the save me button, what would happen if I got a character wrong while going through the big review pile? Does it go to the back of the queue, or would it be introduced somewhere in the middle.

In other words do you have to go through all the characters in a review pile once before you can review any particular character twice?

scott   April 7th, 2009 7:48a.m.

Before the huge migration, you would have had to go through the whole queue to get to that missed one again. In the new system, we keep track of when something is very over due, specifically when it has been twice as long as it was scheduled for. Those get first priority when you practice.

We've actually just been working on a new system called the Genius to make it work even better. The thing is, to get the best out of the system you want to order by age, not by the scheduled time. The age is the ratio of time passed over scheduled review time. So say a word has been scheduled a day after it was last reviewed. If 12 hours have passed, its age is 0.5. If 24 hours have passed, its age is 1, and it is ready to review. If two days have passed, its age is 2 and it is overdue.

Unfortunately, the server can't sort by ages, since they are constantly changing at different rates for every item. So with the Genius, Flash is going to load up a number of items, calculate their ages and sort them accordingly. Given that it will still be searching for things to study based on scheduled review times and it can't load up all your thousands of items, it will probably not always give things to study in the absolutely correct order, but it will be a lot closer to what you want than the current system.

So with the Genius in your scenario, that character you got wrong would probably age much faster than the rest of your queue and so it would pop up sooner.

The Genius should also get rid of the problem of repeated characters when overpracticing. Flash will put items you just recently studied at very low priority and continue looking for more aged items to give you.

jpo   April 7th, 2009 11:47a.m.

That sounds great, Scott.

One other thing that would be helpful for me would be to add a bit of randomness. Currently, items that were introduced together tend to remain together as a block if I perform similarly on them.

For example, a few days ago, I added a bunch of simple radicals from the terrific Radicals list. I knew many of them already, and get them right consistently. What seems to be happening now in my review sessions is that whenever they're scheduled for review, the big block of radicals all comes up together. I happen to find the radicals somewhat less interesting to recall and write than other vocabulary items, so whenever this block comes up, it's like "oh no, not the radicals again!". I'd find it more interesting if they were mixed together with my other review items.

I think this logic even applies to sequencing of individual items. I've seen several words that tend to come up in the same sequence each time (probably the sequence that I originally added them). I find that studying things in a fixed sequence tends to introduce undesirable artifacts in my memory, because the recognition is based to some degree on the context.

I think that the aging algorithms you described would deal with this to some extent, because the ages would vary constantly on an item-by-item basis (depending on the granularity, I guess - this probably wouldn't apply if the ages were measured in hours or days, rather than minutes or seconds). And the fact that Flash is only selecting a subset of items at any given point might help with this also.

But having a bit of explicit randomness might be helpful as well. My understanding of the SRS logic is that it doesn't depend specifically on practicing things at precisely the right times (down to the minute) or in precisely the right order. So maybe if on the client side, you know the next (say) 10 items in the queue, you could randomly select which item to present from this group of 10, rather than always choosing the one with the highest age value.

scott   April 7th, 2009 12:04p.m.

Sure thing!

I actually had randomness hardcoded in previously for the reason you describe. When I made the latest scheduling system that changes on a per user basis I figured it would move around enough so that it would add some variety to the scheduling naturally, so I removed the randomness. Looks like it isn't doing much right now though, so I'll put the randomness back in.

xiaosanyi   April 7th, 2009 6:18p.m.

Hey Scott, the Genius system sounds great. How far is its development so far?

And Jpo raises a point I've noticed as well. Sometimes I feel I can recall a character only because I remember the one before it and have an idea of what the next one was. Well, I'll go see if the randomness is working. Cheers!

scott   April 8th, 2009 12:48a.m.

Nick's doing most of the heavy duty coding since it's client side. He loves it. He said hopefully it will be up within the next couple days, along with a handful of other new features and changes. Since the code is currently in a state of flux, I'll work the randomness into the new system and it'll go up with everything else. You shouldn't have to wait too much longer!

nick   April 8th, 2009 8:54a.m.

Yes, I love it. Love it to death! To death. Death. Deeeaaath.

The randomness won't apply retroactively, so you'll still see the clumps once after it goes up, after which they'll shuffle sheepishly away from each other like zombie teenagers caught making out in the living room by zombie dad but everyone pretends not to notice.

百发没中   April 8th, 2009 10:18a.m.

that's exactly how I would have described it :)

This forum is now read only. Please go to Skritter Discourse Forum instead to start a new conversation!