helloworld1 / AnyMemo

Advanced Spaced Repetition flashcard learning software for Android.
http://www.anymemo.org
GNU General Public License v2.0
151 stars 53 forks source link

Support multiple-sided card #110

Open helloworld1 opened 9 years ago

helloworld1 commented 9 years ago

Original issue 101 created by helloworld1 on 2012-07-22T16:12:51.000Z:

What is the feature you want? I would very much appreciate some more card fields. For each side (question and answer) I think at least two additional fields would make sense. For example one for synonys, another for example sentence and a third one for comments. It should be possible to control at what point in time each of the fields shoul be shown (together with the question presentation / together with the answer presentation) In case of synonyms for example this allows to control if the synonyms are already presented together with the question so that I know, which synonymes are not asked for. Else I do not want to have the synonyms presentet together with the Question so I'm forced to recall all of the synonyms.

How important is it to you? Quite ... I even would be willing to donate some money for this feature (I already have donated on an earlyer occasion ...)

Thanks a lot!! Ernst

Do you think other people also want this feature and why? I guess so

helloworld1 commented 9 years ago

Comment #1 originally posted by helloworld1 on 2012-07-23T22:09:12.000Z:

I think this is a reasonalbe feature to implement. Actually there is a issue about multi-field card here but I couldn't find it now. Technically, it is not a easy task, well, depending on what the user want. Current there are 3 field supported. Questoin, answer and note. The challenge is how to present them to the user. Any advice on the implementation side is helpful.

helloworld1 commented 9 years ago

Comment #2 originally posted by helloworld1 on 2012-07-24T20:10:04.000Z:

Thanks for your quick and positive answer. I already did a donation by PayPal for your encouragement regarding this matter.

First: I think crucial for this feature is that the Converter will support those fields you are going to implement.

Your question regarding how to present additional fields to the user indeed is an important and at the same time difficult one to answer!!

I would appreciate others to participate in the discussion!

Flashcard Deluxe (http://orangeorapple.com/Flashcards/)seems to work with 5-sided cards: http://flashcardsdeluxe.com/forum/viewtopic.php?f=2&t=1045

However, more fields only make sense if the user can control the way they show up. At the moment I can think of a) together with the question / together with the answer / after the answer (ordered by a click).

Anybody other ideas?

On the Flashcards Deluxe website I found the attached spreadsheet which might be interesting. However, one cannot see how the fields actually are presented.

helloworld1 commented 9 years ago

Comment #3 originally posted by helloworld1 on 2012-07-24T20:13:26.000Z:

The first of link of my last posting has been wrongly implemented. Here a second try: http://orangeorapple.com/Flashcards/

helloworld1 commented 9 years ago

Comment #4 originally posted by helloworld1 on 2012-07-24T20:15:39.000Z:

Thank you very much for your donation!

The author of AnyMemo converter quitted the project long time ago. Now it is not supported any more. However the new way is to use Google Drive (doc) Spreadsheet to download / upload. This is being implemented in AnyMemo 9.1. In order to support multiple field, the main AnyMemo card screen part needs to be completely rewritten (It needs to be since the code is ugly there). I really appreciate if you can find some video demo of Flashcards Deluxe so I can have some more ideas and would be helpful to design it correctly to meet the user's need.

helloworld1 commented 9 years ago

Comment #5 originally posted by helloworld1 on 2012-07-24T20:16:16.000Z:

Issue 64 has been merged into this issue.

helloworld1 commented 9 years ago

Comment #6 originally posted by helloworld1 on 2012-07-24T20:17:17.000Z:

Issue 64 has been merged into this issue.

helloworld1 commented 9 years ago

Comment #7 originally posted by helloworld1 on 2012-07-24T22:18:15.000Z:

You are welcome!

Just to be clear: I don't know the Apple-App Flashcard Deluxe from my own experience. All I know is from the web. However, my godchild will start with French in the next week. I prepared a flashcard database (>3000 entries) matching the teaching aid he will be using at school - and he owns an iPod-touch. This is the reason why I searched for an Apple-Flashcard-App. I will meet him next week, may be I will then see how the app works. Anyway, I don't know if the solution of Flashcard deluxe with 5-sided cards is the best. And since this 5 sides seem to be one of the newer features, there is not much stuff available.

