Exciting New Features Coming to Fresh Cards

Fresh Cards is a powerful flashcard app for Mac and iOS that allows you create your own flashcards and helps you review them regularly using an intelligent spaced repetition scheduler. With multiple review options, Fresh Cards supports several review styles, including targeted review and cramming. In this post, I’ll give a preview of some new features that are coming to the app.

The latest version of Fresh Cards

It’s hard to believe that I started working on Fresh Cards four years ago. It was around this time in 2020 that I was prototyping ideas for the app, which eventually led to the first version being released around Halloween, 2020.

A very early Fresh Cards prototype, looking like a cross between Tinycards and Slack

Since then, the app has gone through multiple iterations, but it’s been a while since I’ve released a major update. One reason for that is that I’ve branched out and built a couple of other apps, which have kept me busy. But now I think it’s time to return to Fresh Cards to give it a big update.

Be sure to check out my other apps: Card Buddy can help you brainstorm and plan your writing using index cards on a canvas. Minders is a new way of journaling, made for people who live online.

I’ve already started working on designs for new features and have been prototyping some of the new technology that will be used in the app. I want to share with you some of the new features I’m working on.

📁 Folders

Probably the most profound addition to the app is a folder system. You’ll finally be able to easily organize your cards in a folder hierarchy.

Imagine creating separate folders for phrases, nouns, verbs, adjectives, adverbs, and so on. Select a folder and then hit the review button to do a targeted review on that folder.

You’ll be able to drag and drop cards to move them around the deck, or to move them to other decks, with all the review information kept intact. Folders are going to be a game-changer.

A tool I've built to flesh out the design and implementation of folders

☁️ Improved Sync

The sync mechanism in the app is getting an overhaul. Sync is a fundamental feature, but in its current form, there are still occasional issues encountered by users.

Thankfully, since working on Card Buddy and Minders, I’ve been able to experiment with alternate ways to sync using iCloud, and I’ve found a way to make sync both reliable and fast in both those apps. Now I’m going to bring those lessons to Fresh Cards.

The new sync mechanism relies more on iCloud’s built-in document-based sync, as opposed to the old journaling system that I custom built for Fresh Cards, so it will be both quick and reliable.

Higher Fidelity Anki Imports

A year ago, I began work on an improved Anki import experience. The new experience would’ve added higher fidelity Anki cards to the app. This means rendering Anki cards in their original HTML + Javascript + CSS stylesheets as Anki does. At the moment, importing Anki decks into Fresh Cards loses a lot of the original formatting of the Anki deck.

I wanted to release an update that included these feature some time last year, but I never did. One reason for this was that the existing sync technology in the app would be stressed to its limits if users imported large Anki decks.

Without getting into too much detail, importing a large Anki deck introduces a lot of data to sync across devices, and this would lead to a high likelihood of sync failures or very slow syncs. I made the decision to delay adding this feature to avoid a poor sync experience until I came up with a better sync engine. Once I implement the new sync engine mentioned earlier, large Anki decks will no longer stress the system, and I can finally incorporate the improved Anki support.

A tool I built to test out importing and viewing Anki .apkg files

When this work is complete, you’ll be able to import any Anki .apkg file into the app and view the cards exactly as they appear in Anki. Part of this work requires adding the templating system that Anki uses, which leads me to the next feature improvement.

📝 Card Templates

Anki makes use of a templating system to help users create many, many cards easily using the same style. This means users can construct many cards by first creating a single “note” with a few fields of “facts”. The templating system then takes the facts stored in the note and applies one or more templates to it to construct various permutations of those fields. For instance, you can create a single note with 2 facts, and then with 5 different templates, that could lead to 5 new cards, which ultimately means more ways to review the same information, making lessons more interesting.

Since the new Anki import system will rely on templates, this template feature will also be available to any new cards that you create, whether you import from Anki or not. You’ll be able to create Markdown templates, for instance. With templates, you can easily customize all your cards to look a certain way, without having to edit every single card.

📚 An Import Library

You may have read that you learn better if you create your own flashcards, as opposed to starting with someone else’s pre-made deck. I believe that to be true, but I know that it can also be tedious to come up with new sentences and new words to learn. This is where the Import Library feature comes in.

