This page describes how to update the Anki fish species ID flashcards.

How to add photos and species to the fish Species ID flashcards

I created the Anki fish Species ID flashcard deck by first assembling all the information I had into a spreadsheet - I think if I had attempted to assemble all that data directly into Anki, I would have made many mistakes and given up in frustration. You can download a copy of this spreadsheet by clicking on the Files button at the bottom of this page.

So, if you want to add species and/or photos to the fish Species ID flashcards deck, you have two choices:

  • add species and/or photos using Anki software. I have never done this, so don't ask me how, but it is probably not hard - probably most Anki decks get grown within Anki, and I am sure that the Anki documentation can tell you how to do this. (Then again, most Anki decks do not have as much detail as the fish Species ID flashcards...) Or,
  • add new photos into Anki's Collections Folder, add species and/or photos filenames into a spreadsheet, copy the new rows* into a text file, and import the text file into Anki. (*To be precise, you don't copy the entire row for a new species, you only copy the cells to the right of the 'yellow column', as explained below.) If you have any familiarity with spreadsheets, you will find this is the easier and much faster method - Anki is brilliant at flashcards, and Microsoft Excel and (free open source) LibreOffice Calc are brilliant at data-sheets. (I have only used Calc, but the Anki manual on Imports describes how Excel can also be used subject to the UTF-8 issue; I suspect that copying & pasting from Excel into Notepad++ - see below - will easily solve the UTF-8 issue.)

I will now explain how to import from the spreadsheet.

Import into Anki from the source spreadsheet

Import into Anki from a spreadsheet on a computer rather than a phone. You might be able to do it on a phone if you lack a laptop, but it would require unnecessary heroism.

NB: If you intend to upload your photos to either wikiSift.org or Anki, you need to ensure you are not breaking copyright laws by using any photos that require attribution and perhaps licensing details as a condition of using them. For most CreativeCommons.org photos it will be sufficient to provide a link to where to photos were originally posted, which is why the spreadsheet has the columns it has for each of the 6 possible photos.

Steps for importing spreadsheet data into Anki

  • Collect the data you want to add to the spreadsheet - there are tips on doing so in Data collection for the fish Species ID flashcards. As you go, you can assemble the data into the spreadsheet and the photos into Anki's Collections Folder - see below.
  • Modify the spreadsheet to include the new data you want. Given all the existing example data in the spreadsheet, this should not be too hard. If you want to understand exactly what is going on, you can view my Notes on the columns used in the spreadsheet. If you are adding species in taxonomic order, you can save a lot of typing of Genus and higher taxa in the spreadsheet by dragging the fill handle (i.e. click then drag the lower right corner of the selected cell(s) that has the data you want to copy or increment to multiple adjacent cells). For maximum interoperability, please save the spreadsheet as a 2003 Excel format (.xls) instead of the native Calc .odt or current Excel .xlsx.
  • Add photos into Anki's Collections Folder, named as you have specified or will specify in the spreadsheet. (You will see many examples of existing photos in Anki's _Collections Folder_ that will serve as a guide. Note that the Collections Folder will have other files not used by the fish deck; all the fish deck files start with SPID and almost finish with LKJH.) NB: If you use column A Search string used for manual web searches and column B Filename base used to generate filenames for each pic and for manual saves., this will greatly speed up A: searching for the species you want in Wikipedia or Fishbase etc, and B: doing a File Save As to the correct filename (perhaps after right-clicking the photo you want to download). See Data collection for the fish Species ID flashcards. You can move the photo into the Collections Folder anytime, i.e. before or after importing the text file into Anki - if Anki tries to show the photo and it has not yet been moved into the Collections Folder (with the correct filename that you actually imported into Anki), then the card will show a placeholder instead.
  • Decide what you want to copy from the spreadsheet for importing into Anki. An Anki deck consists of the cards design, the cards data, and possibly how well you have learnt individual cards. You can get both design and data by doing a Get Shared or an Import File of a .apkg, as described in Installing the fish Species ID flashcards. You can modify the design as you wish - see the Anki documentation for that, I ain't documenting it. You can add new species (i.e. new cards) by copying into a text file only the new species that you have added to the spreadsheet, and then doing an Import File of a .txt file having selected Files of type "Text separated by text or semicolons (*)" - this works fine, and is documented below. You can probably add new photos by copying modified card info from the spreadsheet, and importing those cards so that they overwrite existing card data; this will probably work, but may reset info re how well you have learnt that card. Alternatively, you could first delete cards by using Anki's Browse function. Backup Anki first - read its documentation to find out how.
  • Select the cells you want to copy, copy them (e.g. Ctrl+C), then paste them into a text file using Notepad++.
  • Import that text file into Anki.

Which are the relevant cells to copy from the spreadsheet into the empty text file? Well, cell E1 (at the top of the yellow column) is labelled Only copy cells to the right of this row (and starting from Row 3 downwards) into a .txt file for Importing into Anki, so only copy cells from column F and its right. Similarly, and cell L2 is labelled USED TO GENERATE LINES BELOW (do not import this row or any rows above it). Currently rows 3 to 10 are Comments, and the only way I know to avoid having them appear as a user's first flashcards is to only import them after I have imported all the species etc flashcards that the user wants to see. Hence, first I import F11..BD223, then I import the comment rows F3..BD223. Currently, Column BD is the Tags column, which Anki requires be the last column imported.

E.g. if I add 10 new species (one per row) to the spreadsheet below its existing species in row 11 to 223, then I would select & copy F224..BD234.

Export from the spreadsheet into Anki

