I'm looking at the flashcard review code and I don't understand why I programmed it the way I did. Maybe you can think of reason why I did?
This means the user could open up the review page on their mobile device / tablet at home in the morning, get onto their bus or train, and review for half an hour, say, and when they get to a wi-fi spot, end the review or click "reconnect" to sync with the website. It's a bit crude but it would have provided some offline functionality, plus made reviews faster when the mobile network is weak.
The only downside to this, is that the user can lose the whole review session if they mistakenly close the page in their mobile browser, or the app is cleared from memory for some reason. The more you review at once the more could be lost.
So I'm quite puzzled really as to why I didn't just load all the flashcards into the page and let the user review with connecting to the server until the end of the review.
Yes, certainly the answers could be saved locally although it wouldn't help restoring the review page if it's closed when offline.
A new offline mode is a whole different ballpark. What I'm wondering is why I made it so that the server has to be contacted between the start and end of the review, seeing as there is so little data.
Reviews take time, so potentially there was a possibility to do reviews while on the bus or train, without wi-fi. I mean SRS reviews here, of course it's always possible to create a standalone page that works completely offline without the SRS.
Stories is one issue. Although all stories could possibly be downloaded with the page, 500 bytes x 2000 stories that'd be potentially 1MB data in the html page for a 2000 card review.
But what's the typical scenario? Typically the user will review less than 100 cards at once. So I could easily load the first 100 stories, giving access to the Story Edit dialog, even when offline.
Actually, I'd prefer the new way. I usually connect through and EDGE network when off the office, and it's so slow that have to push "Reconnect" many several times a session. But from times to times, I loose the RECONNECT button and also the END button, having no choice but to leave the page and restart the review. When this happens, normally I lose the last or so 15 reviewed cards, the rest was remembered. Some bad days the whole thing can happen 3 or 4 times. So for guy with slow connections like me, It'd be great to have that functionality.
It would need to have a very robust reconnect ability. On a few occasions I've lost 15 or so reps, when the reconnect failed and it wouldn't let me try again for some reason. (Though that was quite a while ago and you might have improved the code since then.)