I think it’s actually mostly to make it easier for google to cofrectly interpret the contents, which of course has no meaning here
Sometimes it also makes it easier to change the visual layout via css (like putting the itemd on multiple rows!), but in this case both should work for a dingle-line layout.
Tables might make it easier to keepbthe height the same in case one item has a lot of text.
Still, wouldn’t having all four on one row look weird below a certain size? Like, super tall buttons with one word on each line?
Well, I constrain the heights on my buttons so they never change. I can see a problem would occur if your multiple choice are too long. I would say any answer over two words could cause a problem unless additional coding was added to change font size based on available space. Which I have never had success with on my own so far.
I really liked your deck model. It worked fine on AnkiDroid, but it did not work on Anki desktop windows. The js booster add-on contained an error.I have found another error in AnkiDroid. In the activities where you have to write the translation of the corresponding text in the empty field, when I click on the box to type the answer, instead of the keyboard appearing it reveals the answer.
I am learning English and would like to adapt your deck. Could you help me? I would like to work with image-sound learning method (first stage without reading-writing). The writing-reading would be a second phase with the same self-adjusted cards. It would be an improved Rosetta Stone. I would like to create these activities:
How do I adapt this deck to add an image (photo, gif or video) to the front of the deck and multiple choices in audios? And how do you create a reverse card template with an audio phrase on the front and multiple image choices (photo, gif, or video)? The size of the images (photo, gif or video) and the text should self-adjust the area of the question field and the field areas of the multiple choices. If it were too small, the student could press in the field to see the full size image. The multiple choices should be randomized according to parameters. It could be randomized according to the right answers from the other cards inside the same deck and subdeck of the card.
I would like to create an activity in which an image (photo, gif or video), image-idea-phrase, and using google “voice for text”, the student speaks the phrase. And compare the phrase with the phrase generated by speech recognition. It could record the voice to compare the pronunciation as well.
Another activity would be to rearrange or put the phrase in order from jumbled fragments of the sentence. The fragments would be audio in the first phase. The student should form the sentence according to the idea-sentence-image.
Activity: omission of sentence fragment in audio. It would be a cross-over method for audio phrases in which the student would have to complete the phrase with google voice recognition (fill in field) and / or multiple audio choices.
The last activity would be to combine the images-ideas-sentences with their respective sentences in audio.
I think a deck model could be used for any language and other subjects. Audio should have two options: one option with real audio recorded and another with audio text-to-speech. And there could be an add-on that reduces the speed of the audios in the card to 0.5x (in both real audios and text-to-speech). This function would be interesting when the phrase hasn’t been understood. These activities and the cards should then be converted in the second phase to the reading-writing training phase with image-writing method with audio.
I’m afraid it seems like you’re overestimating what could be done by simply adapting my existing template, or even using anki itself.
Keep in mind that:
Anki really only supports javascript that takes information stored in the various card fields.
This is essentially just a reskin. A lot of the work is just CSS that makes a standard Anki deck look and feel more like WankiKani.
Even my “flavor” or hinekidori’s deck ended up being 90% rewritten from scratch.
Speech recognition is not something anki supports. I don’t think you can do this at all.
The reordering game could probably work, but it would need to be written entirely from scratch.
In my opinion, the two most significant additions on my part were:
Multi-choice. which is kind of a hack where all options are stored as a long json string in a text file in the resources folder.
Storing data between the front and back of the cards isn’t really supported by anki, but I found a workaround on the web.
These two solutions could certainly serve as an inspiration for creating some of the features you describe, but you would still need to implement them more or less from scratch anyway. Maybe some of the multi-choice-specific features could be built upon them, but would still require a significant amount of work.
I also think your best bet would be to learn to write native apps. Writing javascript in anki is quite bothersome, and even this project was kind of stretching it, I feel. It would also probably allow you to implement the speech recognition feature.
Not really relevant to the Anki discussion, but looking at the screenshots - “The Duck is lase”? “The lion is the king jougle”? That’s not even English! I wouldn’t trust that app to teach me anything…
Of all the decks I’ve tried, I think its the best. I wanted a master deck that looked like Rosetta Stone. I’m studying for Rosetta Stone. I would love to learn how to program, but now I do not know anything about programming. Speech recognition would be a google “api” as do many applications and the google keyboard. Thank you anyway.
@crihak I have been attempting to utilize the JS Booster to simplify the coding in my Template but am having a hard time getting it to work. Is there a primer somewhere that I can read up on to try and find what I am doing wrong?
Not sure actually… but if you tell me what you’re having trouble with I might be able to explain…
One gotcha off the top of my head though is that anki seems to be doing some caching, so unless you rename the .js files the most recent version won’t be loaded…
It’s not recognizing the files I’m trying to create on my own.
The current process I go through is to minify the js through an online converter, dump it into notepad and save as a js. I read somewhere to make sure I’m saving the file name beginning with an underscore, so I’m doing that as well. I have attempted to create a wanakana file of my own and to create a file from another piece of script, but neither are working.
I don’t think I need anything else to activate them since I was able to copy over your js files and they work as intended as far as I can tell. I did notice that wanakana will not work without wk_jp_input.
This is all very new to me, so you may be getting some really basic questions. Sorry for the trouble.
I believe the underscore is to let anki know that it’s a media file that should be kept even if it’s not referenced on any card.
Since you’ve got it working with my files, maybe you can start from there and see if you can figure out what’s wrong?
When I’ve got two things that to me seem like they should function identically, but for some unfathomable reason only one of them does what I expect, I sometimes start from the one that works and try to transform it into the other.
So maybe a starting step could be to modify my files and see if you can get that to work… then maybe rename them? If that works, or you can figure out why it doesn’t, you should be able to continue.
Also: one trick that can get you around the caching issue I mentioned in the last post is to add a useless parameter to the file name when linking to your javascripts:
src=“_myfile.js?somepar=whatever”
and then when you’ve made an update you can change it:
src=“_myfile.js?somepar=whatever2”
Even though it’s the same file, anki will think it’s completely new and reload it rather than fetch it from the cache.
This doesn’t work in the mobile version though, so when you’re ready to use it in the app, you’ll need a fresh filename I think.
Thank you for the feedback. I took your advice and compared your files to mine and was able to find the issue. Of course it was something simple. Once I knew what I was looking for I made quick progress.
The caching issue is an interesting problem. Is there no way to clear the cache and have Anki reload the new files without your work around? I did some google searching, but haven’t come across anything yet.
That’s only an issue while you’re developing. Once you have things working the way you want, the caching is a desirable feature, since it’ll speed up load times
My gut feeling is that you can’t disable the cache unfortunately… since anki was never really built for this kind of thing (as I understand it, the ability to use javascript at all is mostly just a byproduct of anki using html for the cards). So I don’t think there’s really any effort made to make it developer friendly.
I know too little (close to nothing actually) about plugins, så maybe it’d be possible via those, but if there was a cache-disabling plugin one would expect it to turn up in a google search…
Also how has the timer and multiple choice features you implemented been working out for you? I’m curious since it’s not something I’ve got around to trying out yet.
I actually disabled both multiple choice and timer some time ago
Multiple choice was too lenient I found (I noticed that I encountered the words IRL and didn’t remember what they meant…). So I think they might have been a bad idea actually…
I felt the timer was a good time-saver when I used it on WK, but right now I’m thinking that I probably want to give myself the time to read things properly.
Um… I’d love this, but without having to write the answer (that is, I’d prefer the classic Anki mode but with this styling). How can I achieve that? I’m a total Anki noob