[iOS] Tsurukame - native app with offline lessons and reviews

Yeah understandable! Thanks for implementing it it’s made my life a lot easier haha

1 Like

Yeah, I use back to back in Anki-style mode and it does speed things up some. I haven’t timed it exactly, but I get the sense that doing it as one review instead of two back to back would lower the amount of time it takes even further, by maybe 20-50% for items I know well.

3 Likes

Hi, I just installed this app and noticed that after completing the lessons in Wanikani website, the lessons still show at Tsurukame app. I tried syncing several times.
Is there any trick to sync them or is it a bug?

Try the TestFlight beta to see if it’s a bug that’s already been fixed.

Has anyone been using back to back reviews and can report they haven’t had any problems with retention?

Now that I’ve done a few reviews with back to back I think I’ll keep it on but don’t want to sabotage my progress

1 Like

I’ve actually had the same experience after developing Anki mode.

I’ve been testing it for a while. :wink:

It’s been in the app for multiple years, so I think it’s okay. :stuck_out_tongue_winking_eye:

I had a chance to test the latest changes to Anki-style mode.

For me at least, the new changes definitely make it easier to use. A couple of things I noticed:

  1. Clicking on “show answer” at the bottom of the screen doesn’t do anything. I know you can click pretty much anywhere else on the screen to show the answer, but it seemed strange that clicking the text that says show answer doesn’t do anything. It also seemed strange that this text is still shown even after you show the answer. This is actually a little annoying because it takes up vertical screen space and in some cases, makes it so that the answer gets pushed down enough so that the answer is occluded by the submit answer menu. Speaking of which…

  2. It would be really nice if the answer would remain visible while the submit answer menu is open. This would be especially useful when using the “auto open submit answer menu” setting. But right now, the answer is often too far down on the screen and gets covered up by submit answer menu. I think this could be fixed by removing the “submit answer” text box after the answer is revealed in Anki-style mode (or better, removing it entirely in this mode) and making sure to put the answer to the current question type above the answer for the other question type. (Also, sometimes, because of the answer menu occluding things and the meaning answer being shown first, when I submit a reading answer, only the meaning answer will be visible, which is pretty confusing.)

  3. When using the font randomizer, tapping the word to show it in the default font causes the answer to be revealed. I really like being able to tap on the word to reveal the answer. So I think the best way to fix this would be to change the “show in default font” action in Anki-style mode to something else, maybe a long press instead.

  4. I still think it would be really nice to have it so that after revealing the answer, tapping the left side of the screen marks it wrong and right side of the screen marks it right. It would also be nice to have the option to disable the animations related Anki-style mode (or all animations).

1 Like

That’s fair. To give you some implementation background, reviewing in Anki mode is actually implemented exactly the same as without it. The show answer text is a placeholder to the disabled text input. If you want to see why the input is still there, turn on allow skipping reviews. It would make most sense to apply the same logic with the text input field regardless of which way allow skipping reviews is set. Do you have any suggestions?

I presume you’re using a phone to review. Turn off the “enable note editing” setting unless you happen to edit meaning/reading notes a lot during reviews. (You’ll still be able to edit them outside of reviews.)

Noted. Don’t forget you can still swipe to switch fonts :wink:

Could you create a quick sketch of what you’d like to see in the reveal answer dialog?

Noted.

Here is some feedback from me regarding Anki mode:

I’ve eagerly awaited it because I’m a big fan of Anki and for me, doing reviews in Anki is a breeze. Alas, I really don’t like doing reviews in Tsurukame’s Anki mode (and actually prefer WK on my desktop whenever I have the chance). Sounds funny, eh? It took me a while to realize what’s going on here, and this is what I’ve found out:

When I use WK (or Tsurukame’s standard mode, fwiw) I can be guaranteed that my text input is being compared against the correct answer. It’s only in the case of discrepancies that I’m getting flagged and need to compare myself (to discover the error and to decide what to do). But in Anki mode, I am forced to do the comparison myself. That means, I want to be able to quickly see what I need to compare. But I’m having a hard time with that.

Firstly, there is movement on the screen when the answer dialog appears (it slides in from the bottom). That takes time and I can’t even start to focus during this time. I would much prefer if the dialog just appeared.

After that, I have a hard time even finding the relevant information on the screen:

There is this purple part at the top which I am still fixated on with my eyes (it moved upwards and took my eyes along, kind of). Then we have this bright white answer button part (very attractive to the eye), while the actual card is even dimmed with a grey overlay. Once I managed to focus on the grey part, the most prominent thing I always see first is “Create reading note”. It is written in the largest font and has the strongest appearance for me (in that grey section). There are many other text elements and they all appear in different fonts and font sizes (the designer’s nightmare :wink:). At this point I usually think “What was I looking for, again?” and only then I can find the hiragana reading.

Compare this to my Anki screen:

(this is my “reveal screen” of a vocab item). I can easily find the reading, kanji, and meaning.

