Giter Club home page Giter Club logo

forgetmenot's Introduction

Header

ForgetMeNot

ForgetMeNot is an Android app for memorizing information via flashcards. Simplicity, usability, speed were taken into account in the process of developing this educational program. This app provides excellent conditions for achieving high efficiency of memorization.

Download

Get it on Google Play Get it on F-Droid Available at Amazon Appstore Explore it on AppGallery Get direct apk

Features

  • Import/export of files.
  • Support of CSV, Tab text or any other kind of Delimiter-Separated Values.
  • Intervals (Spaced repetition). You can specified your own interval scheme for each deck.
  • Several testing methods. There are 'Self testing', 'Testing with variants', 'Spell check'.
  • Pronunciation of the text via TTS. You can choose languages for questions and answers, autospeaking of them.
  • Hiding the text of a question to stimulate improvement of listening skills that is very useful in foreign language learning.
  • Card inversion.
  • Hints in the form of masking letters.
  • 'Motivational timer' that will make you concentrate on your studies (optionally).
  • Saving settings of deck as presets and reusing them in order to avoid routine work on settings.
  • Editing and searching cards right in the exercise.
  • 'Walking mode' that enables you do the exercise without looking at the screen.
  • 'Autoplaying mode'. In this mode questions and answers are pronounced sequentially. You can combine your own activities and repetition of teaching material.
  • Catalog of pre-made decks. The catalog contains many decks for language learning, which includes basic sets of words, thematic words and phrases, whole sentences.
  • Grouping decks into separate lists
  • Customizing the card appearance
  • Dark theme
  • Backup

Video

https://www.youtube.com/watch?v=pxLL2P17UH8

Help translate

Crowdin

How to help translate

Architecture

See the dedicated page here.

Libraries Used

License

GNU General Public License v3.0

forgetmenot's People

Contributors

tema6120 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

forgetmenot's Issues

Bug while renaming deck (and changing app)

Let's say you have a deck called xxxx and you want to rename it to yyyy

How to reproduce::
1 rename xxxx to yy
2 you don't remember the whole name so you want to check another app for the correct spelling of yyyy
3 open another app
4 go back to forgetmenot to complete yyyy but instead of yy you will see xxxx

It is a bit annoying when you try to check the correct spelling of a word.

[question] how to do quiz more than once?

I haven't been able to figure out how to do quiz more than once, i think the limit is once a day right? I think user should have freedom to repeat the quiz as many times per day as they prefer.

how to move decks safely?

I had installed forgetmenot from google play because then it wasn't on f-droid yet and I was eager to try it. Now I feel it makes more sense to use it through f-droid.

So the question is: how do I remove google play's forgetmenot and install f-droid one without losing settings and decks?

Is it possible to export everything at once?

You don't have any browser to open URLs

If I click any link that should open a website it shows that message, for example in the about page if I click on the source code link, or from the add cards menu of I click on open catalog.

Not sure if it's only my phone problem, but I can't find a way to resolve this on my end

AnkiWeb sync

It would be great if ForgetMeNot would be able to download, sync and upload decks from/to AnkiWeb (similar to AnkiDroid).

PS: Thank you for your work! 🙏

ForgetMeNot does not recognize RHVoice (TTS)

RHVoice is a TTS engine. I have installed RHVoice from F-Droid (v. 1.2.3), and downloaded the Esperanto language. I have set RHVoice as preferred engine, and selected Esperanto from Android's Text-to-speech output settings. I installed ForgetMeNot from F-Droid (v. 1.2). When creating a deck, then create a card, general> pronunciation> question> Esperanto (which appears with a flag and a question mark). Then, when testing it, it pops up "Current TTS engine (com.github.olga_yakovleva.rhvoice.android) doesn't support Esperanto."

What can I do?

Two improvements for f-droid release

1 The screenshot in the app are the ones from the previous version, since 1.2 introduced a lot of changes I think it is worth to update the screenshots.

2 Could you add a changelog of the changes of a new version? I think this is something developers decide and then f-droid scrapes automatically each time because I see some apps do and some apps don't...I think it is nice to see what changes before installing a new version.

When editing a card the space is smaller than reality

When you edit the card the text only reaches a certain point on the right of the card then it forms another line below. However when you leave editing mode the card has a white space (about 1/4 of the whole width) which could have been used instead of forming another line. ForgetMeNot should use all the space available so one can write more and avoid making long cards. I hope I was clear enough to explain the issue.

