Two weeks ago, I wrote a post where I mentioned that I was creating a "flash card" app to help keep up my practice regime. While there are actual apps like this, I wasn't able to find any that worked on all platforms -- Web, Android, and iOS. And the ones that do exist don't seem to be exactly what I want, so I decided to write my own. I said that I would keep you up to date on my progress too, so here's my update!
I want to be upfront that this isn't an app that's shared or published anywhere. It's not polished by any means, and I don't really have plans to make it "professional grade". At least, not right now.
So, what does it look like? What features does it have?
Basic User Interface
When you think about flash cards, what do you think of? To me, it's just a basic index card where you write a keyword, title, or question on one side, and then the answer (or notes) on the other. It's a basic design in real life, so the digital version should be the same.
In the center is a big ol' flash card with the name of the trick to practice. The source of the trick, if any, is located below the name to help with recall and to differentiate between tricks that share the same name.
If I click on the flash card, it will flip over and display the notes I have for the trick. Some of them are just the source and page number (or timestamp for videos), others are the effect description, and others are a short bulleted-list of steps to perform the tricks.
The buttons across the bottom are to indicate how difficult the trick was to practice. If I clicked on the flash card to flip it over, I have the difficulty default to "forgot" though. I explain how these buttons work below in the Advanced Features section.
The buttons on the top are for managing the system and each pops open a modal window.
- Decks: displays the different "decks", or "categories", of flash cards. I have things like Card Magic, Impromptu, Triumph, ACAAN, etc.
- Add: gives me a form to add a new card to the system.
- Edit: gives me a form to edit the current card that's being displayed; it's identical to the form for adding a card.
- List Cards: displays all of the cards in the current deck and separates them by "today's cards" and "all cards"
That's really kind of it. Not sure if the UI needs much more than that right now, but we'll see how it evolves over time.
Integrated with my Online Library
Did you know that here on The Babbit's Grimoire, my library contains 208 items between all of the books, videos, and tricks that I own? The large majority of them are still in "draft" mode, and I have at least 75 more books to add too.
If you've taken a look at any of the books in my library, or videos, you may have noticed that I include a full table of contents for them. What you don't see is that every entry -- on the site's backend -- is fully categorized similar to what you'd find on Conjuring Archive. Beyond that, I have also added keywords -- and sometimes full effect descriptions -- for each entry. This includes both sleights and routines. When I add a book or video (or trick) to the site, I always start with the table of contents. Entering it all takes quite a bit of time, as you can imagine; this is why most are still in "draft" mode and not published on the site yet.
Why all of the effort? Well, one of the reasons was to help with practicing my repertoire -- and this flash cards app is the initial steps towards the culmination of just that!
Not including tricks I've created myself, adding tricks from my library to the flash cards list is just a click of a button! They'll be auto-categorized for me and the flash card info -- both front and back -- is pre-populated. It also allows me to not run the risk of adding the same card multiple times, and identifying when two similar tricks are added; this isn't necessarily a bad thing, but I might be able to merge them into a single card, or display them back-to-back and call them "variations".
What kind of "advanced features" can a flash card really have, am I right? Beyond what I described above with how I've integrated these cards with my library items, I've also designed the stack timings to reflect how difficult the trick is for me to practice.
Initially, I created about 30 flash cards and then had the list randomized. That was the starting order. From that point forward, whenever a new card is added to a category, it will be added into the stack 3 days from today.
If a second card is added today, it will go into the stack 4 days from today. This will go all the way to 7 days away, and if I'm silly enough to enter in even more (which is more than 5 new cards in a single day), it'll circle back and add the 6th card to the stack 3 days from today, and so on. Each time a card is added into the stack, it will shift all of the other cards down by one.
Now, those buttons along the bottom of the UI, they indicate how difficult the trick is for me to practice. Here's the logic I have for them:
- Easy: I know this routine and can perform it naturally.
- It will put the card into the stack 6 days from today.
- If I click "Easy" for another card today, it'll go in 7 days from today, and so on.
- If the last time I saw this card I selected "Easy" and it's being inserted the same number of days as last time (i.e., last time it was 6 days away), I increase it by 1 and insert it 7 days from today.
- Okay: I know the routine, but my handling or performance could be a little better.
- It will put the card into the stack 3 days from today.
- If I click "Okay" for another card today, it'll go in 3 days from today too; but if a 3rd card is marked "Okay", it will go in 4 days from today.
- If the previous rating for this trick was "Easy", I push the card up a day (i.e., if it is in the stack 3 days from today, now it's 2).
- If the last time I saw this card I selected "Okay" and it's being inserted the same number of days as last time (i.e., last time it was 3 days away), I decrease it by 1 and insert it 2 days from today.
- Hard: Yeah, let's not show this one to anyone yet.
- It will put the card at the end of today's stack, to be practiced again.
- If I've clicked "Hard" 3 times for this card today, it will be placed into tomorrow's stack.
- If the last time I saw this card I selected "Forgot!", it will be placed into tomorrow's stack.
- Forgot!: I have no idea what I'm doing. Help!
- It will put the card at the end of today's stack, to be practiced again.
Any cards that remain in today's stack, at the end of the day, will be in tomorrow's stack. There will always only be 5 cards for any given day though -- when, or if, all 5 cards have been exhausted, the system simply says that there are no more cards to practice for today.
To be clear, the concept of shifting practice times based on difficulty feedback -- as well as the general UI layout -- I adopted after reading a post on The Jerx where Jerxy details a flash cards app that he uses. But because I wrote this one, I can control it to fit my own style.
Does it work?
I mean, literally yes it works. However, the purpose of the question is not whether it functions, but whether it's useful in helping me practice.
At this time, I've been using it daily for a little over a week. I've made it through a total of about 15 flash cards. Why so few? Because when I started populating it with my routines, I made sure to put the older ones from my list in first. I barely remembered the handling for most of them and had to bust out the books!
When I first learned these routines, I liked them and thought they would be great to know. Usually, I'll practice each routine for a day or two -- sometimes up to a week -- and then move on to the next one. Unfortunately, this has led to the loss of memory of the routines.
Bringing back those routines, and including the newer ones that I'm learning as time goes on, has already been great using the flash cards. I'm practicing more now than I was before, the handling of the older routines has been coming back pretty easily. Given the recall algorithm I've built, as long as I keep up with the practice, I don't see "forgetting the tricks in my repertoire" being an issue much longer!
Going forward though, I need to make sure to not let the list of flash cards get too large. A "working repertoire" can only be so big, after all. And, differentiating between a routine that is neat to know, and one that should be included in my repertoire. I've already found one trick from my first batch of flash cards that, even though I have been practicing it via the flash card, I'm certain that it's not a trick I'll be using (but it's a nice little "visual" thing, so I'm practicing to be able to include it in an Instagram edit =P).
Like I mentioned, I haven't been using it for too long yet, and I also don't have my full repertoire entered into it yet. In a few months, I'll post another update that will show better results (whether good or bad).