The next thing is that I sometimes still make mistakes reading hiragana :woman_shrugging: In usual circumstances (e.g. when reading a book) this is not critical, but here it might mean that I manifest a wrong reading. Therefore it’s always good for me to have more than one way to ensure the correctness of what I read. The audio recordings would be perfect for that, but unfortunately they are only played after I confirm that I knew the word. So in the worst case, hearing the audio makes me realize that I misread (and falsely confirmed) a word.

Which leads me to my last point: In Anki it is easy to undo a review (by shaking my phone). This way, I can go fast and when I realize that I made a mistake, I can undo. In Tsurukame this is not possible (at least I could not figure out how).

To sum it up, my favorite solution would be:

  • remove the animated slide-in when showing the answer
  • vastly clean up the Anki mode “check” screen, ideally only display the desired information and nothing else (in a large font)
  • play the audio alongside revealing the “check” screen
  • remove the answer buttons, just go by left part of screen and right part of screen
  • implement an “undo review” feature

I know that not all of this is easy to implement (or even possible, e.g. the undo) but one can dream, right? :wink:

2 Likes

@UInt2048 @davidsansome

I have images below showing a suggested mockup.

The phone I am using has a 4.7 inch screen (diagonal length). Even with “enable note editing” turned off, during a reading review, the reading answer is cut off if I have already correctly answer the meaning question. Also, I noticed that sometimes the option to write a note appears in reviews even with the setting turned off. (Even when the option does not appear, the correct answer still gets cut off.) Last, another place I see things getting cut off is that some of the settings explanations get cut off on the settings page. (On the settings page, things are cut off horizontally rather than vertically.)

I didn’t realize you could do that :slight_smile: However, the swipe doesn’t seem to let you switch to the default font.

Here is a mockup showing (1) the initial screen before reveal, (2) after reveal, and (3) during the tap to mark answer right.

  1. initial screen:

  2. answer reveal screen: Ideally, the font size for the correct answer would actually be much larger than shown below. Notice also that the prompt, correct answer, and question type are all very close to each other on the screen, which is easier than needing to look at far away parts of the screen to check the answer or know what the question type is.

  3. answer reveal screen while right side of screen is pressed (during tap on any part of right side of screen to mark answer right): This is important because if you accidentally mark an answer differently from how you wanted, you will realize it from the visual feedback and can undo when the next question appears.

I also agree with most of @NicoleRauch’s comments, especially the 5 bullet points at the end.

1 Like

I’m actually watching this thread, so I get notifications any time anyone replies to it. I would appreciate it if you don’t mention me, so I’ll get directed to the last post I missed, so I can read all the posts and not just yours. :wink:

Wow, that’s pretty great!

Noted. Insert pull request link

That’s a good idea - maybe a two times multiplier for Anki mode?

You sure can dream! I can try to implement some of this. :wink:

2 Likes

Apologies if this has already been covered, I did not even attempt to read all 850 posts in this thread :sweat_smile:

I’ve recently started using the alternate fonts available in Tsurukame, and I love it! I mean, I hate it, because too often they look like chicken scratch or a squashed spider and how the heck am I supposed to deduce a kanji from that, but it’s clearly very good practice. However, I notice that the only fonts available are handwriting fonts. I’d love to have some options for typeface fonts as well. (I’m not a font geek, sorry if that’s the wrong terminology). Is this possible?

I am trying to narrow down where an issue is. This morning, everything was working fine, but just now, the ability to play audio disappeared. When it happened, it popped open a window about not having permissions, but I accidentally closed it before seeing the specifics. Now, all of the play audio buttons are gone on every item. I tried restarting the app and my phone, as well as signing out and in but to no avail. My subscription is solid, but maybe there is something else going on? I wanted to ask here before submitting anything on GitHub to see if it was happening to anyone else but me. Thanks!

2 Likes

This is also happening to me, as of today.

1 Like

Happening to me as well. Did the reinstall log in and out thing as well. Weird. Can still play on the Wanikani sight itself though, but not sure how helpful that will be.

1 Like

@BonusBread @internetpotatoes @HankFekete This isn’t your fault. we’ve identified the issue.


@viet @oldbonsai Your shift to .webm audio such as https://files.wanikani.com/28dym1qiib6mcbojjxfophlqlklw unannounced in lieu of a format such as https://cdn.wanikani.com/audios/3020-subject-2467.mp3?1547862356 just broke Tsurukame’s audio feature, because there’s no longer an MP3 available for it.

2 Likes

Thanks for the quick response, @UInt2048. I just came over from git where I saw your post about this.

The API returns multiple audio formats. The formats are mp3, ogg, and webm.

The mp3 format hasn’t gone away.

Here is an API payload for /subjects/2467

