WaniKani has an excellent way to unite the quick pace of review answers and the sometimes spotty internet connection, like with mobile connections - it preloads the next ~6 or so question and allows you to answer them, uploading the answers at a later time. Really awesome thing! (As a result your answers for those preloaded questions can actually get lost if the connection is terminated before syncing back).
One thing I feel is forgotten though - the sound.
The sound is only requested as a GET if the answer for a vocabulary was correct. Especially with train Wifi this results in delays like this:
In this timeline I give a correct vocab answer at second 5, but the sound was only played at second 20. Almost 15 secs of delay.
Of course this isn’t WaniKani’s fault, but the train’s wifi having latency spikes. As a result however, I often find myself hearing the sound of a vocab I answerd two or three reviews back. Sometimes I answer so many reviews before the GETs execute, that I hear two sound back to back, that I answered 4 reviews ago.
In cases like these, it’s not a fun user experience.
This could be remedied at least somewhat by preloading the audio file for the next vocab answer. Currently WaniKani serves 10-20kb sized MP3 files. Preloading just one should not be too painful resource wise. Furthermore I have seen WaniKani implement a new audio format with the 2020 spring update, that broke this ThirdParty app for a week: [Android] WaniDoku - Android app to get you to read some context sentences - #30 by FrostKiwi
Since it was WebM (an Opus compatible format) in that Update, maybe WaniKani has already experimented or completed the implementation of speech optimized sound compression, like Opus with it’s Speex component, which would make the cost of preloading lower.
The thing is, the train is the ultimate learning environment for me. No excuses - the internet is too bad to distract yourself with YouTube Videos and you are sitting with this heightend sense of concentration. It would be great if the user experience for those cases could be improved a bit by preloading at least one sound in advance.