multiple exports

Right now it is not possible to export multiple decks at the same time, which is annoying if you have several, it would be great to being able to select all and then 'export all' :)

Can't export

When I press export, it says, "You don't have any file manager to create a file". I, in fact, have not one but four file managers installed. The stock Samsung one, "Material Files" from Fdroid, "Simple File Manager" from Fdroid, and "Ghost Commander" from Fdroid.

Which open-source file manager does the app support? I'm on v1.2 since fdroid's repo doesn't have 1.3 yet. I'll update this ticket if anything changes with 1.3

Ability to add bold/italic letters

I am using ForgetMeNot for learning verbs, my cards look like the following:

top card:
ballare


bottom card:
to dance
Io ballo
Tu balli

The first line shows the translation in English and then all the conjugations. Right now there is no way to highlight text in bold/italics or change the size. It would be a nice addition to separate text.

Allow selection of multiple flashcards when in edit mode

Right now to delete a card I need to click on it and press the bin icon. I think it would make more sense to keep pressed and have a pop-up for deleting/moving the card, like many apps have. I feel having to click on the card and the press the button is redundant, especially if you want to delete several cards. Pressing to select and delete with a button would make easier mass deletion. WHat do you think of this feature?

Feature Request: mask letters hint mode: reveal one word at a time

I use this app to memorize scripture passages, sometimes containing over 100 words in the 'answer' field.

The 'mask letters' mode is helpful, because it can remind me of the length of the words, but if I'm halfway through a passage, and need a hint, it's really annoying to have to push the 'hint' button for each letter (a few hundred times) until I've caught up to where I am.

It would be great if the hint button revealed one word (or more) at a time instead.

Perhaps the amount revealed could be automatically determined based on the length of the answer. (Surely, nobody wants to have to click the hint button over twenty times per card).

Thanks for the great software!

Italian translation

As a thank you to your great app, I would like to make a small contribution, the Italian translation. I am quite fluent in Italian, and while I am not familiar with translating jargon, I think I can make a decent work.

It is a small contribution from a non-dev but I think it could help non-english speaking users to try the app. Moreover one of the great aspect of FLOSS is inclusivity and a translated gui is always helpful.

How can I translate ForgetMeNot?

What types of files are supported by ForgetMeNot?

Hi,

First of all thank you for this app, it looks very well done (and with more functions than similar apps) and I love that it is opensource (it has a lovely name and logo too!).

I have one question, I installed it but when I click "+" to load a file it does not read a deck file in csv, I have. This prompted me to open this tickets, what are the file types supported by ForgetMeNot?

AnyMemo (another app like yours but with less features) supports several files, which I think it is great since there are many apps for memorizing and they all use different files, so you have decks in different formats.

AnyMemo supports:
Mnemosyne XML 1.0 and 2.0
SuperMemo PPC XML
SuperMemo 2008 XML
Tab TXT
CSV
QA Text

While I think some of those formats are proprietary, I think ForgetMeNot should definitively support text and csv as they are quite common.

I will be glad to test your app thoroughly as I plan on using it to learn a language, so once I know how to load a deck expect more feedbacks to come :)

Ability to invert card during repetition

Right now when you repeat the order of cards is top-down, but I think it would be nice to have an option to select before you start to switch to down-top, I find repetition with spoken text quite useful while walking, I heard the word in my target language, i pronounce the translation in english and then listen to the english translation of the card to be sure I am right. So it would be nice having the opposite to add variety.

Option to decide how many laps for autoplay

I updated to version 1.7 and I can't find the option to decide how many laps to do for autoplay, was it remove?