Regarding your question for a demo video: it isn't very easy to find something answering this specific question.

This video http://www.youtube.com/watch?v=AGNgBmZt2Ig perhaps gives an indirect answer. Look at 3minutes 40 seconds ff. "The card can continue to flip over for additional information".

This app (another one) allows for further information by the use of the menue: http://www.youtube.com/watch?v=DEnCmfg1u7I

This short video may help YOU - it certainly doesn't me, since I not even know which signs they use (chinese, japanese, something else ...? What a shame ...): http://www.youtube.com/watch?v=zMBIapiPFvQ

From FAQ http://flashcardsdeluxe.com/forum/viewtopic.php?f=3&t=2 Q: How do I show side 2 first? A: From the study screen, tap the (i) in the top right to view the Study Options. The 3rd setting is "Show Side First". Change this to Side 2.

Q: How do I show side 3 first? A: In the "Show Side First" setting, there is not an option to show side 3 first. (The reason is because I don't know if you want to see side 2 next or side 1 next.) To show side 3 first, go to the Study Options screen at tap "Card Layout". There is an option "Side 3 on Front". This will show both side 1 and side 2 on the back, creating a 2-sided card. If you want a 3-sided card, you can edit this layout. Tap "Edit", "Side 3 on Front", "Side 1-> 2", and you can then move "T2" (side 2 text) to Side 3, for example.

Since the whole thing will consume some working effort from you, it definitively needs some thorough thinking. This process might take some time. But it is better to do the thinking before the programming is done. Which means it is better not to rush into things, even if it takes a while longer.

How is it possible to involve many users in this discussion? By bringing up the topic in the forum?

Now let's start and think aloud (which means that my thought are not well reflected but should serve as mere input for further thinking): How about to define the order of the fields in which they should show up in the deck options? Together with the option to combine - let's say two or three fields - to show up together? Practical? Too complicated for programming and for daily use for a usual user?

helloworld1 commented 9 years ago

Comment #8 originally posted by helloworld1 on 2012-07-25T04:51:06.000Z:

Thank you for detailed report. I will consider all option and give you the design in the implementation point of view (It means easier for me to code and easier for non-advanced user to use).

helloworld1 commented 9 years ago

Comment #9 originally posted by helloworld1 on 2012-10-16T20:34:04.000Z:

<empty>

helloworld1 commented 9 years ago

Comment #10 originally posted by helloworld1 on 2012-10-16T20:34:38.000Z:

Issue 132 has been merged into this issue.

helloworld1 commented 9 years ago

Comment #11 originally posted by helloworld1 on 2013-12-24T06:25:18.000Z:

Issue 287 has been merged into this issue.

helloworld1 commented 9 years ago

Comment #12 originally posted by helloworld1 on 2013-12-24T07:00:54.000Z:

The above mentioned FlashCards deluxe meanwhile is available for Android. You could therefore have a look into how it works there. I have to admit, that I have changed from Anymemo to FlashCards deluxe (http://orangeorapple.com/Flashcards/) mainly because of the multiple sided cards.

helloworld1 commented 9 years ago

Comment #13 originally posted by helloworld1 on 2013-12-24T07:07:07.000Z:

Thank you for mentioning that. Judging from the screenshots, it is not quite clear to me how it handles multiple sided card other than displaying them all together. Probably I need to buy it in order to try out.

https://play.google.com/store/apps/details?id=com.orangeorapple.flashcards

helloworld1 commented 9 years ago

Comment #14 originally posted by helloworld1 on 2013-12-31T03:44:25.000Z:

From tomorrow's nightly build, there will be some change in the way to display cards. Essentially the display part will support multi-sided card internally. I will not change any database related stuff to support multi-sided card in the short term. But with only the display part change, 3 sided card is possible by utilizing all the "question" "answer and "note" field in the database.

This also means huge behavior change in the card handling. If you don't like the new design, please raise you opinion early before it is costly to change back.

The changes includes:

  1. Optionally swipe to flip card.
  2. No animation for revealing the answer of a card.
  3. Card field customization will be used to add sides for a card field instead of appending content to that card field.
  4. Bugs
helloworld1 commented 9 years ago

Comment #15 originally posted by helloworld1 on 2014-01-01T00:46:13.000Z:

Great improvement! I can't show you enough how I enjoy the way I swipe all sides when I turn a database to a multiside one! It's just like a great combination of fluency and velocity when learning the cards!

I still have some confusion , though, along with some other suggestions. But since it's a brand-new design and I just touch it for several minutes. I may need a little more time to figure out exactly what I wanna say. Will post my ideas later.

helloworld1 commented 9 years ago

Comment #16 originally posted by helloworld1 on 2014-01-01T00:52:40.000Z:

The current way is mostly backward compatible, so very little user experience change should be expected for old users. Any ideas are welcome but keep compatibility in mind would be more desirable.

The major compatibility change is the card field customization for single sided card. it will not append additional fields anymore, instead you can swipe the "side" of the field if you are using. I think only minor of people are using the "Customize card field" function so I guess it is fine.

helloworld1 commented 9 years ago

Comment #17 originally posted by helloworld1 on 2014-01-01T00:55:45.000Z:

As a comment here, the gestures should work fine. But you can't swipe the card fields if gestures are turned on. You can click to flip card like the old version.

helloworld1 commented 9 years ago

Comment #18 originally posted by helloworld1 on 2014-01-01T02:14:08.000Z:

Card changing animation will come back in tomorrow's build. The "show answer" animation can not be implemented because of the new framework's limit.

helloworld1 commented 9 years ago

Comment #19 originally posted by helloworld1 on 2014-01-01T09:28:52.000Z:

用新版学习了几百张卡片,复习了近300张卡片。不知道怎么说,反正想到哪儿写到哪儿吧。

  1. 确实这种照顾现有兼容性的做法,对实际用户使用体验的提升,帮助不大。可能真的只有从数据库格式上来大改,才能带来真正的体验提升。
  2. 我所认为的理想的三面卡片显示效果应该是这样: 第一面:问题,且不显示评分按钮; 第二面:答案,且显示评分按钮。如果本卡片有批注,则在这一面有相应提示(如卡片颜色,或在角落处显示Note字样等); 第三面:批注,且显示评分按钮; 切换效果:左右swipe切换。如果没有批注,则切换到第二面答案处后就不能再向后swipe

由这种模式可推出我所认为的理想的多面卡片的效果应为: 第一面:内容一,且不显示评分按钮; 第二面:内容二,且显示评分按钮。如果有后续的内容(如内容三、内容四等),则在这一面有相应提示(如卡片颜色,或在角落处显示Next字样等); 第三面:内容三,其它同第二面; ……………… 最后一面:内容N,且显示评分按钮; 切换效果:左右swipe切换。如果没有下一面,则切换到当前一面时就不能再向后swipe

  1. 希望Note支持TTS朗读
  2. 如果有改进数据库格式的计划,希望以后的字段名不要再叫Question和Answer,还有Note,改成content1, content2, content3 …… 这样应该可以从根本格式上就很好地支持多面卡片吧(我个人猜想)

暂时想到这些。

helloworld1 commented 9 years ago

Comment #20 originally posted by helloworld1 on 2014-01-03T18:44:08.000Z:

关于批量操作,在Android里要选择需要用checkbox,个人感觉选择卡片mark all as learned功能和现有的颜色标志重复而且容易误操作,特别是选择了很多以后.

Note页的TTS涉及的东西比较多,现在所有的地方都是speak question / speak answer我还没有想到如何设计这个部分,所以个人感觉这个要动大手术,更改数据库格式,然后把所有的和question / answer相关的换成field1/field2/field3,然后改设置选项的内容可以定制每个field的设定.然后把google drive 导入导出,quizlet下载上传的支持加入.还有list模式和card reader如何做也是个问题.然后还有live wallpaper也要更改格式.

滑动和点击:个人感觉滑动更好.但是滑动不好触发显示按键的事件,因为滑动到哪里显示按键是个问题.一个解决办法就是总是显示按键.

Email thread here:

另外回复一个关于list方面的: 在你的贴子中问显示答案后再隐藏的必要性。实际上我是想说一个建议,关于批处理操作的 我个人认为现在的list模式下的mark操作不太适合大词库学习,因为每一张卡片都要单独进行mark操作。我个人希望能达到这种效果:在浏览卡片时,如果对答案不确定,可以点击显示答案,如果不需要再学习就隐藏,等把词库都浏览一遍后,再用一个“mark all cards that have the answers hidden as learned”,或"mark all cards that have the answers shown as forgotten"的功能(个人倾向于后者),一口气就可以完成对卡片的标识操作了。

这个尤其对于语言学习来说应该是很常见的,因为一词多意和一词多译的情况太多了,特别是在做批量词条转换词库时,你无法确认某一个字词对应的意思到底是哪一个。比如中文字“楼”,可能在非专业词库中就只有“stair”的意思,但在旅游词库中还有"mansion, tower, pagoda"等译法,在工程类的术语中还有“layer”,“structure”等的译法。所以,如果要能实现上面提的批量标记卡片功能时,显示/隐藏答案的双向功能,一个也不能少。

在 2014年1月3日 下午3:36,locke zongbinw@gmail.com写道:

2. 现在能否在软件本身上做到对note出现的页面进行识别?比如指定note在第一面或第二面朗读?再加上一个默认值:note在与答案同页面时不朗读

3. 数据库的改进那肯定是远期目标了。其实我还有个分类方面的建议,想到可能也涉汲到数据库方面的变动,所以暂时没提出来,嘿嘿。

在 2014年1月3日写道:

    你回复的这种方式其实也没问题,体验上应该也不错的。我说的关键点在于:滑动对于点击来说,是否多余。

    举个例子。在以前的方式下,看到问题后点击答案,此时会显示答案,并且也会显示评分按键,那么显示答案与评分之间就没有多余的步骤,干净利落;而现在这种方式,用swipe到答案后不显示评分按钮,那么得再点击一次才能评分,无形中就多了一个步骤,而每张卡片都要多这样一个步骤,那么整体的操作体验应该会受到很大影响。

    所以,比如在单面卡片下,应该是swipe到答案时,同时也就显示出评分按键,这样就不会有多余的步骤。

    再进一步讲,比如一张卡片有多面,分别为:问题,答案,注释1,注释2 …… 注释n等等,那么学习者可能存在这样的不确定性:第一次新学习一张卡片时,可能要把注释全部看完才能评分,而对于学过的卡片,则根据掌握程度有变化,有些卡片看到答案即可,不再看注释,而有些卡片要看到注释2才确定是否评分……

    在 2014年1月2日 上午5:32,Liberty <liberty@anymemo.org>写道:

        Happy new year!
        你的邮件没法回复,又没有评论到google code上,是 google code的bug? 直接发邮件给你了.
        1. 格式显示其实受到了很多的限制. 一种方式处理多面卡片是直接用一个view来一一显示所有内容, 比如:

        Content 1
        --------------------
        [Show next field]
        点击后变成

        Content 1
        --------------
        Content 2
        --------------
        [Show next field]

        点击后撑
        Content2       | 滚动条
        ------------        |
        Content3       |
        -------------

        [Forget] [ Remember]

        2. Note支持TTS现在的问题是不改数据库,那么用question audio还是answer audio
        3. 数据库现在不会改,工作量大而且可能会把用户的数据库弄坏的.

        Sincerely,
        Liberty

        2014/1/1 <anymemo@googlecode.com>

            Comment #&nbsp;19 on issue 101 by zongb...@gmail.com: Support multiple-sided card
            http://code.google.com/p/anymemo/issues/detail?id=101

            用新版学习了几百张卡片,复习了近300张卡片。不知道怎么说,反正想到哪儿写到哪儿吧。

            1. 确实这种照顾现有兼容性的做法,对实际用户使用体验的提升,帮助不大。可能真的只有从数据库格式上来大改,才能带来真正的体验提升。

            2. 我所认为的理想的三面卡片显示效果应该是这样:
            第一面:问题,且不显示评分按钮;
            第二面:答案,且显示评分按钮。如果本卡片有批注,则在这一面有相应提示(如卡片颜色,或在角落处显示Note字样等);
            第三面:批注,且显示评分按钮;
            切换效果:左右swipe切换。如果没有批注,则切换到第二面答案处后就不能再向后swipe

            由这种模式可推出我所认为的理想的多面卡片的效果应为:
            第一面:内容一,且不显示评分按钮;
            第二面:内容二,且显示评分按钮。如果有后续的内容(如内容三、内容四等),则在这一面有相应提示(如卡片颜色,或在角落处显示Next字样等);
            第三面:内容三,其它同第二面;
            ………………
            最后一面:内容N,且显示评分按钮;
            切换效果:左右swipe切换。如果没有下一面,则切换到当前一面时就不能再向后swipe

            3. 希望Note支持TTS朗读

            4. 如果有改进数据库格式的计划,希望以后的字段名不要再叫Question和Answer,还有Note,改成content1, content2, content3 …… 这样应该可以从根本格式上就很好地支持多面卡片吧(我个人猜想)

            暂时想到这些。
helloworld1 commented 9 years ago

Comment #21 originally posted by helloworld1 on 2014-01-06T07:23:52.000Z:

  1. ����list mode�������checkbox����ò����ˣ�Ӧ��Ҳ������android���������İ취�ˡ��������checkbox����ô�ٴ����ش�Ҳ��û�б�Ҫ�ˡ���֧�ּ���������ܡ�

  2. ����study���棬��Ҳ֧��һֱ��ʾ���ְ�ť����Ҳ�����ù�ļ�������flashcard��ѧϰӦ�õ�������������������Ӧ�ö��и����⣬������questionһ��Ҳ��ʾ���ְ�ť����û�б�Ҫ������Ϊ��õij���ģʽ���ǣ�����questionʱ����ʾ���ְ�ť��Ȼ��swipe��answer��ʼ��ʾ��Ҫ��ť��֮�󲻹ܻ���note����answer����ʾ���ְ�ť�������ش𰸣����Dz���ʾ��ť��

�����ټ���һ�㣬��ȫdisable����л���Ƭ�Ķ��������ֻ�������ط��������ã���������͵�����֣��л���ȫ����swipe�ϡ�������ܿ������ɿ�ѡ�

  1. ����note����ʶ�������������ݿ��ʽ��ȷʵ����ʵ�֣���ֻ����ʱ�����ˡ� 2014-1-4 ����2:44�� anymemo@googlecode.comд����
helloworld1 commented 9 years ago

Comment #22 originally posted by helloworld1 on 2014-01-06T18:43:42.000Z:

乱码,你是用邮件回的吗?发邮件中文会乱码的.

helloworld1 commented 9 years ago

Comment #23 originally posted by helloworld1 on 2014-01-07T03:29:34.000Z:

  1. 关于list mode如果能用checkbox那最好不过了,应该也是最符合android批量操作的办法了。如果能有checkbox,那么再次隐藏答案也就没有必要了。我支持加入这个功能。
  2. 关于study界面,我也支持一直显示评分按钮,这也是我用过的几个其它flashcard类学习应用的能用做法。不过其它应用都有个问题,就是在question一面也显示评分按钮,这没有必要。我认为最好的呈现模式就是:出现question时不显示评分按钮,然后swipe到answer后开始显示评要按钮,之后不管划到note还是answer都显示评分按钮,但如果划回答案,则不是不显示按钮。

甚至再激进一点,完全disable点击切换卡片的动作。点击只有两个地方能起作用:点击发音和点击评分,切换完全放在swipe上。这个功能可以做成可选项。

  1. 关于note点击朗读,看来现有数据库格式下确实不好实现,那就只好期待以后有机会改进数据库吧
helloworld1 commented 9 years ago

Comment #24 originally posted by helloworld1 on 2014-01-07T03:39:06.000Z:

  1. 我的意思就是在Question也也显示评分,这样实现最简单,滑动的事件处理比较麻烦,也是其他软件设计原因,点击一个"Show Answer" 的button然后就可以show answer了.如果以后支持多面卡片,那么哪个是Question更不确定了.
helloworld1 commented 9 years ago

Comment #25 originally posted by helloworld1 on 2014-01-07T07:39:04.000Z:

嗯,我建议先做出来试试实际操作效果,如果不困难的话。

到多面卡片时,这样实现是否可行?即:不考虑哪一面是question,只在第一页隐藏评分按钮。词库作者负责将question统一放在第一面

helloworld1 commented 9 years ago

Comment #26 originally posted by helloworld1 on 2014-01-07T11:33:15.000Z:

如果这样实现比较困难的话,那就还是做成一直显示吧。对我来说,这是小问题,只要能切换到answer或note时能马上显示评分按钮,不用再多点一次,就已经达到我想要的95%以上的效果了。

helloworld1 commented 9 years ago

Comment #27 originally posted by helloworld1 on 2014-01-07T22:29:47.000Z:

I don't have an idea to handle the event for now since AnyMemo shared all the display and event handling code between preview / edit, card player, quiz and some amount of card list. I don't want to make any special logic for the layout for study activity. Once I have an idea I will try it.

helloworld1 commented 9 years ago

Comment #28 originally posted by helloworld1 on 2014-04-17T09:37:34.000Z:

The note field, used as replacement for answer or question as the only checked, tapped should start text-to-speech with the text from question or answer field depends where the note field is added to be shown.

Sweeping could be custumiseable. I for example prefer to see the question/answer and note field together. Anyway more custumisation with default values (as much as possible) prevent the situation when old users lose posibilities they worked out because something was changed.

Maybe new fields for text which should be read by text-to-speech because basic fields can have additional info like transcription which is read automatically too and sounds awful.

helloworld1 commented 9 years ago

Comment #29 originally posted by helloworld1 on 2014-04-17T23:58:13.000Z:

Thank you Andrzej for commenting on this issue. For the current AnyMemo, I would not add new configurations unless absolutely necessary. However, I would like to utilize the existing configurations and provide the suitable experience for most users.

The old version of AnyMemo does not read note field, so the new version is not doing anything worse. The major problem is that the note field is not ever treated equally as question / answer. E.g. audio locale, size, alignment and etc.

helloworld1 commented 9 years ago

Comment #30 originally posted by helloworld1 on 2014-04-18T11:04:53.000Z:

Sorry for my English its probably not precise enough. But I'm trying again because it's quite important for me. Lets focus only on this one problem. Now I'm using 10.3.991 version which works fine but I cannot update it and use new functions unfortunately without losing this one functionality which is very useful for me. Which is: in the "Customize card field2" when I check to show the note field and uncheck to not show the answer field and the question field, in the learnig process when I tap the "Show answer" caption I see only the note field. That's obvious and exactly what I want. Then when I tap the down part of display so the place where there is the text from the note field and was the caption "Show answer" I can hear the click sound (so there's is reaction of my mobile) and then the text-to-speech reads the text from the answer field (not the note field despite it was tapped which is all right). Maybe it wasn't planned but it's very good because the answer field contains exactly what should be read aloud by text-to-speech and note field contains all information I want to see as an answer at a time (answer,commnets, phonetics, synonims...) so I dont want this additional text to be read. Sometimes it's not even in English. That's the old version. It's great.

In newer versions the note field shown in the down part of the display at the moment after tapping "Show answer" don't react on tapping at all (it's the only field I checked to display so there's not sweeping). There's no click and then no text-to-speech. There's no reaction on tapping when the note field is displayed. That's probably the reason.

If it's possible I would suggest to let it to react on tapping and then start the text-to-speech reading the text from the answer field (because I added the note field to the "Customise card field2", if somebody adds the not field to the "Customize card field1" the question should be read after tapping in the upper part of the display).

So my idea is: the note field on display reacts but only text from answer/question is read depends if the note replaces (hides) answer or question. It is avaiable to achieve in 10.3.991 version.

Sorry for a long description.

helloworld1 commented 9 years ago

Comment #31 originally posted by helloworld1 on 2014-06-15T20:17:06.000Z:

I suggest to add option to display at least three fields on the same side of the card. For me it is abolutly must have to display question, answer and note on the one card. In the newest version I also can't or am not able to display third field (i.e. note) when I turn on gestures. Then it is immposible to swipe to see third field.

helloworld1 commented 9 years ago

Comment #32 originally posted by helloworld1 on 2014-06-26T22:11:01.000Z:

Issue 318 has been merged into this issue.