david-swift / memorize Goto Github PK
View Code? Open in Web Editor NEWStudy flashcards in a native GNOME app
Home Page: https://flathub.org/apps/io.github.david_swift.Flashcards
License: GNU General Public License v3.0
Study flashcards in a native GNOME app
Home Page: https://flathub.org/apps/io.github.david_swift.Flashcards
License: GNU General Public License v3.0
I'm really enjoying the latest changes, great work! Semantically, I think it would make more sense to use a hierarchical navigation model for the main view at narrow window widths than an overlay sidebar based one, since the app has a clear top-down structure (list of sets -> set info -> study/test modes). AdwNavigationSplitView implements this hierarchical model.
When editing the back of the flashcard, the front is cleared and the back is distorted.
Editing one field does not change other fields, and it shows exactly what I type in the order I typed it.
Version 0.2.1 on Arch.
In case we want to label the answer on the back to be able to add any other useful information that is not part of the answer before and after it and at the front or clarify that it is the question on the front. I think this would be the best default for most people.
... when adding a new flashcard in the Edit Set dialog, prefill them with the words "Question" on the front and "Answer" on the back by default, and when the user selects these text input fields, put the cursor caret immediately after the words because IMO it would be the best default for most people.
None
I think this would be a good default because IMO most people are putting questions in the back and answers in the front and want to number them or clarify which part is the answer.
The initial state of the app looks awkward, with a completely empty sidebar
When there are no flash card sets, the app should only display a status page with a pill button to create a set (e.g. the current status page, but without the sidebar, and with a button underneath the description instead of the + icon in the corner. See Image Viewer for reference).
Current state:
Image viewer (proposed source of insipiration):
clicking on the "add a set" button and pressing the ESC key does not prevent the set from being created
click on the "add set" button and press ESC
the set should not be created
I think we could prevent this with the user being forced to put a name on the set
When using the search button on the main page and in the edit view (see additional context below), it's not possible to close the search field/action by pressing the Esc key - which is the usual (and most practical) way to do it. You have to click manually on the search button to deactivate search.
Esc key should terminate/escape the search action
It would be great to be able to move flashcard Sets up and down in the left panel, so the user is able to reorder his work at any time…
e.g.: something like what NewsFlash offers for RSS feeds / feed categories (see screencast below)
When there is a long tag name, it will be displayed with scrollbars in the appearing pop-up instead of being cleanly cut-off, which spoils the aesthetics of the app (and makes navigating through tags a bit unpleasant)
I don't really expect the pop-up to exactly fit the size of the tag (it could be too long), but a more clean solution would be to make it a bit adaptive, with a maximum size beyond which the words are simply cut with '…'
If 'Del' is pressed when typing in the text field of a flashcard, the text field will immediatly lose focus and the app will ask if you wish to delete the entire set, which isn't expected and can lead to unwanted suppression of the set
The 'Del' key should only affect the text in the input field, ie. erase the caracter behind
App icons with baked-in shadows are a problem in app store UIs because you end up with double shadows when the programmatic shadows are added. See the Flathub guidelines for more detail: https://docs.flathub.org/docs/for-app-authors/appdata-guidelines/quality-guidelines
You could probably just mask the shadows in this case so only the part overlaying the bottom card is visible (this is what some other icons do). If you need help with this or any other icon design stuff, feel free to file an issue against app-icon-requests, or ask on Matrix in #appicondesign:gnome.org
No double shadow :)
No response
Clicking the 'Export Set' button makes the app crash if there is no Flashcard in the Set.
I didn't expect that button to produce anything when the set is empty anyway ^^. Nonetheless it should at least be 'greyed out'/defined as not clickable to avoid this
When you create a new set, it's likely that you'll want to give it a name and fill it with something right away. Because of this, it would make sense to jump right into its editing mode once it gets created.
You can't move any flashcard up or down so for example If you forgot to order the flashcards properly the first time or forgot to add a new flashcard in between two existing ones & want to fix any or both of these issues, you may have to cut and paste many of the flashcards to new ones. This may take a relatively long amount of time and is unnecessary.
I don't know how exactly you're going to do it but maybe you could use some widget in Libadwaita like the one used in the List view visible column arrangement modal dialog in Nautilus (screenshot below in Additional Context for reference).
I can't for the life of me (maybe because of my health problems) think of any other that would work here as intuitively as this one.
One last design suggestion: With the design suggested in #24, there would be some leftover space in the header bar of the main "flash card" view of sets. Since deleting and exporting a set aren't really actions that edit the set, I think it would make sense to move them out into the header bar there instead. The edit button could also be moved there, to make it clear that it edits the whole set, not just the name:
In addition to being semantically better, this would make it a lot quicker to delete unwanted sets.
If more actions that apply to the entire set are added in the future, we could group them together with deleting and exporting in a three-dot popover menu instead.
There is already a project called "Flash Cards" in the GNOME world.
Rename the app. Here is a list of ideas by @wada3n in #1:
- Memorize
- Learner
- Savoir
- RectoVerso
- FlashMemo
- Brain Booster
- Memoria
- Learnify
The new name should follow the GNOME HIG.
"Flash Cards" hasn't been updated for 7 months, so maybe it is dead and there's no need for renaming.
This problem has been reported by @wada3n in #1.
The other GNOME app "Flash Cards" is here.
Yes, I want to apply a tag to several flashcards but the current workflow doesn't help much
a more practical and easy way to select multiple flashcards and apply a tag or several tags
none
the way it currently works, you waste a lot of time using the mouse scroll and selecting which tag you want to apply to the chosen flashcard
Managing large sets is slow and causes instabilities. A database would resolve these issues.
sets.json
exists
sets.db
sets.json.bak
sets.db
with SQLite.swiftOptimization of procedures related to editing sets
Instabilities: crashes, freezes
The current brand colors are monochrome.
It's recommended to use brand colors that are actually colorful. We know the guidelines are not complete yet in this regard, but we're learning as we go and this will be updated :)
Example for colors that would work here:
n/a
n/a
The problem is that to import a set you need to go to the set creation menu
An example that I managed to get was this gnome boxes dropdown menu
Then in this menu you could have the options:
Create Set...
Import Set...
a better way to import sets without going into the creation menu
Another problem is that the csv file would have to provide metadata such as title and perhaps tags so that Memorize can pull this information and the user does not have to provide a title manually
Here is an example of what this metadata could look like:
CSV
# Name: Vocabulary Study
# Created on: 06/09/2024
# Author: Example
# Description: This set contains words and their meanings to help with studying Portuguese vocabulary.
Question,Answer,Tag
Most of the buttons lack 'tooltips' to indicate what they trigger, which makes understanding the app's features (sometimes) not evident…
E.g. I was confused by the button that allows importing from Quizlet/Anki, thinking it created a backup of my Flashcards set; same for the 'export' button next to the 'delete' one 😅
yes, when importing a csv file you have to apply the tags manually
Ability to import and export CSV with tags included
none
I'm creating a set of multiplication tables and I would like to divide it into tags for different numbers
when using the application while its snapped to half of the screen it returns to its floating window position
it should (or atleast i expected it to) stay in its position
I am not using any extensions so i assume this is not just me this issue is kinda annoying when for example i have a list on the one half of my screen and i want the app to fill the other half thx for the app its still super cool and usable tho
Hi, I'm stress-testing your UI a lil bit by using Memorize to make my English <-> Arabic flashcards. Not a big deal, but the Arabic text (written right-to-left) isn't properly centered. Stylesheet issue probably?
Thanks for the app, it's very straightforward if a bit barebones for now 👍
A flashcard test you can import:
Midday ظَهيرة
Night لَيلةٌ
Star نَجمة
Well-centered questions and answers.
No response
The current set layout uses a view switcher with 3 options: "Overview", "Study" and "Test". When "Study" or "Test" is chosen, the sidebar hides. This setup leads to some problems:
To solve this, we could e.g. make the study and test modes available through buttons that open dedicated views with back buttons:
This is a cleaner navigation model that would solve the problems above and make the relationship between the different app states clearer. It would also easen the process of making the app adaptive.
The 'Copy' action in the 'Export' dialog doesn't give any feedback to the user - whether content was actually copied to the clipboard as intended.
A little toast notification at the end of the second step (when the 'Export' dialog is closed) would be great to inform the user it was correctly copied to the clipboard :)
E.g.: something like "The contents/items of [Set name] have been copied to the clipboard"
No response
The app currently isn't fully adaptive (scalable down to 360px*296px in all states).
Since the layout already utilizes multiple adaptive widgets, we could get most of the way there by adding some breakpoints. There might be some layout changes required, but it shouldn't be too hard.
N/A
The app can scale down enough when the sidebar isn't shown, but when the sidebar is open, the minimum width gets too big to fit on mobile.
I use Memorize to study Thai Script and the default font for Thai Script in GNOME is hard to read.
It would be great if one could define font, font size and color for questions and answers individually.
It would already be helpful if the font and font size could be set globally (for questions and answers combined).
No response
@wada3n had the idea of recording and adding audio to cards (see #1), since this would be great for language learning. We can add a third button to every flashcard's toolbar (next to tags and delete) that opens a popover for recording audio, and then a button on the flashcard next to the star (if enabled, maybe in another corner) for playing the audio. In the study view, we could add it to the question and solution, and in the test view to the question.
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.
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.
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.
Each time the app is reopened it will default to a fixed size, which is not always convenient
I would expect the app to remember its last size. Otherwise it can be frustrating when you have long Sets names which will end up being cut-off everytime you restart the app (see screenshot below)
Apps usually have translatable metainfo files. I'm not quite sure how this would work with the Localized.yml file, but it's something that happens at built time, at least.
No response
@wada3n reported in #1 that it would make sense to add an image to a flashcard. I would add another button to a flashcard's toolbar (maybe make it one media button together with #3) for the image. Similarly to #3, this would be hidden by default and displayed in a popover in all the views.
One might also display the image in the flashcard next to the text (on the top), and in the study and test view to the question, but this solution is not ideal as an image can illustrate the question as well as the answer.
It would make it a drop in replacement for people(me).
Have an option to log in and have it auto sync to ankiweb, much like how the current native anki app works
manual import, but this is not as seamless
None
Hi,
this app is really nice!
Could you please provide the po for translations?
Thank you.
Regards.
A
No response
It'd be great if Flashcards allowed importing Anki files.
I suppose Anki could gain support for export to Flashcards instead, but Anki is the more common format here.
Anki is probably the most commonly-used free and open-source flashcard app. As such, there's a lot of Anki decks being shared around and it'd be great to be able to use them inside Flashcards.
Searching for a flashcard in a set can give erroneous output, with flashcards that don't contain the requested input at all. This happens especially when the set has a lot of flashcards, and it can make the search function almost useless
The displayed search result(s) should only be directly related to the input, ie. only contain the searched string
You can test my problem with this .csv file, that I regularly use (~ 130 flashcards with a lot of text)
Pressing the Enter key should create a Tag directly from the input field filled in by the user, without having to search for another interface button to save it.
Currently you have to tap the + button once, then type and press the + button again, which is not very intuitive (and creates another tag)…
When creating a Tag, you should only have to tap the + button once, then type and press Enter
I have stockpiled a lot of these old csv flashcard sets from various flashcards sites (i.e. quizlet, omniset, brainscape, etc) and would like to import them to Memorize
csv
flashcards directly to Memorize.csv
flashcards directly from Memorize.Most of these files follows the standard question/answer structure
HEADER1,HEADER2
Question1,Answer1
Question2,Answer2
so some people like me sometimes unconsciously add a space after typing an entry so that when its time to study it gets counted
if there is a space as the last letter of a card side ignore it / delete it and if there is a space at the end of when you enter a solution while studying or testing also remove it
I understand tho if this gets dismissed because you could just put in the effort to not add unecessary spaces while studying and creating decks and you can always just press the button that marks the answer as correct
i think this is possible and i would very much appreciate it if this gets implemented
Libadwaita 1.5 comes with new adaptive dialogs, that adapt to the parent window size and turn into bottom sheets on narrow window widths. It would be neat if the set editing view could utilize such a dialog.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.