Skip to content

Aedict3 new update not adjusted for new AnkiDroid API Enable/Disable feature #599

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
schilki opened this issue Dec 9, 2015 · 36 comments
Closed
Labels

Comments

@schilki
Copy link

schilki commented Dec 9, 2015

Thank you very much @mvysny for all your help. As recommended I will post our conversation to the forum to discuss.

However I belief that this problem concerns Aedict 3 and not AnkiDroid. I am quite sure that Aedict 3 does not recognize the 2 sides of the new API Ankidroid feature (Untick or tick)
Why:
Now it is only possible to export cards from Aedict to Ankidroid if in Ankidroid's extended options the API is ticked on. If the API is ticked off and you want to send a card from Aedict, an error message occurs "Error: Please upgrade AnkiDroid to 2.5 or higher". Why? Because Aedict does only recognize if the API is ticked on, so the new method of direct sending of cards (eliminating the mid-step of modifying cards before creating card in Anki). However, as I mentioned before in my email, the makers of AnkiDroid on purpose included the function to UNTICK the API, so we can keep editing the cards (as before) when sending from Aedict, before saving them to our desired deck in Anki. This is also evident from this thread #596 where Anki's developer wrote the following: "You can disable the API under advanced settings in AnkiDroid, which should result in Aedict choosing the old method of the sending the data to AnkiDroid. Note however that will disable it for all apps, which is probably fine now, but will likely prevent you from doing some cool stuff in the future."

With Aedict's new update however, Aedict completely adjusted to the direct input - aka API-ticked-on function - (the so called "new method") without regarding AnkiDroids extended option to untick direct input - the so called "old method" in the quotation above. Meaning that if you disable the API in AnkiDroid (meaning that you use the "old method"), Aedict does actually NOT choose the old method of sending the data to AnkiDroid (as the AnkiDroid developers thought), instead the error message "Error: Please upgrade Anki Droid to 2.5 or higher" appears, because Aedict was only updated for the new AnkiDroid API-enabled version, disregarding the disabled version (old method). I hope my explanation is understandable.

I read this post: #596
which is the same problem but not fixed until Aedict recognizes the unticked API function of AnkiDroid.

I am not an expert but almost 100% sure that this is the problem, and needs to be fixed on Aedict's side. I am very sorry, I also don't know anything about programming but I am an avid user of your app Martin, so I thought I could give you this in sight from an "every day user perspective". From what I read from the other post "Dinges666" had actually the same problem but it wasn't clearly identified. Because the update of Aedict yesterday, was only regarding the enabled API feature of Anki, and disregarded the feature in AnkiDroid to actually use the "old input method" aka disabled API. Dinges666 also wrote that his concern was he couldn't change the cards anymore before input into Anki, which he could have easily fixed by himself by just unticking the API in Anki. However, as of today with new Aedict update, this is not possible anymore.
His point was also true that if API is ticked, decks cannot be chosen, that's why the problem needs a fix in Aedict for enabled and disabled API in Anki:

So what I think would fix the problem in Aedict is the following (according to 2 versions of AnkiDroid API ENABLED/DISABLED)

  1. AnkiDroid API ENABLED:
    As already done with the new Aedict update. Include a function that lets the user choose into which deck in Anki the card should be send (alrdy done). Then the full bulk of info from Aedict will be directly send to Anki.

  2. Ankidroid API DISABLED: (In Aedict same as the old version, I used this until yesterday without any problems)
    Same as old version, 3 card formats, choose, send over to Anki --> before saving the card in Anki, it will be possible to modify the card in Anki and choose the deck.

I am very sorry, and I don't to be pushy or anything, but I think it is easier to just provide straight forward feedback, and also hope to contribute to further perfection your app @mvysny . I am also not a programmer, and if this is to hard to program for each case (Ankidroid API Enabled/Disabled), I completely understand. However, I would be happy if you read my post throughly, because I also took a lot of time to figure out the problem and to write this.

Thank you so much
Alexander