I have only tested this process on Microsoft Windows, so if you do this on Mac or Linux, please share what works for you.
I have only used Calc (I have not attempted to use Excel), but I have confined myself to the 2003 .xls filetype and simple IF statements etc, so it is _likely_ that Excel will work fine.

Copy into Notepad++ to create the text file

I export from the spreadsheet into Anki via a text notepad. It may be possible to export the selected cells from the spreadsheet straight to a text file, but copy & paste into Notepad++ worked first go for me, so I have stuck with that - the process is too fast to bother refining. Notepad++ allows you to set Encoding to 'Encode in UTF-8', which you should do, and depending what characters sneak into your spreadsheet, you may find that using Notepad++ is essential to avoid UTF-8 encoding issues. So yes, Notepad++ is yet another software installation, but smile, I promise you will like it. (E.g. In Notepad++, ctrl+n creates a new tab for a draft unsaved .txt file that Notepad++ will (usually!) preserve for you even in the event of a Windows crash. And you can have more than one text file open at the same time! Bliss. Sooner or later you will heed internet comments that once you start using Notepad++ you will regret ever using Windows Notepad. In my case this took ~20 years, but you may be smarter than me.) Notepad++ is free open source software that you can download from notepad-plus-plus.org

Import from the text file into Anki

Either use the File > Import menu command, or use Import File (see button at bottom of Anki's Decks screen). Be careful to:

  • Ensure that the deck you want to import into is selected in Anki's Decks screen. You can select the deck using the large buttons, or a faster way is to momentarily click into the deck you are interested and then close it back to Anki's Decks screen.
  • This time, to import from a text file, select Files of type "Text separated by text or semicolons (*)". (Previously, you Imported or Get Shared an Anki flashcards Package file with file extension .apkg.)
  • Ensure you have Fields separated by: Tab.
  • Tick Allow HTML in fields so that picture filenames are treated correctly.
  • If you are adding new photos or changed details, select Update existing notes when first field matches.
  • Ensure that the (Note) Type you are importing into is Species ID with 6 photos.
  • Check the 'Field mapping' to see that the last field (currently #51) matches Tags and that the Field names look about right. If not, check again that Note Type = Species ID with 6 photos.

Check for errors

Check that the appropriate number of rows and fields have been imported, and that there are no error messages, especially UTF-8 encoding issues. If there are errors, read all these notes (now you know why I wrote them), try to figure out what went wrong, and try again. Be optimistic. All the software you are dealing with is reasonably sound, and Anki has a broad and helpful user community.

You might avoid UTF-8 encoding issues by ensuring quotation marks have not been Replaced or AutoCorrected in the spreadsheet with left & right pairs, but I solved some UTF-8 error msgs from the Anki importer by copying the required spreadsheet cells into Notepad++ (open source freeware) and in Notepad++ setting Encoding to 'Encode in UTF-8'. Later, I found that a non-ASCII right-quote somehow reduced the number of fields that Anki could see, causing such records to not be imported, so I had to replace some left & right quotes with vertical ASCII quotes (zoom in to see the difference). Various people have reported various problems and workarounds. Ankiweb suggests using the free LibreOffice Calc spreadsheet, but that is what I used, and I still had trouble until I replaced all left & right quotes with vertical ASCII quotes.

Explanation of the public version

The original .pdf files that BC emailed us had many entries which did not identify a particular species, but instead specified a Genus, Family, or even a colloquial grouping. I arranged private flashcards for these higher taxa using the Pic-1 photos that BC had provided, but because I was not able to check licensing for these photos I have not made them publicly available. Nor have I attempted to create flashcards from alternative photos that are publicly available - lacking the automation possible with a binomial name, this would have both been laborious, and require knowledge that I do not have as to which species photo(s) should be used to represent the higher taxon. For simplicity I was tempted to delete all spreadsheet entries that did not identify a specific species, but when diving in Raja Ampat we found that BC's list was quite useful, so I have left it intact in case someone else wants to use it as a basis for a more complete list. (BC's list included far more butterfly fish than we spotted, but re checking the health of a reef it is apparently particularly useful to be able to identify the rarer butterfly fish.) However, I have not imported the non-species taxa into the publicly available Anki deck, so as to avoid cluttering its Browser with a bunch of cards that will not be shown because there are no X's in a 'Show these pic Ns' field or in a 'Show this pic N' field (where N = 1, 2, 3, 4, 5, or 6). Instead, I have left un-imported all the non-species rows, sorted to the bottom of the spreadsheet; it would be great if someone volunteers to choose representative photos for these higher taxa and then share the resultant cards to the Anki website and to wikiSift.org. An even easier task is to choose and make available publishable versions of the 'Pic-1's. (Swmbo & I found that the pedagogy of the private 'Pic-1's in combination with the other Pics worked very nicely; I am a bit concerned that without the extra photo, folk will memorise pictures rather than the species.) Provided that you do not change the field names of the Anki deck nor the Record ID values, then users of the existing deck can easily top up their deck with any new cards you make available, without losing their existing learning data.

It turns out I was right in doubting the feasibility of learning all those species with the resources that we then had available, which is why the local BC science officer had instead implemented a survey methodology that does not require such complicated skills... So don't hold your breath waiting for BC to improve these flashcards.

However, it is well understood that the world needs a better way to train scientists in species recognition. IMHO, this spreadsheet/Anki method is optimal for pedagogy (I bet it beats the heck out of randomised PowerPoint slides), and is as nice as it can be re its on-going availability and its set-up learning curve. If you want any clarification, please request this via a Comment below.

You forgot your Google ad_client number !