WaniKani / Android-Notification

Android Notifier for WaniKani
GNU General Public License v3.0
34 stars 8 forks source link

Add more stats #3

Closed yacoob closed 10 years ago

yacoob commented 10 years ago

With the unfortunate demise of ky.is WK users have lost a powerful tool. Why not add this functionality to this app? ;3

Specifically I'd like to see:

What do you think about this?

s84606 commented 10 years ago

That's interesting.. Also because you are not the first asking me for more stats. It seems a lot of work, so it will take a few releases to implement everything (there's also the new IME stuff which is taking me a lot of time).

A rough schedule (after the next release which is already frozen):

Release A:

Release B:

Release C:

yacoob commented 10 years ago

relA: why not make it estimate for level N, using same algorithm, with default value of N being 50? The closer N is to current level, the more relevant current streak time becomes.

relC: There were three sets of kanji sets on ky.is:

For every set, there was a table of WK coverage - by WK level N, you'll learn A% of JLPTX, B% of gradeN, etc. In addition, there were pages visualising how much of each of three sets you currently know. This would be a large page, with all kanji separated into groups, and coloured according to your profile. Check here for an example.

s84606 commented 10 years ago

relA: the reason I thought a different algorithm was needed for the current level is that, using a simple (weighted) average, the expected completion date can end up being in the past. On the other hand, by looking at the API, it's not possible to guess in a reliable way the shortest possible completion time, so I believe I'll implement the two predictions (current level and level 50) with the same algorithm as you suggest (I'll use different weights).

relC: thank you for the input. I think I'll start with a pie (or some more compact) diagram for each of the sets you described. At a later stage, if I can see a suitable way for mobile devices, I'll add a more detailed, kanji-by-kanji representation

ascendedguard commented 10 years ago

Just my two cents on the subject:

It seems all the tools I've used so far for this, including http://peterkinnaird.eu/kani/#levels are fairly buggy, and everyone seems to get different results. Besides level 1 always being a large number due to the difference between signing up for Wanikani and actually using Wanikani, the duration of the following levels can be random.

For example: http://imgur.com/kR0xUMN - I completed Level 1 in 28 days, and Level 2 in 4 hours, while 3 and 4 are more reasonable. On Wanikani Mobile, Level 3 doesn't even appear as it jumps from Level 2 to Level 4 (possibly because 2 and 3 were too close together?). Impossibly low completion times would need to be dropped as well.

s84606 commented 10 years ago

Since you are not the first to report this problem (@ankotaro told me level 10 is misplaced in his profile), I believe there's a bug in Wanikani, causing it to set an impossibly early unlock date for some items. Probably the simplest way to fix this is to choose the second unlocked item for each level: I'll schedule this for relB in my list above. Note that I swapped the relative order of relB and relC. Apart from this, there are two sources of differences between the WKM predictions and other apps:

s84606 commented 10 years ago

Just to tell you that I've committed most of the features described in this issue.

I've left out two things:

However here is a build, in case you want to give me some feedback. It may still be a little shaky, since it is the result of a merge of three branches. In addition I still don't like the progress diagrams.. they look like cigarette stubs; may change them as 2D bars:

https://www.dropbox.com/s/9qdxarfw9yvduey/WaniKaniMobile-1.7.0pre0.apk

yacoob commented 10 years ago

In short: impressive :)

In details: there are some snags:

Average level time: x
Next lvl in: y
Lvl 50 on:

Kanji - progress pie chart, JLPT+Joyo progress breakdowns, SRS by level SRS (with an explanation that this is kanji+radicals+vocab) - progress pie chart, by level Time - estimate, time spent per level, progress of kanji/vocab/radicals over time

s84606 commented 10 years ago

Thank you for your feedback. Very valuable. I'll comment on each remark:

yacoob commented 10 years ago

re: bandwidth - you can cache the old data, and update as needed. However, with the new grouping I'm not that sure when is the best moment to refresh the data... short of a "refresh" button, which would be easy but ugly :)

The unreadable plot looks better now - but I think the main change is the background (white now, black earlier). The long first (and maybe second) bar is probably a popular pattern among WK users. Current solution seems fine and is probably the most sensible way to deal with that. Perhaps some visual marking that the bar is off the graph?

s84606 commented 10 years ago

Yep, data is cached, the problem is that those graphs require a lot if information that usually the app does not need at startup. Typically, when you open the stats page, the app has just downloaded items from the current level only (because the item browser needs them). When you access the "other stats", it needs to download all the other levels. Grouping them seems a good solution to me, since it allows the user to choose whether to download them or not (some people have tight bandwidth requirements, which I'd like to partially address in the next release). Data will be cached until the "refresh" menu item is pushed, or a review session completes.

As for the visual indicator, yes: that will be the last feature before freezing rel 1.7.0.

s84606 commented 10 years ago

Series 1.12.x completes implementation of the issue