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.

<HR>

Terms and Conditions of Use

General

These "Terms and Conditions of Use" (hereafter "Ts&Cs") govern your access to and use of "wikiSift.org". Your access to and use of wikiSift.org is conditioned on your acceptance of and compliance with these Ts&Cs; i.e. by accessing or using wikiSift.org you agree to be bound by these Ts&Cs.

wikiSift.org was established in NSW, Australia, and is subject to its laws. wikiSift.org acknowledges the aboriginal Gadigal people of the Eora Nation, the traditional custodians of this land, and pays its respects to the Elders of that nation.

"wikiSift.org" primarily refers to the internet website wikiSift.org and its sub-domains and the services they offer, except that in the event of disruption to the wikiSift.org website, "wikiSift.org" may also refer to other mirror or replacement websites nominated by "John Brady", who is identified as being the creator and owner of wikiSift.org. You shall not rely on wikiSift.org being always available, and shall maintain your own backups of any data that is important to you.

wikiSift.org does not consistently monitor all content hosted on its pages, and most editorial control is in the hands of you and your fellow users. It is you who create and manage the content; wikiSift.org merely hosts this content.

(Any links on this page to other pages shall be ignored if they conflict with or limit what appears on this page. All of these Ts&Cs shall be followed to the maximum extent possible under law, and if any of them are found to be unenforceable this shall not void the remaining terms.)

These Ts&Cs may be updated from time to time. A history of what was updated when can be inspected by viewing the wiki history. In the event that a change to these Ts&Cs would disadvantage a user who had registered their account before the change, then until one month after the change, either the change shall not apply to the user, or wikiSift.org shall reasonably compensate the user.

Some parts of these Ts&Cs have been copied from WMF’s http://wikimediafoundation.org/wiki/Terms_of_Use under the CreativeCommons-By-SA 3.0 License. Striving for brevity, parts of WMF’s Terms of Use have been omitted from wikiSift.org because they are covered by Australian Law and commonsense, even though those omitted parts still apply to wikiSift.org.

Privacy

wikiSift.org and its administrators shall never deliberately reveal any of your private details any other parties unless with your expressly given permission. Unless with your expressly given permission, wikiSift.org will only use your details for the purposes of emailing you re wikiSift.org webpages that you have contributed to.

However, wikiSift.org is being developed and cannot yet assure you that adequate precautions have been taken to safeguard your privacy, such as assuring you that the software wikiSift.org is using has been properly configured. For this reason, please do not provide any personal details, including your email address and a password, to wikiSift.org if you need to keep them private.

Limitations

wikiSift.org is in the real world, and even if you use a pseudonym, your actions can have very serious consequences for yourself and others, including serious legal, financial, and emotional consequences. You are legally and morally responsible for all of your contributions, edits, and use of wikiSift.org content. You are responsible for all your accounts’ activities (so keep your password safe and your computer secure). Please inform us immediately if you notice any breach of security involving your account (so that we can help minimise damage). wikiSift.org reserves the right to prevent or delete your contributions and terminate your account without explanation.

wikiSift.org does not stand by any representations, warranties, or guarantees about the accuracy, balance, completeness, currency, ownership & licensing, or relevance of any information on wikiSift.org or websites or sources linked to or referred to by wikiSift.org. wikiSift.org does not offer any protection, guarantee, immunity, or indemnification re your use of wikiSift.org. You should rely on your own enquiries. wikiSift.org excludes all liability for any direct or indirect loss, claim, or damage, including any loss re use of wikiSift.org’s websites.

Copyrights

wikiSift.org owns its trademark, logo, and favicon, which may not be reproduced without written consent.

For any contribution you make to wikiSift.org, either:

  • you warrant that the contribution is work in the public domain, or is work that has been duly released under a license that is at least as permanent and permissive as a CreativeCommons.org CC-By-NC-SA license, and you provide sufficient details to verify this, including:
    • the name(s) or username(s) of the person(s) who created/recorded the material, the date or approximate date the material was created/recorded, and either a full copy of the license terms, or a hyperlink to the license terms; OR (more simply)
    • a hyperlink to a webpage which contains the above names, dates, and licence details.

or

  • you warrant that your contribution is your own original work, unencumbered by obligation to anyone else, and by contributing it to wikiSift.org you thereby irrevocably release it to the world as per the licensing arrangement for that page. The default licensing agreement that shall apply (unless otherwise specified as described below in this paragraph) is the CC-BY-SA 4.0 license with attribution satisfied by either: giving your wikiSift.org username and "wikiSift.org", or by giving a link to the relevant area on wikiSift.org. wikiSift may approve a different licensing arrangement if it is essential to the success of a project, but all such different licensing arrangements must appear in this WS List of non-standard licensing arrangements, and prominent links to the non-standard licence must appear on every page of the project.

Explanation

The following explains wikiSift.org's 'Copyrights' Ts&Cs:

  • wikiSift seeks contributions from diverse people that build upon each other's work. wikiSift uses CreativeCommons.org CC licenses to ensure that contributors' work can be published on any non-comercial website or in any non-comercial publication without needing explicit permission from every contributor (which might be impossibly difficult to arrange). This fits easily with other websites using CC, e.g. all of Wikipedia and much of Flickr. These CC licences also mean that if wikiSift does not satisfy its users, then anyone can copy all its content (a.k.a. 'fork' it) to another website. Unnecessary forking is bad, because when data is scattered over the internet it is hard to authoritatively grow it and keep it up-to-date. wikiSift's CC-By-SA requires any copier to link back to wikiSift.org, which should discourage unnecessary forking, and which encourages an internet in which it is possible to check the source of an assertion or summary.
  • To summarise what you need to do re wikiSift copyright:
    • Only contribute copied material that everyone can legally re-share to everyone. E.g. if you need special permission from the creator to copy a photo, then you cannot contribute it to wikiSift (unless you can persuade the creator to irrevocably release it generally, under a licence at least as permissive as CC-By-NC-SA).
    • If you can only legally copy material by also providing a link to the source & its licensing, then, duh, obey the law and provide that link (which also happens to be polite, and allows useful checking).
    • If you are copying public domain material, then provide a link to somewhere that gives details of how the material is public domain.
    • Understand that if you contribute work that you have created, then the effect of these Ts&Cs is that you are irrevocably sharing it with the world, as per the default licence for that page.
  • The default licence for wikiSift is CC-By-SA, but a different licence can be required if wikiSift's administrators agree that this would be essential for a project to succeed. E.g.:
    • a wikiSift project to write a play could require that the text of the play is CC-By-NC-SA, and that every contributor to that play agrees to irrevocably assign performance rights to the play's principal author (because unless the play's producers can guarantee that no-one will stage the play at the same time, it may be impossible to actually fund production of the play).
    • a wikiSift project to develop a paper for publication in a commercial journal could require that every contributed photo is licensed for Commercial use - e.g. CC-By-SA is fine, CC-By-NC-SA is not.