Something which might be connected (I can't test it since I cant find the way to change laps):

With this version if you don't do all lapses, the day when deck was used does not change, I think it shouldn't be the case (basically you select 2 lapses, do only one but ForgetMeNot does not recognize that lap).

I (think) was doing 2 laps, after 1 I stopped (I noticed that the deck started again from beginning after ending so I think I had two or more laps) and checking last time I used the deck the app still showed the old time.

Automatic darkmode when low battery

I wasn't sure whether to open this ticket or comment on #10 as it is related to it.

On Android 10 (and maybe earlier?) apps can go in dark mode automatically when battery reaches low levels, telegram and whatsapp do this for example. I think it would be very useful if forgetmenot would do that too. Ideally once battery is full again darkmode would disable itself (unless chosen by the user in settings).

How to update?

This is more a question than a bug, how do I update the app?

I saw you released a new version but I haven't received the update through google play. Do you have to manually update it on gp or is it automatic?

While we wait to see this great app in f-droid I will patiently wait to see it updated through gp.

Improvements to the "about" page

Right now the about page is quite scarce of details. Usually about pages have logos,devs,license, contacts etc.

Right now none of this is present so the about is quite useless as it does not provide the main info (for example version to report a bug here)

I propose to add:
ForgetmeNot logo
name of dev
version of software
License

Bug: rotating screen during autoplay causes 3 issues

With 1.2 on my Moto G7 Power (from GooglePlay), when I do a repetition of a deck with 'autoplay' and I rotate the screen horizontally three things happen:

  • Autoplay stops and I need to manually press play again
  • Repetition starts again from beginning
  • Lower cards are not grey and covered any more, they are white and the content is clearly visible.

How it is reproducible on my system:
1 Start autoplay with a deck (phone vertical)
2 Rotate phone horizontally
3 Rotate again vertically
4 Press play and rotate vertically

This did not happen with the previous version so they must be bugs introduced with this version. It is annoying because sometimes one like moving the phone, so I hope you can fix these issues. Is there any other way I can help you with more info?

edit: using split screen with ForgetMeNot and another up below cause repetition to start again as well.

Reorganize "help" menu

Right now help menu is very informative but it is buried under the menu,
You have to click on 3 dots, help and then again 3 lines to have the list of topics. Also the about ForgetMeNot is there (which to me makes little sense)

I propose:
Move "about" in the 3 dots menu
(sort by
filter
Settings
Menu
Help)

Make the list of help available once you press "help" instead of having to press the 4 lines

Add back customized intervals

Before 1.2 you could add personalized intervals to decks, either default, personalized for a specific deck, or a personalized interval for another deck which you could use for other decks as well.

As 1.3 I can't find this option anymore and IMHO it is a regression compared to before, as it was very useful to change intervals quickly when you have many decks, could you add it back?

allow a proper quiz mode

Right now if I am on a card I can select quiz, however once i answered through the chosen quiz, nothing happens and I have to use my finger to swipe to the next card which is not asked in quiz mode.

I understand that such quiz can be used just to help to remember one word but I think it would be nice to have a proper 'quiz' mode where user can challenge themselves with all flashcards presented as quiz (multiple choices, hidden letters and so on).

This would add challenges and in the future it could be extended with other types of quizes.

This would make ForgetMeNot not just a flashcards app but a more complete learning experience, as different quiz modes can be more challenging, without the need to install another app-

Warn user if a card is already present?

Maybe this is a bit tricky to implement but it would be nice if a user is warned if the card they are adding is already present in the deck, if you have many cards it is hard to spot a repetition.

Будет ли возможность работы программы с ксв файлами?

Добрый вечер Артем. Обновленный интерфейс очень понравился. С переводом программы на русский открыл некоторые новые функции. Единственная печалька копирование по одной фразе много времени занимает, особенно когда диалог не на 5 строк. Жаль у вас нет Ексель. Я пробовал сохранить тексты из файла ексель в файл txt: и с кодировкой utf-8 и без нее, почему-то пишет неправильный формат. Или кирилицу не отображает. Вы вроде хотели сделать в программе возможность работы с ксв файлами. Жду не дождусь этого. Только можно сделать, чтобы кирилицу без кавычек программа читала, иначе каждое слово/фразу еще и в кавычки нужно будет брать, а это еще дольше получится. Спасибо за программу еще раз, она у вас замечательная.

Add a donation page

Since the app is so nice (IMHO it works better than stuff like duolinguo which has been downloaded million times) I think it makes sense (if you are interested) to have a donation page under 'help' in the 3 dots menu. If you don't accept donations in goods or money you can always specify that (like: I don't accept donations but you are welcome to contribute on github with feature request, translation and bug reports).

Add back number of repetition in autoplay (1.2)

I like that you added infinite repetition which can be easily toggled on/off while doing autoplay, however you removed the way to add numbers of laps for each repetition when you press autoplay, which I think is a step backwards as now If user want to do another cycle of repetition (or more) they have to wait til the end and press play again. Can you please add it back?

Ability to add random card inversion during repetition

I realized that, at the least for me, using targetlanguage-mylanguage flashcards is easier than the other way around, and I go for the latter option only when I am comfortable to remember them.

