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

:warning: This is a third-party script/app and is not created by the WaniKani team. By using this, you understand that it can stop working at any time or be discontinued indefinitely.

Hey everyone!

I was frustrated by all the iOS apps that are just webview wrappers for the website, so I wrote Tsurukame - it’s completely native, super fast, and it works offline.

View on the App Store

Features

  • You can do reviews and lessons offline. Your progress will be synced when you’re online again.
  • All the radical/kanji/vocab info is included in the app itself. You don’t need to wait for anything to load from the website.
  • Search results load instantly, and you can search while offline.
  • When you answer a review it moves to the next one immediately (or immediately shows the answer if you got it wrong).
  • Graph showing when reviews will be available over the next 24 hours.
  • Pie charts showing your progress on current level radicals, kanji and vocabulary - how many items are locked, available for lesson, available for review, or at Guru level.
  • Options to ignore typos and add synonyms during reviews (you can disable this in settings).
  • Cheerful animations when you get an answer right.

This is the first release of the app so I’d really appreciate feedback. It’s still missing some important features like similar kanji and example sentences. Also I’m sure there are a lot of user scripts that people depend on that I should add support for.

Please leave bugs and feature requests on GitHub.

Screenshots

158x0w 158x0w%20(1) 158x0w%20(2) 158x0w%20(3)

208 Likes

Yes, this. I’m a android user, so I won’t be able to use your lovely creation. However, I do agree that if you add the option to activate and deactivate the most used script, that your app will be a winner.

18 Likes

Wow, sounds great. I might have to dig out my old iphone to test this out (I switched to android, so I can’t use this regularly)… =P

2 Likes

I downloaded it. It looks good! However, I do miss the answer turning green or red. Somehow that got wired into my brain and now it looks weird without it XD. That’s just a small thing though, other than that I’m glad it exists and I’ll keep using it.

4 Likes

Wow, I thought there was no support from WK for such an app. Yet somehow you managed. How does it work for people below level 4? Does it download for them everything as well?
I downloaded it as well and it looks great! It‘s really well done!
Small feature request: I really liked that screen after a lesson and review session, showing you what you learned and what you did wrong. I usually cycle through everything once I‘m done, I think it really helps.

3 Likes

The screen shots look beautiful, so I downloaded it and it first asks me to log in on a custom screen rather than on the Wanikani website, and rather than inputting my API ID. Does the Wankikani API allowed for a username and password combo? Or have you skinned the Wanikani login page somehow? I’m just curious how it works as I didn’t think an app like this was possible, and the login is a much different experience than I would expect using a 3rd party app to login to a website account. (Say, for example, logging into my Gmail account in the Outlook app.)

Also, the link to your Privacy Page on this first login page is giving a 404 at Github.

2 Likes

Yeah, I thought the same about the login page. But there is nothing interesting in my account, payment information has been deleted a long long time ago, now there is just proof of my devotion left to find.

the app looks nice, I will definitil ygive it a try. Thank you, for creating this

Wow thanks for the feedback everyone! I’ll try to respond to everything:

Good idea! I’ve created Turn the answer field red after an incorrect answer · Issue #12 · davidsansome/tsurukame · GitHub to track that.

All the data is still bundled with the app, but none of the lessons and reviews will be available until they pay for a WaniKani subscription.

I’ve created Add a lesson summary screen · Issue #13 · davidsansome/tsurukame · GitHub to track the lesson session summary!

It’s a bit ugly: it takes the username and password you enter, logs in, and then loads the settings page in the background and grabs the API key from there. It also saves the session cookie to use later for sending the lesson and review progress. I wish the API supported sending lesson and review progress, then this wouldn’t be necessary!

Sorry, that’s a pretty big mistake on my part. I’ve fixed it now - the link should work in the app again. Here’s the Privacy Policy, and all the code is also visible on GitHub so you can check it’s not doing anything nefarious. The relevant code is in LoginViewController.m and Client.m.

4 Likes

I believe WaniKani is considering adding an API endpoint that takes username and password. That might only be to get the API key though, not a session token. Feel free to ask them their status on that if you want.

Wow, this app sounds pretty cool. Is there a way to download it for iOS 10 devices?

1 Like

I just did a test run, and it‘s really amazing! It‘s a lot of fun doing reviews that way. And the final page is nice as well.

A couple of things:
-pressing enter marks the item immediately as wrong. It happened to me a couple of times by accident, it would be nice if an empty answer couldn‘t pass.

-after ignoring an item, it doesn‘t show up again. This might be by design, but for example I ignored my empty answers and they were marked as correct and disappeared from view. It would be nice if they would come back around once, just to be sure. On the other hand, if it really was only a typo, one doesn‘t need a second try… Prevents cheating pretty efficiently.

2 Likes

I was also wondering if it’s possible to turn off notifications? As in the little number showing me how many reviews I have? I can’t find it in settings.

WOW THAT SOUNDS GREAT!
Gonna test it once I got some reviews. Your features sounds nice! Like jprspereira said, if you could add the most demanded scripts (this is the problem about WaniKani (the doge app) and AliCrab) then this will definitely be the winner! =)

This sounds really great! I have to admit that I’m a little weary of the whole login information part, so I’ll probably wait before using it.

Not yet but I can work on it! iOS 10 support · Issue #16 · davidsansome/tsurukame · GitHub

Good idea. Empty answers shouldn't immediately be marked wrong · Issue #17 · davidsansome/tsurukame · GitHub

Yeah this was by design, but it might be worth making it configurable. Ignored items should show up again later · Issue #18 · davidsansome/tsurukame · GitHub

Currently you have to turn off notifications for the whole app. Open the iOS Settings app, find Tsurukame in the list, and toggle notifications there. I agree it should be easier though, I’ve filed Option to turn off app badging in the settings menu · Issue #19 · davidsansome/tsurukame · GitHub

4 Likes

They were talking about adding OAuth2 support, which is like 3rd-party login. You’ll essentially give an app authority for (limited) access your WK account without having to enter your credentials directly into the app. I think the intent was for the access to include an endpoint that would allow review submission, and maybe a few other minor things.

1 Like

So I tried the app, and the thing I like most is the instant loading and possibility of offline use.

I’m not crazy about the correct answer appearing immediately after getting something wrong. I’d usually rather make a second guess without being told the answer. Also, when you are shown the correct answer, it’s not obvious what you are supposed to do next. There’s a + button and a check mark button, but no explanation of what those do.

So, it’s a nice start but I’ll stick with AlliCrab for now.

Looks pretty good so far-- I agree with the above feedback and would add that I like to be able to view item info even after getting it correct sometimes (to check out synonyms usually) so it would be cool if one could choose not to automatically move on to the next item after getting one correct

3 Likes

Yes. This too should be an option.