For everyone please see the log below, from our private email conversation:
ALEXANDER (First email):
There has been a huge mistake in the last update. Export to Anki: Ask for deck when exporting to Anki was in this update. I think Mr. Martin you created this based on the new Anki update where it directly send the cards (without manually being able to modify the card) to Anki. However, Anki already included a feature in options, which lets you (just as before) modify the cards before sending and also change the decks under "Extended Options, Tick/Untick Ankidroid API for directinput". But now you also did an update that let's you change decks when exporting, which leads to a double clash of the same function. That's why please please put Aedict3 back to the previous version (since we can chose which deck in the Anki app API func, you don't need to change anything abt. Anki export). You also took out the option when exporting "Export" option to modify the cards, furigana, Kanji, English order and to modify the text. This was the single most crucial function for me as I always modify the cards before input. This app is absolutely the best and I recommend it to everyone of my friend. Thank you so much!

MARTIN:
Thank you very much for your kind words. You can disable the dialog in Settings / Export / AnkiDroid Deck Name and set it to e.g. "Aedict 3", to disable the annoying dialog. Please let me know if this works for you.

ALEXANDER:
Thank you very much for your quick reply. I really appreciate that you take into consideration the words of your users. Also your app is without doubt the best Japanese dictionary. Thank you so much.

Regarding the issue:
I tried what you said. So basically the problem is Anki made an update last week, where they included the option "API direct input from third party apps". However, this option can be ticked or unticked, which means
if ticked: direct input from aedict without possibility to modify cards
if unticked: same as before, can modify the card decks and also card content etc.before sending to Anki (Just as before).

Now with the new Aeadict3 update it became impossible to edit the cards before sending and to chose whether kanji, furigana, english etc should be included, in which order etc. Also I think the option of chosing a deck in aedict is not necessary and has no benefit since the option can already be en- or disabled in Anki API direct input function. Also, if in both apps the function is on (Anki API ticked) the error message "update Anki..." Occurs. So I thought you might have overseen the API option in Anki (which disables or enables the direct input feature), and thats why you created this option in Aedict (im not sure though what you intended Sir). The option is under Extended options in Anki "拡張機能"AnkiDroidAPIを有効にする。

So basically I would be very happy if the old function of Export in settings would come back in Aedict3, where i could chose input method (kanji/engl, kanji, furigana/engl etc) and manually change the content of each card, and also chose the deck before sending it to Anki.

I hope you can understand my question Mr. Martin and I would be extremely happy if you can help me. Your app has really changed my study progress so much and cant tell you how thankful I am.

Best regards
Alexander

MARTIN:
Hi Alexander,
thank you for your kind mail, I'm really flattered :) Thanks!
Thanks to you, I now understand what the "API direct input from third
party apps" does. Basically, AnkiDroid provides two APIs: the old one,
which only allows sending one flashcard at a time, and the new one,
which supports mass-send (the direct input mode). The old one will
eventually go away (I think that AnkiDroid's Tim told me that), so I
believe there is no benefit in keeping the support for the old one.
So, I believe that we should look forward and instead of keeping
support for both APIs, let us focus on the new API and let us try to fix
what's broken there.

Now, in the new API every entry is exported three times, in three
different card types: "Kanji > Kana+English", "Kanji+Kana > English",
"English > Japanese". Just open AnkiDroid, Card Browser and you will see
they're there. I do not say this is perfect (I find it unintuitive), but
I was told that this is the way AnkiDroid works. I agree this needs some
mind bending, but it may be worth the time. Please also read here:
#596

Also I have added an entry related to AnkiDroid to FAQ:
http://aedict.eu/faq.html

Please let me know if there are any further issues.
Best regards,
Martin

ALEXANDER:
Thanks Martin for your reply again.
However the point I am trying to make is actually about the impossibilty to manually editing cards before sending them to Anki since the aedict update yesterday.

Normally people use the Aedict as follows I would argue:
Let's say I have 3 decks: one Kanji, JLPT words and one Business words

  1. look up a word, click up right on button and "send as flashcard"
  2. before sending we want to modify the cards by all means, because aedict provides a looot of translations for each word etc, which would means sending content as it is, it is impossible to memorize 20 translations. So I usually cut down the content to one or two key translation words and might add an example sentence.
  3. chose which deck it belongs two and click send.

So I add words anyways one by one after I look up a new word, and after modifying what should be on the card.
I dont see any use in making direct inputs from aedict. This is not a process that asks for optimization (acceleration) I think, however much more important to being able to modify the cards before sending.

The Anki API changed nothing about this input method because it could be enabled or disabled under extended options. So I think the Anki developers made this function for other apps where direct input might be useful and speeds up the process, however they left the option for the old input method for apps like aedict. For Aedict it is not useful because it doesnt let us modify cards anymore, why it was a great feature from Anki to let us untick the API and use it as old.

What changed the possibilty of modifying cards was the latest update from aedict yesterday. Now I dont see any way to modify cards before sending them to anki anymore, which leads me to look up a word on aedict and then manually make a card in Anki in the respective deck for I every word I look up now.

I read the thread you sent me, however I think the guy there didnt know about the untick function in Anki to unable and disable the API and therefore had trouble because he also wanted to manual modify cards and chose the deck.

So as of now if I could still use the Aedict version before the update yesterday, i could still manually modify cards. But now I can not only not modify them, but I can not even input cards as direct input, always an error message will appear "download Anki 2.5".

I hope you understand what I mean. Basically I just think it is crucial to let us send card by card and modify its content by ourselves before sending to Anki, because every person wants different things on his card to remember them easily and not standardized entries. Anki lets us do this (even after the update), but the new aedict update prohibts us from doing this.

MARTIN:
Hi Alexander,
the real difference between old and new API is that in old API, two
strings were transferred, FRONT and BACK, and that's it. You could not
extract any data from that and you couldn't format the entries
differently once exported. In the new API, Aedict sends all the data
separately, and then it sends a predefined set of three card models. You
can add your own cards directly in AnkiDroid, which will show fields in
any format you see fit. For example, the definition of the card which
shows "Kanji" as front, and full info as back:

FRONT:

{{Expression}}

{{GrammarShort}}

BACK:
{{furigana:Furigana}}

{{Meaning}}



Example Sentences

{{Sentence}}




{{GrammarShort}}

{{Grammar}}


{{Tags}}

You can however create your own card, with your own FRONT and BACK
definitions.

So that you can add your own card models to entries already exported and
present in your AnkiDroid. Please, if you have further questions
regarding on how to add custom cards to AnkiDroid, please ask on the
AnkiDroid forums. Because this is really a question on how to add
different card formats to AnkiDroid. You can copy-paste our entire
conversation to the AnkiDroid forum, to provide context for others. I do
not have capacity to answer more questions directly, but I can answer
them at forums:

https://groups.google.com/forum/#!forum/anki-android

@schilki schilki changed the title Aedict3 new update not adjusted for new AnkiDroid API feature Aedict3 new update not adjusted for new AnkiDroid API Enable/Disable feature Dec 9, 2015
@mvysny
Copy link
Owner

mvysny commented Dec 11, 2015

@timrae: could you please provide some info about intended purpose of the setting which disables the new API in AnkiDroid? Thanks :)

@timrae
Copy link

timrae commented Dec 11, 2015

@mvysny
As per the API documentation, and the sample app, you should fallback on an intent when the new API is unavailable for whatever reason. Aedict was working correctly when I first tested it, but from the user's comments it sounds like you made a breaking change

@timrae
Copy link

timrae commented Dec 11, 2015

@mvysny
I've added a manual testing section to the API documentation. Please check that Aedict complies with all tests.

@schilki
Copy link
Author

schilki commented Dec 14, 2015

Thank you both @mvysny @timrae for coordinating with each other and providing us with two great apps.

As for the timeline of happenings (because @timrae said that when he first tested Aedict with Anki it worked fine):

  1. Anki update release:
    -Enabled API: mass sending of cards from Aedict worked, however deck could not be chosen - instead cards went to Aedict 3 folder
    -Disabled API: same as always, individual card sending from Aedict (manually editable) worked

  2. a couple of days later Aedict update release:
    -Enabled API: mass sending of cards from Aedict works, and newly added option of choosing decks.
    -Disabled API: does not work "Error: update Anki to 2.5", manual editing impossible

Obviously Aedict3 does not comply with steps 6-8 of the manual testing section, since as of the update it doesn't work with the disabled API, which is exactly my concern.
Now, @timrae I am very well aware that the enabled API function might be a very efficient way of adding cards from most apps, however for Aedict, @mvysny I think (and also my friends who use the Aedict and Anki together) for Aedict it is quite frankly useless. If you have a word like 行く with like 20 translations, you definitely don't want to send it directly (said above), you'd rather add the card manually.

Since I don't think many users actually know there is a forum, and even if they knew, they wouldn't use it (including my friends who use Aedict), I am not quite sure if waiting for user feedback of the a couple of people who actually use the forum is effective.
As of now I am looking up words in Aedict, but switching to Anki to creating cards manually in there, since the update came out. I would be really happy if the interaction between Anki and Aedict became as seem-less as before.

I would like to ask if @mvysny is planning to make Aedict work again with the disabled API in Anki, so we can send cards as before these updates?

Thank you very much for your help.

@timrae
Copy link

timrae commented Dec 14, 2015

I am very well aware that the enabled API function might be a very efficient way of adding cards from most apps, however for Aedict, @mvysny I think (and also my friends who use the Aedict and Anki together) for Aedict it is quite frankly useless.

I agree that Aedict would require a bit of work in handling multiple translations / readings / kanji. 行く is a pretty good example of an export that results in an unusable flashcard, although I think most words come out fine. The first word that I tried - 結婚 - for example looks perfect.

Rather than referring to the work that we did as "useless", perhaps trying to think together ways that the new system could be improved would be more constructive... For example, is there a general pattern to the manual modifications that you make? Maybe some examples would be useful.

IMHO the old intent based system itself was not really usable because you have to do copy, paste, and edit operations on every single note if you want to get decently formatted cards. Also, sending multiple notes at once was not possible at all. In my case I ended up adding a list of 23,000 pre-made cards to AnkiDroid collated from a few different sources which were all set to suspended, and when I hear a word in real life that I don't know (I live in Tokyo), I search for it in AnkiDroid instead of Aedict, and just enable the card.

This worked pretty well in the beginning, but as you get better at Japanese the probability that the card isn't in your list gets exponentially higher, and it becomes frustrating have to search in both dictionaries, and especially having to make manual edits when it's not in AnkiDroid once you're used to a one click solution.

Of course, the old intent based system should work if the user chooses to disable the API, and I'm sure @mvysny will bring Aedict in line with the manual testes, but the point I'm trying to make is that I'm sure we can work together to come up with a way to get the integration to work well for most use cases, and increase our efficiency at learning Japanese.

@schilki
Copy link
Author

schilki commented Dec 14, 2015

Thank you very much for your explanation @timrae . Excuse my hard usage of that word, I didn't mean your work for this update is useless, just in combination with Aedict I did not see any benefit towards efficiency for my usage pattern. However, with other apps I am sure it is very efficient, or - as you explained - with other usage methods of Anki and Aedict, as e.g. your personal one.

I also live in Tokyo, and I am past JLPT N1 level. I have created over 18,000 cards with Aedict in 6 months (9500 cards x 2) with my method, so I am quite an avid user I would say, that's why I might be a little frustrated.
As for my general pattern for modification, and how I created my cards let me explain quickly:

    • Hear a word I don't know and type it into Aedict
      or
  • Read a word I don't know in Nikkei Newspaper App (predominantly my daily lecture), mark it --> directly open the word in Aedict (through the Nikkei app - no copy paste)
  1. Almost every word has multiple translations, more than 3 I would say. But for memorizing a word in my opinion 1 or 2 key words on a card are absolutely essential in order to be able to memorize efficiently. And 99% of the time these 1 or 2 key translations are used in modern day Japanese.
    Moreover, I would challenge the statement "although I think most words come out fine", because almost all words in Aedict have besides some main translations "common", some other rare to very rare to only old Japanese translations, which with enabled API ALL go into the card. So not only are there several "common" translations for each word, also several rare one's are included.
    Back to the process: --> so I looked up the word an figure out the most common translations with a combination of the context, asking Japanese friends and the example sentences in Aedict.
    E.g. 育成 has 5 translations, I pick two by manual editing before sending the card to Anki into the chosen deck: nurturing, cultivation
    勢い has 15 translations, I pick: force, energy, vigor
    誘導 has 6 translations, I pick: guidance, leading

As for input: Look up word in Aedict, klick on right upper corner, click on "Send as Flashcard", card comes up in Anki, take out the translations I don't need, SAVE.
--> worked very efficiently for me (no copy & paste whatsoever), never had any complaints

  1. Study the deck

I really don't want to talk down anyone's work here, quite on the contrary, I think what @mvysny @timrae have created is OUTRAGEOUSLY AWESOME and I have recommended Anki and Aedict to at least 15 of my friends so far. If it wouldn't have been for your apps my learning process and many of my friends' learning process would have been 1/20 of what it is now (I really mean that). THANK YOU

I guess in the end it all comes down to different learning methods, as you outlined, mine and yours are very different. However, I also know many people who use "my manual learning method" and from another post in this forum I am sure that the manual disabled API input method is also very important for many users.

Thank you again for you responsiveness and help in this matter.

@timrae
Copy link

timrae commented Dec 14, 2015

What if Aedict showed a dialog where you could select which (kanji, reading, translation / meaning, sentence) are exported? For everything except meaning it could default to only including the first hit, and if you tap on it you can select one or more extra / different ones. When exporting multiple cards this screen wouldn't be shown obviously.

dsc_0326

That way in most cases you could just tap on meaning, uncheck the ones that you don't want in a couple of clicks and you're done.

@schilki
Copy link
Author

schilki commented Dec 15, 2015

Would this be for the enabled or disabled API? I think this is a very good idea, and I would have to just tick the desired translations, however, the full manual input should still be possible/ or a way to add other info or arrange the card before sending, because of this:
Often times it's not just the translations I adjust/delete manually before sending to Anki. Depending on the word I also include my own sample sentence, a translation in my mother tongue (German), particles like を、に、が which a word is used with and several other adjustments before sending. I think this adjustability is important because language is not a standardized formula, but many words are used in a certain context or a saying etc., which calls for adjustment (so when you hear it, it is helpful to add these clues).

e.g. 嫉妬 しっと jealousy, envy (word in Aedict)
I would add the card as follows:

FRONT
に 嫉妬 する
[しっと]

BACK
envy someone

In this case I entered manually に、する, someone

Thank you

@mvysny
Copy link
Owner

mvysny commented Dec 15, 2015

Thank you guys for the discussion, I believe I gained at least some insight on which functionality has been removed by dropping the old API. If I understand correctly, you miss the old support for editing the card in Anki before actually adding it to a Deck. If this is correct, I may have a counter-proposal :)