Today I accidentally repeated two decks one with inverted cards and one without. It was a fun experience that led me to open this ticket.

I think it would be great having an option to select a random card inversion during repetition (so some cards are inverted some not), I think it is challenging as you don't know what to expect in the next card, and it adds a bit of complexity which is good when you are learning a language.

Ideally you would have this implemented as #17, so before you start repetition you can decide which mode, normal, inverted or random.

Ability to automatically swipe to the next card after clicking remember/not remember

First of all thank you again for your work, I have been using ForgetMeNot for several days and it works amazingly. I tried to search for such function but I didn't find it so I think it doesn't exist.

When you click remember/not remember for cards you must swipe right to go to the next card. If you have decks with more than 20 cards (or multiple decks) after a while it gets a pain for the finger, and an unnecessary burden. I think it would be nice if once I click remember/not remember the app automatically moves to the next card.

Add darkmode?

I am usually not a fan of dark modes in apps, I never use them, but when dealing with flashcards I think dark mode really helps to protect your eyes. I like anymemo's darkmode as it is not full black but rather greysh (https://i.imgur.com/LsL51Xq.png)

I think it would be a nice addition.

ps: congrats for f-droid inclusion 👍

Increase font size

I know you mentioned you dont want to add rich text to flashcards, but could you add an option to increase font size in the "settings" menu? It would be nice as it makes reading easier. Ideally it would be great to have an option for the upper card and one for the lower (otherwise if like me, you have more text on the lower one it could be problematic).

Make the + button to add a card permanent

Right now when you scroll the deck sometimes the button disappears and it is quite annoying, especially because I think it is counter-intuitive. I propose to make the + button permanent while you scroll the cards.

Игра "Составь предложение"

Добрый вечер Артем. Спасибо, что продолжаете совершенствовать программу. Темная тема, регулировка размера шрифта - отлично. Не совсем понял: что значит сортировать колоды по заданию. А также критерий, по которому колода должна уходить вниз. Если я в режиме "Самотестирования" посмотрел в колоде только 2 слова из 10 и вышел, колода не должна уходить вниз?
Теперь главное: Как вы смотрите на то чтобы предоставить возможность пользователю составлять предложение из показанных на экране слов? Очень востребованная фишка среди начинающих.
Игра "Составь предложение". Т.е. в файле программы есть предложения на англ. и через разделитель - на родном языке. При свайпе, в верхней половине экрана показывается предложение на родном языке, а ниже слова на англ. языке, из которых нужно составить в правильном порядке анг. предложение (т.е на экране рандомно перемешанные слова из этого предложения). Пользователь последовательно тыкает каждое слово и они составляются в предложение чуть выше на экране. При нажатии на последнее слово программа пишет: Правильно или нет. Т.е. аналогично программы "Полиглот 16" Дмитрия Петрова.
В идеале, конечно, нужны дополнительные, лишние, слова из соседних предложений, чтобы не было очень легко составлять.
Насколько это сложно прописать в программе не знаю, не программист. Также не знаю, насколько это увеличит вес программы, чего бы не хотелось.
В общем, я идею подкинул, а думать вам.

Automatically center words

I don't know if it is tricky to implement but when there is one word (or maybe word + article) it is nice to see the top card text centered, however this does not happen with the lower one which is put on the left and one has to manually adjust it. I think it would be great if ForgetMeNot would automatically center the text of lower card too (unless specified)

Расстановка колод вручную, при сортировке колод

Добрый вечер Артем. Можно попросить в сортировку колод добавить возможность расстановки колод вручную, чтобы расставить и закрепить их как мне нужно и не ждать пока новые колоды не уйдут вниз. У меня 3 базовые колоды по 100 слов и 3 рабочие колоды куда перекидываю по 20 слов из базовых, и там учу. Мне было бы удобно сразу поставить их в нужном порядке (независимо от названия, задания или частоты использования) и закрепить, чтобы они не менялись местами.

Wrong card format when importing a deck

I made a long deck in the format:

Q:
Mилан
A:
Milan

Q:
Венеция
A:
Venice

And saved as .txt. However when I try to upload I get:

wrong card format: Q:
Mилан
A:
Milan