{
  "id": 2467,
  "object": "vocabulary",
  "url": "https://api.wanikani.com/v2/subjects/2467",
  "data_updated_at": "2021-09-01T18:22:40.891504Z",
  "data": {
    "created_at": "2012-02-28T08:04:47.000000Z",
    "level": 1,
    "slug": "一",
    "hidden_at": null,
    "document_url": "https://www.wanikani.com/vocabulary/%E4%B8%80",
    "characters": "一",
    "meanings": [
      {
        "meaning": "One",
        "primary": true,
        "accepted_answer": true
      }
    ],
    "auxiliary_meanings": [
      {
        "type": "whitelist",
        "meaning": "1"
      }
    ],
    "readings": [
      {
        "primary": true,
        "reading": "いち",
        "accepted_answer": true
      }
    ],
    "parts_of_speech": [
      "numeral"
    ],
    "component_subject_ids": [
      440
    ],
    "meaning_mnemonic": "As is the case with most vocab words that consist of a single kanji, this vocab word has the same meaning as the kanji it parallels, which is \u003cvocabulary\u003eone\u003c/vocabulary\u003e.",
    "reading_mnemonic": "When a vocab word is all alone and has no okurigana (hiragana attached to kanji) connected to it, it usually uses the kun'yomi reading. Numbers are an exception, however. When a number is all alone, with no kanji or okurigana, it is going to be the on'yomi reading, which you learned with the kanji.  Just remember this exception for alone numbers and you'll be able to read future number-related vocab to come.",
    "context_sentences": [
      {
        "en": "Let’s meet up once.",
        "ja": "一ど、あいましょう。"
      },
      {
        "en": "First place was an American.",
        "ja": "一いはアメリカ人でした。"
      },
      {
        "en": "I’m the weakest (person) in the world.",
        "ja": "ぼくはせかいで一ばんよわい。"
      }
    ],
    "pronunciation_audios": [
      {
        "url": "https://files.wanikani.com/aeevlg446own3mcs6rye6k4wfq37",
        "metadata": {
          "gender": "female",
          "source_id": 21630,
          "pronunciation": "いち",
          "voice_actor_id": 1,
          "voice_actor_name": "Kyoko",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/ogg"
      },
      {
        "url": "https://files.wanikani.com/w6loj76y9t8ppripy1eindt5dg3y",
        "metadata": {
          "gender": "female",
          "source_id": 21630,
          "pronunciation": "いち",
          "voice_actor_id": 1,
          "voice_actor_name": "Kyoko",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/webm"
      },
      {
        "url": "https://files.wanikani.com/j5dy9yyxpzsywaxifq1c7yc3ctal",
        "metadata": {
          "gender": "male",
          "source_id": 2711,
          "pronunciation": "いち",
          "voice_actor_id": 2,
          "voice_actor_name": "Kenichi",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/webm"
      },
      {
        "url": "https://files.wanikani.com/tfdkyds03nhrbs6to3e0q4avbg1u",
        "metadata": {
          "gender": "male",
          "source_id": 2711,
          "pronunciation": "いち",
          "voice_actor_id": 2,
          "voice_actor_name": "Kenichi",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/webm"
      },
      {
        "url": "https://files.wanikani.com/vtyum09bj9tf2gle7i4ip04iao6s",
        "metadata": {
          "gender": "female",
          "source_id": 21630,
          "pronunciation": "いち",
          "voice_actor_id": 1,
          "voice_actor_name": "Kyoko",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/webm"
      },
      {
        "url": "https://files.wanikani.com/5g89i8489j2joklaqdoy89rzhlqf",
        "metadata": {
          "gender": "male",
          "source_id": 2711,
          "pronunciation": "いち",
          "voice_actor_id": 2,
          "voice_actor_name": "Kenichi",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/ogg"
      },
      {
        "url": "https://files.wanikani.com/jkdnvm82i2kl6my5ts67idq2qdc6",
        "metadata": {
          "gender": "male",
          "source_id": 2711,
          "pronunciation": "いち",
          "voice_actor_id": 2,
          "voice_actor_name": "Kenichi",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/mpeg"
      },
      {
        "url": "https://files.wanikani.com/dwikzn441ltuq4evi7bmt5g3v7q2",
        "metadata": {
          "gender": "female",
          "source_id": 21630,
          "pronunciation": "いち",
          "voice_actor_id": 1,
          "voice_actor_name": "Kyoko",
          "voice_description": "Tokyo accent"
        },
        "content_type": "audio/mpeg"
      }
    ],
    "lesson_position": 44,
    "spaced_repetition_system_id": 2
  }
}

Note that all three formats are available under property pronunciation_audios.

We did update our CDN hostname and how the objects are named, as you have pointed https://files.wanikani.com vs https://cdn.wanikani.com. But this isn’t a breaking change to the API since the shape is still intact. Property values should be expected to change any time.

The old files under the cdn.wanikani.com hostname are still available and will continue to be available to support legacy use. Note how https://cdn.wanikani.com/audios/3020-subject-2467.mp3?1547862356 is still active.

4 Likes

I added a comment on the project’s issue, pointing out the code which is causing the break.

3 Likes

It’s so very strange to do Tsurukame reviews without any sound. It’s like watching a movie with subtitles and the sound off, do-able but unpleasant because I know what I’m missing. I do hope this gets fixed soon! I’m not a developer and I know nothing about scripts, but I love using Tsurukame to access WaniKani.

1 Like