Instead of reintroducing the old API back, how about this: if only a single entry is to be exported, Aedict will show you a dialog with three edit boxes: Kanji, Reading, Meaning, and perhaps Examples, etc. In these boxes, the values which Aedict is going to export will be pre-filled. You can edit the text in any way you see fit - add new stuff, even completely clear the field. These new values will then be exported to Anki.

So, for example you could edit the KANJI field from 嫉妬 to に 嫉妬 する and then quiz yourself only with Anki cards which contains Kanji+Reading at the Front. That is, Aedict would still export three cards for the entry, but you can of course pick which cards to quiz yourself. What do you think?

Alternative is to add another card model, with simple front-back cards, pre-filled by Aedict with what you select.

@timrae
Copy link

timrae commented Dec 15, 2015

@mvysny

I think that's a good idea. Ideally I think there needs to be a way to pick and choose which kanji/readings/meanings/sentences are included without having to do manual editing (for example in the case of 行く above). Manually editing every card to remove all the obscure and unneeded kanji/readings/translations is very laborious.

However, I urge you to implement these changes in addition to offering users the ability to send words from Aedict to other apps via a share intent. Sending text to other apps is a standard feature on Android apps these days. For example, highlight some highlight some text on Google Chrome and it will give you the option to copy to the clipboard or send to any app that supports receiving text (AnkiDroid being one of these).

