Fresh Cards 2.4 is out now, with improved performance, sync, and reliability

Fresh Cards 2.4 is finally here! This update took a long time since there were numerous under the hood changes to improve the app’s performance and reliability.

There were a few issues with sync taking longer than normal on devices that hadn’t synced in a while. Sync should be a bit faster now and more reliable. Additionally, if you quit the app during a sync, when you return to the app, sync will continue from where you left off. In previous versions of Fresh Cards, the app would often restart the sync from scratch if you quit too early. This led to syncs potentially never finishing.

Anki import has been improved. This is a bit technical, but basically the old import code mistakenly used the notes table in the Anki deck to generate cards. The new version will now properly use the cards table along with the notes table to generate a card for each cloze and each template. This means more Anki decks will be compatible for import.

The app still does not handle HTML and css templates correctly, but I have plans to improve Anki compatibility to 100%. It will take a bit more time to get there, though.

I hope you enjoy these updates. As always, feel free to reach out to me with bug reports or requests. The best way to do that is via our Discord.

Fresh Cards v2.3 brings better tags support and more!

Hey, Fresh Cards 2.3 is here! This update has a bunch of new things, so let’s jump right in.

Better tags editing

The Mac version now lets you assign tags quickly using the context menu. Just select one or more cards and then right-click (or ctrl-click) to see the new tag actions.

You can assign tags from a known list of tags for the deck, including from a most-recently used list. You can also bring up an editor to bulk add multiple tags, just hit the “Add tags…” menu item. Finally, when a single card is selected, you can edit the tags assigned to it directly.

Okay, so maybe you’re wondering what the big with tags is. Well, tags are awesome because you can filter by tag using the search field and when you hit the play button to start a lesson, the lesson will use only cards that match that tag!

Here’s a great example where I’ve filtered by verbs in the deck and now I can start a lesson to review just my verbs.

Oh, continuing the above example, I can see which verbs I already have in my deck. Next time I go “shopping” for new verbs, I can see at a glance which ones I already have.

So, go forth and assign those tags!

Drag text directly from the web to import cards

The next really cool feature added to the Mac version is support for import via dragging text.

Next time you see a list of foreign words and phrases online, you may be able to simply drag and drop said list into Fresh Cards to import them directly into your language deck.

Here’s an example. Open up this page in a tab: https://1000mostcommonwords.com/1000-most-common-filipino-words/

Scroll down to the word list and select some of the rows.

Now drag and drop that selected text into Fresh Cards. You’ll be presented first with the CSV settings screen. This is a screen that lets you pick the “delimiter” character (this just helps the app figure out where the columns are in the text you dragged). It also lets you choose which column in the table should be the front and which should be the back. The app will generally auto-detect the character, so just pick which column you want as the front and which you want as the back.

Once you hit the Preview button, you’ll the cards as they’ll appear when imported.

How cool is that?