Wouldn’t it be great if you had access to a vast library of phrases in your native and target languages that you could use to look up and add potential new cards? This is the job of the Import Library.

Today, if you import cards into a Fresh Cards deck, you’ll be shown all the cards in the import deck and you can check off the ones you’d like to import. This is fine if the deck is small since you can easily browse what’s there, but if you’re importing a deck that has hundreds or thousands of cards, it’s not practical to pick and choose. You might decide to just import everything, but now you have hundreds of cards that you feel you have to learn! This becomes overwhelming when you’re starting out, making you even less likely to study regularly.

With the Import Library feature, when you import an external deck, it will go into a library section in the app instead of directly into an existing deck. This will make it much easier to manage your custom deck. You’ll be able to add cards from the library by searching and picking individual cards you’d like to add, and at your own pace.

If you’re just getting started with a language, this means you can add a comfortable number of initial cards to learn, and as you progress in that language, you can go back to the library to browse for more cards that are suitable for your level.

I think this is a great compromise between creating your own custom cards from scratch or importing an entire deck someone else has made, wholesale. Of course, after importing individual cards, you’re free to customize them to your liking. Since you’ll be importing a smaller set, it’ll be much easier to customize the cards as you go. With the new folder system, you’ll also be able to organize them more easily, so that you can grow your knowledge base comfortably, at your own pace.

The Import Library also opens the door to default flashcards provided by the app, which is something I’m looking at potentially adding in the far future.

A great source of potential flashcards is the website Tatoeba. If you’re not familiar with it, Tatoeba provides a massive list of user-generated sentences in various languages, often with audio of native speakers. Whatever language you’re learning and whatever target language you’re starting from, you’re sure to find useful sentences there. This makes it a great place to source new flashcards.

I’m going to make it possible to a download corpus of Tatoeba sentences and import them directly into the Import Library. That way, you’ll immediately have access to thousands of sentences in your target language.

Here's a simple prototype app I built to test out searching a Tatoeba corpus

New Card Review UI

There are some new ways to review cards that I’m working on. One of these is a fridge magnet-style UI that you may have seen in language learning tools like Duolingo or Memrise. In the future, Fresh Cards will make it possible to input your answer by rearranging a jumbled set of words in a sentence.

This type of UI doesn’t work with all flashcards, of course, so there’ll be configuration settings and some intelligence built into the app to detect when it’s appropriate to use this UI and when it’s not.

Here's a prototype of the fridge magnet UI.

For cards with short answers, the app will also allow you to type out the answer instead of just flipping the card to the answer side. I know that a lot of users have requested this over the years!

So, When?

This update is going to change a lot of things under the hood. The internal database and sync system will both be completely rewritten to support these new features. The core internals are really what’s been holding back new functionality, and I can’t wait to complete the work as it will mean new features, even beyond what’s listed here, will be easier to add.

This is a lot of work, but the good news is a lot of it has proven out already, so it’s fairly straightforward to complete. I have a working implementation of the folder system and a working prototype of the new database and sync engine. However, it will still take time to migrate everything over to the new database and app architecture, then fully test it to make sure migration goes smoothly for all users.

So when can you expect some of these amazing features? I don’t have a concrete date yet, but my hope is to release it before June, 2024. It might come out sooner than that, if the work goes smoothly.

Do check on this blog occasionally, or follow @freshcardsapp where I’ll post updates. You can also follow my personal account on mastodon: @allenu@mastodon.social.

What do you think? Are there other features you’d really like to see? Come join the Discord and drop a comment about what features you think the app needs.

If you’ve been using the app since its first release way back in 2020, thank you! I hope the app has continued to be useful to you and can’t wait for you to try out the next update. If you’ve just started using the app, welcome and get ready for some amazing new things in the months ahead. And if you haven’t tried the app yet, this is still a great time to give it a download.

Fresh Cards is available in the App Store for macOS and iOS.

– Allen

Be sure to share the app and this blog post with your friends on social media! It helps make it easier for new users to find Fresh Cards.