It's only a few lines of code to add:

    Intent shareIntent = ShareCompat.IntentBuilder.from(context)
            .setType("text/plain")
            .setText("Sunrise")
            .setSubject("日の出")
            .getIntent();
    if (shareIntent.resolveActivity(context.getPackageManager()) != null) {
        context.startActivity(shareIntent);
    }

@timrae
Copy link

timrae commented Dec 15, 2015

I guess you'd probably want to show the same "Pick what to copy" dialog that you show when copying to the clipboard, and put the result of that in the setText(...) method, together with the kanji in the subject as above.

@mvysny
Copy link
Owner

mvysny commented Dec 15, 2015

Manually editing every card is very laborious.

Indeed, but that is precisely what @schilki has been doing and what he currently misses.

You are right about the Intents though; I will revert the old behavior though (via the shareIntent), no problem.

@timrae
Copy link

timrae commented Dec 15, 2015

I think there are two issues:

  1. Giving the ability to pick and choose which kanji / readings / meanings / sentences are sent. @schilki currently does this manually on every card, but he agreed that it would be much more efficient if Aedict let him choose them from a list.
  2. Giving the ability to make manual edits to the content that is being sent over.
    @schilki mentioned that this is very important to him, and I also think it's very useful

I think the final implementation needs to address these two needs simultaneously. I'm envisaging something like this (although putting the labels above the EditTexts instead of to the left of them would probably make sense):