If you see text like in the screenshot below (taken from https://www.transparent.com/learn-japanese/phrases.html) as opposed to in table format, you can import it as well.

Since this isn’t a table, the app will import it as-is without needing to go through the whole “what delimiter should I use?” screen. Here’s how the above looks in the import preview:

One more thing: dragging and dropping is kind of inconvenient sometimes, so you can use the clipboard instead. Just highlight the text as before, but then just do cmd-C to copy it into the clipboard. Then, in Fresh Cards, select “Import from Clipboard” in the File menu to start the import. It works the same way as drag and drop.

This feature is still a work in progress, so if you find text that can’t be imported properly, let me know! (Email support at ussher.ca)

Drag cards directly into text editors

There’s a new way to export cards: just drag and drop into a text editor. This is a great way to quickly share cards with your friends. Just select one or more cards and then drag them into a text editor. Here’s an example where I dragged the selected cards into the TextEdit app:

Selected a couple of cards…
Then dragged into TextEdit…

This is just a simpler way of exporting cards without having to create an export deck. Now that it’s in the text editor, I could copy/paste into social media or a blog, for instance.

Reviewed-only filters for Cram and Strength modes

If you’re using Cram or Strength mode, you can now filter by reviewed-only. This means you won’t see “new” cards that you have never reviewed.

This feature is on both macOS and iOS.

Learn more…

Okay, that’s it for the major updates for v2.3.

If you want to see a complete list of features as they’re added, be sure to check out the changelog page. There’s also now a roadmap page so you can see what’s coming up next for the app. There are still a ton of features I want to add. (Also, excuse the mess of these new pages. I’m working on them still!)

By the way, if you like Fresh Cards, be sure to tell your friends! This is an indie dev project written by one person — me, Allen — so sharing it with your friends on all the socials is much appreciated.

See you next time!

How to create flashcards from a text file

So you have hundreds of French (or German, or Japanese, or Klingon) words you want to commit to memory. Using a flashcard app like Fresh Cards is a great way to practice them daily.

Fresh Cards offers a slick UI to help you create new cards. Just type in the front of the card, hit Return, type the back of the card, then hit cmd-Save. If you want to create a bunch of cards in succession, just click on the checkbox to create another card after the save and it’ll clear the front and back text fields so you can add another card quickly.

That’s great, but did you know you can also drag and drop a text file into the app to import hundreds of cards all at once?

To start off, open up TextEdit on your Mac and create a new document. Start typing the front text and back text, each on a separate line, then enter a blank line, and follow that with another set of front and back text.

It should look something like the above. Now save the file as something like flashcards.txt. Make sure the file extension is .txt.

Now all you have to do is drag and drop that file into the app. If you want to create a new deck from the cards defined in your text file, drag and drop into the deck list. If you want to add them to an existing deck, drag and drop into an existing card list.

After you’ve dragged and dropped the file, you’ll get a nice preview of the cards you’re about to import so that you can uncheck the ones you don’t want. Even better, the app will uncheck duplicates it finds for you!

It’s that easy. Hope that was helpful.

If you want to learn more about the text format for importing, check out the help page. Fresh Cards can support even more complicated text file formats for when you want to import audio and images as well. (Not to mention its ability to import exported Fresh Cards decks and Anki decks.)

Download Fresh Cards for Mac and iOS today!

Improving Spaced Repetition with CoreML?

Idle thought: could I update the spaced repetition algorithm that my flashcard app (Fresh Cards) uses to make use of CoreML for machine learning? Fresh Cards records all your card review evaluations, so it should be possible to process all the data about how well you recall all cards over time to adjust the repetition intervals. The goal would be to use CoreML to do a sort of curve-fit of your recall data. The curve would be the Ebbinghaus forgetting curve and the data points would be your review timestamps and review scores.

Some interesting ideas here… More to come.

Use Cloze Deletions to improve your flashcards

I’m working on adding a new feature to the app, which I’m calling “Blanks”. This is also known as “cloze deletion”. What it allows you to do is take existing text and obscure, or “blank out”, portions of it.

I wanted to make this feature incredibly simple to use and I think I’ve devised a great way to do it. Here’s an example of a phrase that has a blanked portion:

The capital of Washington state is [Olympia]

If you enter the above in the front card, when it is presented to you, Olympia will be replaced with a blank. When you flip to the back card, you’ll see the answer, Olympia.

What you enter:

What you see:

Could it be any simpler? You can also add a hint in parentheses and it’ll show up beside the blank:

The really amazing thing to me is combining this feature with .txt file import. You can very, very quickly edit a huge list of sentences, converting them to cloze deletion cards. I typed the following text in a minute and dragged it into the app to create cards––even faster than using the UI directly!

JFK pledged to put a man on the moon by [the end of the decade].

The [Apollo 11] mission landed on the moon in [1969 (year)].

[Buzz Aldrin] was the first person to step on the moon.

The capital of Oregon is [Salem]

That’s “Blanks”, a new feature coming to the app in a few days!