david-swift / Memorize

Study flashcards in a native GNOME app
https://flathub.org/apps/io.github.david_swift.Flashcards
GNU General Public License v3.0
95 stars 9 forks source link

New name! & Add image + audio to cards #1

Open wada3n opened 10 months ago

wada3n commented 10 months ago

Hi @david-swift ,

I just wanted to reach out and say thank you for the FlashCards app. It's a great tool, I really appreciate how simple and elegant the app is. It's easy to use and navigate, and it's clear that a lot of thought went into the design.

I have a few suggestions for improvement, if you're open to them.

New Name

First, there is already a gnome project called flashcards. Here are a few other names that I think would be more descriptive and memorable:

I believe there may be other names that deserve consideration more than my simple suggestions.

Add image and audio to cards

Second, I would love to see the ability to add images to cards. This would be a great way to help people remember information, especially for visual learners.

Third, it would be great if users could record audio for their cards. This would be a great way to practice pronunciation and listening comprehension, it would be awesome if users could listen to the audio for their cards while they're flipping through them.

I know you're probably busy, but I think these changes would make the app even more useful and enjoyable.

Thanks for your time and consideration.

david-swift commented 10 months ago

Thanks for opening the issue, @wada3n!

Naming: I've seen that there's already the app "Flash Cards", so renaming this project would definitely make sense. It should follow the GNOME HIG. Thanks for the ideas!

Images: That's a feature I'd like to add!

Audio: This is also a good idea, although it is more complicated than the images. Maybe Vocalis could be a helpful reference for an implementation.

Currently, my focus is on migrating the Adwaita package to a more auto generated approach, so I'll take a look at implementing these features after that. PRs are always welcome!

wada3n commented 10 months ago

Hi @david-swift, thank you for taking the time to consider my suggestions, I also wanted to suggest a few other features that I think would be helpful.

Thanks for your hard work. I'm looking forward to seeing what you come up with in the future.

david-swift commented 9 months ago

Hi @wada3n I've added some changes the last days, the following regarding your suggestions (on the main branch):

It would be nice if you could quickly test those changes. What do you think about these implementations? Any ideas for improvement?

wada3n commented 9 months ago

Hi @david-swift , I'm thrilled to witness the enhancements you’ve implemented in the Flashcards app! Over the past few days and today, I’ve diligently tested these changes, and I must say, I’m genuinely impressed with the results.

The concept of categorizing sets using keywords and cards using tags is nothing short of brilliant. It significantly enhances the app’s usability and organization.

While I appreciate the progress made so far, I believe that prioritizing features like image and audio support for flashcards is crucial. Once these functionalities are integrated, the ability to import from other programs, such as Anki, will become an even more valuable asset.

I eagerly await the continued evolution of the Flashcards app. Your hard work is commendable, and I’m excited to see what innovative ideas you’ll unveil next. Thank you for your dedication! 🌟

david-swift commented 9 months ago

Thanks! I'm not an Anki user myself, but exporting seems to be possible via File > Export with the export format "Cards in Plain Text" without HTML and media references, is that correct? So that I can add the instructions for Anki as well. I might add support for importing media from Anki sets as well as soon as it is implemented.

wada3n commented 9 months ago

Hi @david-swift ,

You’re welcome! Indeed, Anki provides this functionality, However, there's one potential hurdle to consider since Anki allows multiple levels within a single card. This could make importing a bit trickier. You'd need to decide which level the imported content goes to. Should it be a list where users choose the right column, or perhaps there's another solution?

I'm curious to see your thoughts on how you can handle this complexity while maintaining a user-friendly experience.

Example:

arise arise When something begins to exist or people start to become aware of it. → A new difficulty has arisen. Base form - Past Simple - Past Participle arise - arose - arisen

Screenshot from 2024-02-15 11-35-59 Screenshot from 2024-02-15 11-36-16

david-swift commented 9 months ago

AFAIK, that shouldn't be a problem because there's still one front and one back defined (in the edit view, press the "Cards..." button to see the definition). Actually, when exporting in the format "Cards in Plain Text" instead of "Notes in Plain Text", there are always exactly two sides (one side may also contain multiple fields, depending on the definition). It wouldn't be possible to add the audio files automatically then as well, but I'd say that the "cards" export format is currently sufficient. It probably makes sense to implement support for both formats once the audio feature is available.

wada3n commented 9 months ago

Thanks for your clarification! I understand that there's always one front and one back defined for each card. My concern still lies with how the back side gets formatted, especially when it has multiple fields. Importing plain text could lose formatting and make everything look messy. While user selection of specific fields could help, it might not be ideal.

Instead, I'd like to propose supporting Markdown for the answer portion of the card. This would give users much more control over formatting and ensure the content stays organized. Additionally, it wouldn't require complex field selection processes.

I think this could be achieved using the gtksourceview5 library. What do you think about this approach?

david-swift commented 9 months ago

Thanks for the idea, that's a nice suggestion! There are Swift libraries around for converting HTML into Markdown, and there are already gtksourceview5 bindings for Swift. It would benefit people that do not import flashcards as well. The study and test mode would also have to become more flexible since the current "write the answer" approach doesn't really work with formatted text (it is optimized for learning vocabulary - it might make sense to imitate the study mode of Quizlet which knows three types of questions: flashcards, multiple choice, and the writing mode).

I'm interested in implementing this the way you described, although it currently isn't my highest priority, so don't expect this to me implemented very soon! Thank you so much for putting incredible efforts into writing your thoughts and ideas down, they are extremely valuable!

wada3n commented 9 months ago

Fantastic! ! I’m delighted that you appreciate my suggestion. It sounds like a versatile feature that would benefit various users. I understand it's not the top priority, but I'm thrilled to see it on the radar. Thanks.

david-swift commented 8 months ago

I would like to see the number of cards in each set displayed.

Hi @wada3n. I implemented this simple request with the current redesign.

Screenshot from 2024-03-21 21-46-30

wada3n commented 8 months ago

Hi @david-swift ,

I like it :) BTW, Would it be possible to add a feature where the highlighted flashcard slightly zoomed in compared to the other cards? This would help to focus on the current card. The zoom should be subtle so that it does not distract from the learning experience.