dsc_0327

Deck could maybe be a drop down selector / spinner.

Kanji, Reading, Meaning, Example would all be EditTexts that are filled with the first entry by default, and the text can be edited arbitrarily. Tapping the + button would bring up a dialog where the user can select one or all of the alternatives, which will be appended to what is in the EditText. E.g. tapping the plus button next to kanji would show a list selector with the 4 entries: [All; 行く; 往く; 逝く]

Choosing 往く from that list selector would then lead to the EditText containing "行く, 往く"

@timrae
Copy link

timrae commented Dec 15, 2015

By the way, an interesting statistic from the latest AnkiDroid poll:
41% of the 300+ AnkiDroid users that have responded so far use it to study Japanese

The survey only just started yesterday, so I expect we'll get a lot more responses over the next week.

Considering there are > 1 million AnkiDroid users, I think it pays to get this working really well. Obviously it also adds SRS ability to your app for a fraction of the effort required to actually build SRS directly into your app.

@richardjharris
Copy link

Hi, I also loved the old note creation dialog, I always edit my cards to include custom sentences and notes (usually the sentences where I first heard the word, or something interesting). I really want context (example sentence etc) in the flashcard and I think testing English to Japanese is generally useless, because there are so many Japanese words that could match a given English word. For many words I don't need/want to be able to recall the Japanese word on demand, just recognise it.