I checked the deck again but everything seems fine, what am I doing wrong? :(
ForgetMeNot v1.2

ForgetMeNot should pause repetition if a call is received

Yesterday I was doing repetition with audio reading text and I got a call on skype, I picked up but ForgetMeNot kept going on with the flashcards so I had to minize the call and pause the repetition, missing a few cards. I don't know if the same happens with other software but I think when a call is picked up ForgetMeNot should pause repetition so that once I am done with the call I can continue.

App crashes when trying to load from file

I have re-installed the app(F-Droid), cleared data, and the crash still persists.
I'm running android 10 lieageOS with no google services
the app crashes as soon as I click on the "load from file" button. It doesn't even ask for storage permissions.

01-11 16:12:37.443 10397 10397 E AndroidRuntime: FATAL EXCEPTION: main
01-11 16:12:37.443 10397 10397 E AndroidRuntime: Process: com.odnovolov.forgetmenot, PID: 10397
01-11 16:12:37.443 10397 10397 E AndroidRuntime: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT cat=[android.intent.category.OPENABLE] typ=text/plain }
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2058)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1716)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.app.Activity.startActivityForResult(Activity.java:5210)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at v0.l.d.e.startActivityForResult(Unknown Source:10)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at v0.h.d.a.k(Unknown Source:0)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at v0.l.d.e$a.f(:1)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at androidx.fragment.app.Fragment.A0(:1)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at g.onClick(java-style lambda group:11)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.view.View.performClick(View.java:7259)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.view.View.performClickInternal(View.java:7236)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.view.View.access$3600(View.java:801)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.view.View$PerformClick.run(View.java:27892)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:883)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:100)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:214)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7356)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
01-11 16:12:37.443 10397 10397 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
01-11 16:12:37.447  3729 10457 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2

I tried building the app from source, but when I try to debug it, it throws yet another exception that the font is missing

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.odnovolov.forgetmenot.debug, PID: 11674
    android.content.res.Resources$NotFoundException: Font resource ID #0x7f090000 could not be retrieved.
        at androidx.core.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:405)
        at androidx.core.content.res.ResourcesCompat.getFont(ResourcesCompat.java:241)
        at com.odnovolov.forgetmenot.presentation.screen.home.DeckPreviewAdapter.prepareMeasuring(DeckPreviewAdapter.kt:195)
        at com.odnovolov.forgetmenot.presentation.screen.home.DeckPreviewAdapter.onCreateViewHolder(DeckPreviewAdapter.kt:50)
        at com.odnovolov.forgetmenot.presentation.screen.home.DeckPreviewAdapter.onCreateViewHolder(DeckPreviewAdapter.kt:28)
        at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7301)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6426)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6310)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6306)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at androidx.recyclerview.widget.RecyclerView$LayoutManager.layoutDecoratedWithMargins(RecyclerView.java:9884)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1689)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:148)
        at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
        at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1996)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
E/AndroidRuntime:     at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1263)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:779)
        at android.view.View.layout(View.java:22466)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3157)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2614)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1745)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7768)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:967)
        at android.view.Choreographer.doCallbacks(Choreographer.java:791)
        at android.view.Choreographer.doFrame(Choreographer.java:726)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I/Process: Sending signal. PID: 11674 SIG: 9
Disconnected from the target VM, address: 'localhost:39629', transport: 'socket'

Тёмная тема сломана

Версия: из FDroid v1.2
При включенной тёмной теме на устройстве в приложении она работает лишь частично. При этом в меню колоды и при редактировании карточек - чёрные буквы на тёмно-сером фоне.
Предлагаю также добавить переключатель, чтобы можно было выключить тёмную тему в приложении.

Screenshot_20210131-162328
Screenshot_20210131-162414
Screenshot_20210131-162439
Screenshot_20210131-162454
Screenshot_20210131-162500

Unable to load remote catalog with Google drive disabled

Catalog is not reachable from the application. It popups the error 'Document is not available, check your internet connection.'

2021-03-28 12-50-44

It looks like the application cannot reach the catalog if the phone account has not allowed access to Google Drive (by company global Google Workspace policy)

2021-03-28 13_14_48

once 'as quiz' and "mask words" mode are enabled they can't be disabled

If one accidentally turns it on for a card or just wants to try it, it is not possible to leave such "mode" unless you go back to the main menu, disrupting the repetition flow.

Scrolling to the next card and going back to the previous card does not fix the problem. I think it would make sense to have the ability to leave such modes without having to go back to the main menu

make ForgetMeNot more 'finger friendly'

This is a feedback result of using ForgetMeNot, while I sit at table I have no issue clicking on the 3 dots to open menu and start a repetition, however while walking/standing up, I feel using the finger to tap on a deck is more natural than clicking on dots. I propose to add that when you tap on decks a popup asks the user to start a repetition or a quiz, so that one can access to them quicker, and use the dots only when you are in a more comfortable position

Improvement to repetition without time interval

For decks I am learning I use time intervals, however once I am familiar with them I remove the limit so I can exercise less often but when I do i can do it several times.

Right now when I select multiple decks, repeat them, I reach the final card but no other option is given. I have to go back to the main menu but the previously selected decks are deselected so if to repeat them I need to reselect them again.

I think it would be nicer if at the end of repetition user would be offered to repeat the repetition again or go back to the main menu, as it happens for decks with time intervals.

add more meaning to the flower icon in the top bar

I like the idea of the flower icon in the top bar telling me which word i am using, however i feel more meanig can be added by showing the percentage of cards left, something like "ciao" (2/10) to symbolize that "ciao" is the second card of a 10 cards deck.

Allow user to draw on cards

First of all thank you again for ForgetMeNot! I have been using for a week or so and it has been great. I thought about a feature which imho could be useful in two ways.

I would like to request the ability to draw freely on cards (maybe with a thickness selector and a few colors). This would serve two purposes. Highlight parts of the flashcard without having to use rich text, allow user to add an image to the flashcard while keeping it easy and lightweight.

For some languages there are letters you don't pronounce so I imagined it would be nice if a user wanted to draw a line under that letter to highlight it, as well as to make a quick sketch of a washing machine if they are trying to remember the word for washing machine (both cases are how I would use such feature).

For me especially drawing a quick sketch would be very useful as it is similar to have images but it is simpler and keeps the app more lightweight (and it is also fun if you draw your own stuff).

Nowadays almost every photo editor has such drawing feature, even chrome has it, and I think it can be very useful. If a user uses a pen they could even write quick notes on the flashcards.

A few suggestions to improve home screen

I just updated and found the new version cool, of course quite different from the previous one, I see that you put a lot of efforts in this app and I want to say thank you, I use your app daily.

I have a few suggestions which I think could improve the interface:

1 Remove the black dots next to the name of decks (it does do anything and it adds black to the interface)

2 Use one font (max 2) for the interface (in my case https://imgur.com/a/vj7YKos considering cyrillic alphabet, latin with upper and lower cases, I have 5 fonts in one screen which are not nice to read IMHO)

3 In my opinion the new font used for decks is less clear than the previous one, it looks more modern/cartoonish but less readable IMHO, what do you think? I feel font should be as neutral as possible for better readability or user ought to have a choice to change it)

4 Dark grey Copyboard symbol (right now it is orange, I don't know if it is orange all time or only when you have something to paste, imho it adds unnecessary distractions, I think user don't paste things in the search bar all the time so I feel it is not necessary for that symbol to be orange).

I hope you will appreciate my feedbacks, they want to be ways to improve not criticism ;)

ps: in the developer story (which I enjoyed reading!) there is a missing word, 'because a deck can be created on a computer'

ability for cards to resize

Right now the top and bottom part are the same size, however it happens that I want to remember verb so I put the infinitive verb in my target language and in the bottom one the meaning and all the conjugations. I don't know if this is a standard use of ForgetMeNot, but I have to say it worked well. One aspect which I think could be improved is the ability to have different sizes. Let me explain.

When I see the verb it is nice to see that both cards are the same size, however once I click remember/not remember and the lower card has all the conjugations, I have to scroll in order to see all the content, which could be avoided if the upper card would resize to say 1/3 so that the lower one could increase making 2/3 of the both cards. Since top card has just a word it is not necessarily for it to be the same size as the lower where several words are included.

I hope you don't feel overwhelmed by my feedbacks but the more I use the app the more I like it and consequently the more feedbacks you get :D

Subdecks

Right now if I want to have a deck for verbs, one for adjective etc. I need to create several decks e.g. "italian verbs", "italian advjectives", which I think can work if you are using ForgetMeNot just for one language/topic, but once you start using it for several I think it can become tricky as the list grows.

It would be nice to have a sort of subdeck, so I click on 'deck italian' and if subdecks are presents a list shows under it and i can open the right deck. Of course there should be an option to repeat a single subdeck or the whole deck.

I don't think this feature is present but I think it would be very useful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.