Show HN: Learn where countries are on the world map with Spaced Repetition (map.koljapluemer.com)
Hi HN,
I made a web game to practice country locations a while ago and HN liked it, so I thought I'd post my updated version as well.
As for how the game works and feels, I'd really recommend you checking it out for yourself, it's free, no signup, no ads.
The tech stack is Vue + ts + Tailwind/Daisy for the looks. The learning algorithm is a slight modification of the ts version of FSRS.
If you have anything to add, it's open source as well (https://github.com/koljapluemer/learn-worldmap), although not well documented yet.
In the end it's just a little sideproject, but I hope you enjoy it — any feedback welcome :)
84 comments
[ 3.7 ms ] story [ 82.0 ms ] threadI am your classic american who would embarrass themselves if publicly tested on this. Never done spaced repetition outside of index card analogs, and I like the idea
I'll have to click more to experience the `spaced repetition` bit, just getting an early comment in to cheers you
Also, I absolutely love that it's so easy to start playing (no signup, no popups, etc)
Question: For the countries I know and select first time, I get them multiple times between countries. It's a bit odd to have to select England a couple of times, but the countries I don't know, I seem to get less often, or no repeats at all. Is this intended?
(edit) Question 2: Is there any scenario where you'd actually guess wrong more than once? After the first miss click, the country is highlighted. I don't see I'd ever get "You found country in 3 clicks".
I was wrong!
But the fact I get credit for knowing roughly where a country is, and then it zooms in, is a great idea. And well implemented.
I am going to try this for a bit and, if it works well, I'll ask my son (8yo) to consider adding it to his daily habits.
I can identify all mainland countries but have really hard time with the island nations in Oceania and the Caribbean. Would love to have an option to select which specific area I want to practice with.
Also for countries that I can identify with first click, I have to keep clicking until the cycle is complete. It make sense to zoom and ask to identify the countries again, but maybe stop after getting it right continuously ~3 times?
Great application of spaced repetition beyond cards.
Also: After you guess one, a button to jump to Wikipedia to learn more.
Today I learned Lesotho is the largest sovereign enclave; there are two smaller on the Italian peninsula.
I'm surprisingly bad at the first 5 countries suggested but I managed to guess the general region well enough to hit it correctly on the global map.
At the same time, I feel like a lot more people know where Australia is compared to (say) Laos.
I love the zooming in; Did I just know that country was in Europe or did I really know which map-feature was the country?
that's really the core struggle with learning games: not being too boring, not being too repetitive, not introducing stuff too fast, enabling user choice but also making sure learning is achieved...
will take both your point and parent poster's point into account :)
edit: I see the code is fetching from the following, which has 177 features:
https://raw.githubusercontent.com/holtzy/D3-graph-gallery/ma...
Or that that body of water is "Gulf of America" now...
C.f.: https://www.vox.com/culture/2023/7/13/23791805/barbie-map-ni...
Apart from these issues, it's really nice, well done!
Not to scope creep, but it would be great if users could pick from 1 or 2 themes. Or maybe just refactor it so that changing a global var from the javascript would let you change the colors.
edit: also the collective north and south poles take up about 60% of the zoomed out map. I bet you could crop most of antarctica and a significant portion of the upper northern hemisphere without degrading the experience.
* I like how the map moves around. It helps nail down relationships to neighbors * I don't mind a few extra "Where's canada", even though it's not that useful * I'd like the pause between answers be shorter. * Small countries are impossible to see when zoomed out on the first exposure, even when selected right. I find myself knowing the area it's in (ie, central america) but not which exact country. So selecting it right when zoomed out doesn't get me the correct answer.
only slight thing is that i wish the map had more contrast, apart from that this is great
A few observations & thoughts:
- With remote islands somewhere in the oceans, the last zoom level isn't very effective since the map will essentially only show the island you're supposed to identify.
- The map's resolution could be higher.
- The challenge (top right) doesn't work for me in Firefox for Android. It always tells me I have guessed wrong (as if I had accidentally tapped somewhere on the map) when in reality I haven't even made a guess in the first place and was waiting for the game to tell me which country to identify.
In some cases with these tiny islands, I see essentially just some specks on the map (where one island is one country, other island is another country). In these cases I would like to see some minimap in the corner, that would show which part of the world I'm looking at. Better resolution would also help (to make the shapes of these islands more recognizable).
But overall, nice app! Would be nice to have some counter of total number of guesses, guesses today, and maybe success ratio for the day or something. And the best thing would be the percent of the countries I have well memorized, something like a progress bar, with the goal of memorizing all the countries.
Also, why is Antarctica on there?
Front of card: country name, plus possibly: recognizably large segment of world map containing that country, without highlighting.
Back of card: same graphic, with that country colored.
Determining whether you got it right is self-evaluation in Anki; if you thought of the correct map shown in by the back of the card, you hit the good button, otherwise bad.
This clever paradigm in Anki means that deck authors don't have to develop UI for the user to specify correct answers.
Say you want to go from dog breed names like "Yorkshire terrier" to photographs (rather than photo to name). How would you develop a UI by which the machine could test you and confirm that you know? Probably multiple choice is all we have. Multiple choice with too few choices gives the answer away to some extent. Too many choices will overwhelm your mobile device screen. You could ask the use to draw the animal. That would be time consuming and require talent not directly related to memorizing dogs.
With self evaluation, you don't need it. You just imagine a Yorkshire terrier as best as you can. Then if you think the back of the card is close to what you were thinking off, you hit Good. If you imagined a Westie, or German Shepherd, so that you are surprised and dismayed by the unexpected Yorkie image, then you hit Bad.
Just like to learn algebra, you don't need to solve equations upside down, or to learn to read, you don't need to read upside down. These variations don't speak to the semantics of the main activity whatsoever.
If you know where every country is from doing spaced repetition and someone gives you a world map upside down, you will easily find a given country; you can mentally rotate the map then.
Changing the image slightly helps force you to actually think about _why_ you know the image is depicting the country in question, rather than simply building automatic visual recall of a country name tied to a specific image.
You can of course achieve the same thing with just having a bunch of different "stylesheets" for your map or something, but that probably requires manual creation in order to not be a complete mess, and still probably isn't as good for building transferable knowledge. This approach on the other hand is much better at building transferable knowledge, but requires more frustration and a much longer time horizon to be able to usefully utilise the knowledge.
If we are training name to location for a set of countries, the front of the card is the name. You only need multiple versions of that if the country name has spelling or naming variations.
If you're going from map shape to naming the country, and you want to be able to do that in any orientation, then you benefit from training on map rotations. I'm guessing four rotations ought to be enough: upside-down and ninety degrees CW and CCW. That already quadruples the training set; there has to be some reasonable balance.