In that sense, the old method was really good (except for a few words where there are dozens of meanings I'd have to manually remove) and the new method is very close to useless for me (sorry!)

Obviously there are thousands of Aedict users with thousands of different usage patterns, but I'd like you to know that at least a few people's habits aren't compatible with the current system and really want the old method back! :)

If I have understood this issue correctly, if AnkiDroid's API switch is turned off, then the new version of Aedict will restore the old card editing interface instead of reporting an error of 'Use AnkiDroid 2.5+ or higher'. If that's the case, thank you VERY MUCH! :D

@richardjharris
Copy link

I should also add, not everybody cares about the formatting of cards. Simple text for both question/answer is fine with me (15,000 cards so far). It's not a deal-breaker for some people, I think.

@timrae
Copy link

timrae commented Dec 15, 2015

@richardjharris

If the two points I mentioned above were improved, wouldn't it be even better than the old method? I think combining the good points from the "old" method and the new method is the way forward, instead of just asking for the old way back.

@mvysny
Copy link
Owner

mvysny commented Dec 15, 2015

Thank you Tim, indeed an image is worth a thousand words (I'll start attaching images myself, to better express myself).
Just a thought: if the old, Intent-based API is used, the dialog will not appear at all. Instead, the pre-configured formatting will be used; the user will get his chance to edit his flash-card at AnkiDroid's side after all. It would be annoying to both fill out Aedict's dialog and then AnkiDroid's dialog. So, this dialog will only appear when a single item is selected and the new AnkiDroid API is available. I know it is tedious, but obviously users are accustomed to it ;)

@timrae
Copy link

timrae commented Dec 15, 2015

if the old, Intent-based API is used, the dialog will not appear at all. Instead, the pre-configured formatting will be used; the user will get his chance to edit his flash-card at AnkiDroid's side after all. It would be annoying to both fill out Aedict's dialog and then AnkiDroid's dialog.

Yes, absolutely. The new dialog should only be shown when the new API is used.

A word of warning though, the old CREATE_FLASHCARD intent is deprecated now, so I highly recommend using an ordinary SEND intent (as per the code I posted above), accessible via a "share" button like in most other Android apps. The purpose of this intent should be to share with ANY Android app, not specifically AnkiDroid. Since different apps might have different requirements, I think it makes sense to ask the user every time what they want to copy across (i.e. make it identical with copy to clipboard), rather than use the pre-configured formatting.

FYI:

AnkiDroid will use whatever is in the "subject" field as the front of the card, so you should probably put the kanji expression there irrespective of what the user chooses for the back. Most other apps will ignore this "subject" field anyway.

@schilki
Copy link
Author

schilki commented Dec 15, 2015

Thank you guys for discussing this so avidly. I can assure you that this is an issue that concerns many people, because I think one of the key strengthes of Aedict was the import function to Anki so far.

I am not sure if I got the whole conversation right between @mvysny and @timrae, however I would be very happy if whatever change you might work on now would bring back the possibility to fully edit cards manually as before, whem sending to Anki.

@schilki schilki closed this as completed Dec 15, 2015
@schilki schilki reopened this Dec 15, 2015
@schilki
Copy link
Author

schilki commented Dec 15, 2015

Sorry clicked on the close button by accident.
So basically I would be very happy if I can add words again as I described before in the abovementioned posts. That would mean:

Exactly same order and format:

FRONT
に 嫉妬 する
(しっと)

BACK
To envy so.

(Optionally add stuff like my own sample sentences, German words etc anywhere on the card of needed)

And add this with 2 cards (NOT 3), just simply in the conventional way, once asking the English said, once the Japanese. Decks of course can also be chosen when sending, as before.
The Hirgana reading below the Kanji I actually always hide with my hand and only look at it when I cannot read the Kanji. So it is important to be below the Kanji.

This could be an option for the people who want to use the old method, as with the unabled API.

As long as this is possible as I described I would be very content. And I know that updating and further making the app perfect is the main interest of @mvysny and @timrae , however, quite honestly the card adding function was absolutely perfect for me and I did not once think about a more efficient or better way to add new cards to Anki than this. So for me the function was already fully optimized without anymore potential to optimize.

So whatever you intend to change from hereon after, if the above mentioned would be possible again that would be great. Thank you again for this great responsiveness and interaction with users! Great work!!

@mvysny
Copy link
Owner

mvysny commented Dec 16, 2015

add this with 2 cards (NOT 3)

Once Aedict creates card model with three cards, this can no longer be modified. So perhaps the best way is to simply somehow disable the unwanted card type in AnkiDroid? @timrae please is this possible, or what would you suggest?

@timrae
Copy link

timrae commented Dec 16, 2015

Yes, users can already customize the Aedict "note type" (AKA model) to do everything described in @schilki's post other than edit the fields before they are added to AnkiDroid. It is all described in the AnkiDroid / Anki Desktop manual.

To delete the third card:

  1. Make sure all of your clients are in sync with each other as a full sync may be required
  2. Open the main deck list
  3. Choose manage note types from the overflow menu
  4. Long click on the aedict note type
  5. Edit cards
  6. Scroll to the card that you don't want
  7. Choose delete from the overflow menu

After this AnkiDroid will only generate two cards for each note added by Aedict. Which fields are shown in the cards can also be controlled from the same screen. The note type can be fully customized if you don't like the defaults.

@mvysny
Copy link
Owner

mvysny commented Dec 16, 2015

I have added support for SEND (or SHARE) intent back. Now, however, AnkiDroid presents a bit different UI than it was before (with the flashcard intent): is this okay?
device-2015-12-16-105303

@timrae
Copy link

timrae commented Dec 16, 2015

The interface itself is fine, that's what AnkiDroid 2.5 looks like. However the kanji should usually go into the first field. Did you read my comments #599 (comment) and #599 (comment) above?

@mvysny
Copy link
Owner

mvysny commented Dec 16, 2015

I have accidentally selected the flashcard format "English - front, Kanji+Reading back" ;) After I switched the format to Kanji+Reading / English, it works okay.

@mvysny
Copy link
Owner

mvysny commented Dec 16, 2015

Fixed in Aedict 3.39.3

@mvysny mvysny closed this as completed Dec 16, 2015
@timrae
Copy link

timrae commented Dec 16, 2015

What is fixed exactly? Could you email me a test version?

On Thu, Dec 17, 2015 at 12:45 AM, Martin Vysny notifications@github.com
wrote:

Fixed in Aedict 3.39.3


Reply to this email directly or view it on GitHub
#599 (comment).

@mvysny
Copy link
Owner

mvysny commented Dec 16, 2015

I have both returned the old export functionality, and implemented the new export dialog. I will send you the test build shortly, please test.

@schilki
Copy link
Author

schilki commented Dec 18, 2015

Thank both of you for your hard work. May I ask @mvysny when you intend to release the new update?

@mvysny
Copy link
Owner

mvysny commented Dec 19, 2015

@schilki I have sent a hopefully final version to Tim for a review; I expect the update will be released tomorrow. Please wait a little longer :)

@schilki
Copy link
Author

schilki commented Dec 20, 2015

Thank you so much! Manual modification works again perfectly with disabled API. Very happy!

@timrae
Copy link

timrae commented Dec 20, 2015

Disabling the API is not necessary anymore; you can use both methods
simultaneously.

Manual modification is possible when using the new API as well. You can
pick which meanings and sentences you want from a list, and enter arbitrary
text. It's pretty cool, I recommend you give it a shot.

The formatting in the new model is kind of crappy unfortunately, I hope
that gets fixed soon.
On 21/12/2015 1:54 am, "schilki" notifications@github.com wrote:

Thank you so much! Manual modification works again perfectly with disabled
API. Very happy!


Reply to this email directly or view it on GitHub
#599 (comment).

@schilki
Copy link
Author

schilki commented Dec 20, 2015

I see, very awesome that we can use the manual way as well as the semi-manual way now with enabled API.
One thing I noticed (in the new list-sending style): The Kanji/Reading field can only be modified in the sense that disable an entry or enable it. Would be cool however if we could also manually modify that field like the other fields in the list can do. E.g. I always put the reading underneath the Kanji, not on the right side of it, or add sth. (Not a big deal, just thought I let you know).

For me the app is perfect again! Thanks!!!!

@timrae
Copy link

timrae commented Dec 20, 2015

That was a necessary design decision in order to enable correct generation of furigana and for duplicate detection to work. Instead, you should enter whatever text you like into the "custom notes" field which are displayed beneath the kanji.

Unfortunately the display size of the custom notes is tiny and poorly positioned, but I've sent @mvysny a better template to use, so I'm sure he'll get that fixed soon.

@timrae
Copy link

timrae commented Dec 20, 2015

By the way, when you say:

I always put the reading underneath the Kanji

do you mean on the front of the card?

One of the 3 cards that Aedict generates for each note (the Kanji+Kana>English card) has furigana on the front instead of just the kanji like in the first card. Why don't you just use that? Alternatively you could edit the template and add {{Reading}} below {{Expression}} where you want it to go, so that you don't have to manually add it every time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants