Show HN: Learn where countries are on the world map with Spaced Repetition
map.koljapluemer.comHi 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 :)
What list did you use for the list of "countries"? (I only ask because the first one I got was Northern Cyprus which is only recognized by Turkey and not a UN state).
edit: I see the code is fetching from the following, which has 177 features:
https://raw.githubusercontent.com/holtzy/D3-graph-gallery/ma...
It also has Greenland which is just an autonomous region of Denmark, but not the Faroe Islands which is our other autonomous region. I guess Greenland is just more visible due to its size (both regions actually have about the same population)
Interesting, thank you for the link. This answers a few questions I had about preferred country names while trying out the game, such as Czech Republic/Czechia, Swaziland/Eswatini, Turkey/Turkiye. I also found the partially recognized states curious, especially Palestine being reduced to "West Bank".
Ah, geo-politics meets technology. Imagine flying into a country, and the border guards tell you "Did you make this website? Well, the depiction of our country is a few pixels off, that offends us. Hands behind your back.".
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...
I had a similar reaction to the borders of Western Sahara, where it seems like most of it is part of Morocco in this map.
Apart from these issues, it's really nice, well done!
Also “England” but the shape is the UK.
It also includes "Somaliland" which apparently is only somewhat recognized by China.
I got the countries Sweden, El Salvador and Luxembourg.
I know where these countries are. I still had to select all of them at least 5 times each before I got another country.
Spaced repetition != immediate repetition.
Please fix this. If you have something correct, it should move it to the back of the stack.
Other than that, great.
This is a great idea, though I feel like if you guessed the country accurately the first time I would like it move on to another country. That or a button that lets me skip to new countries. I know where Australia and it's a bit tedious to be forced into spaced repetition for it three times.
-1
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?
+1
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.
That's a good idea.
I had the same experience. I played for a few minutes, and the only repetitions I got were countries I already identified on the first guess. I didn't get repeats of any country that I missed initially.
Some Welsh, Scottish and Northern Irish people may take issue with your definition of "England"
So does this english person! That's the UK.
Related Anki deck: https://github.com/anki-geo/ultimate-geography
The data is also a bit more up to date w.r.t. the problems pointed out by sibling comments like changed names, different claims, distinguishing territories from countries.
Also commented in the original post.
Love it!
Last summer I put together a flag quizzing game with my niece, who's a geography nerd: https://flagsaroundthe.world/
I think minimally contrastive examples work well for learning, i.e. you want to first learn to distinguish between broadly different categories, and focus on more and more similar examples over time. This little app doesn't have scheduling at all, it just samples examples based on previous responses, so sampling examples you got right exponentially less often as you keep answering correctly. I think sampling has some interesting advantages to SRS scheduling actually. Add new "items" becomes a straight sampling problem, where you can set a constant probability for each item that hasn't been seen yet.
Nice little game! One correction: Swaziland has been called Eswatini since 2018. Lots of websites still use the old name, unfortunately.
Eish, even as a South African (who later emigrated) I didn't know that, and now need to learn this new name. So much for "Swazi Gold"...
I'd like to play this on my phone but everytime I try to zoom or pan it thinks I'm making a guess in the middle of the ocean. Also it often gives me a success when the country is definitely not within the chosen circle. Sometimes it starts a new view with the circle already in the right place.
Nice job!
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.
Nice work! It's quite cool.
Feedback:
Although that's a decent UI and gamification with the circles and all, if I seriously wanted to memorize this information, I would just want the data as an Anki deck.
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.
I've done that. You need variations though, or you learn that specific map framing. I like that this has rotations and zooms. Should generalize better.
To learn where in the world Guyana or Myanmar are, all you need to work with is maps that are aligned so that North is toward the top of the screen.
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.
I think parent is more concerned with the way that after enough times seeing the same image and linking it to an answer, your brain does what your brain does best, which is find mental shortcuts. Gradually you come to associate the image with the answer, without regard to any kind of "why". This process happens rather quickly, and when you're faced with even only a slightly different image, you suddenly find it's very difficult to remember what the country is, despite blazing through it in your reviews.
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.
Some general feedback after trying it briefly a few minutes ago:
I suppose I'm slightly more geographically aware than average, but certainly by no means that good at geoguesser type games in the past. Even so, it felt way too easy for me. I got the first 40-50 correct before I closed it because it wasn't challenging enough for me.
This is an absolutely excellent way to learn, I am surprised at just how effective it was. I'd love a "manual" mode that let me discard countries/mark them to stay in rotation.
Yeah, one of the first countries I was asked to identify was "USA" and......that's just a waste of time
Have fun with “the small disputed territory that produces chips” - actually spoken by Dario A in a talk this week
Are you planning on a bender, to tie one on?
This is awesome, I got way more sucked into this than I expected. If you're open to adding more features, a "custom playlist" would be really cool. I'd love to drill myself on the Balkans or West Africa, for instance.
I love this! A couple little points:
- After someone selects the right country, you should add country labels to the map for a second or two before transitioning so that context can reinforce the learning ("oh it's right next to Chile!") - Maybe show sattelite view for the same reason? So people can learn to ID countries by mountain ranges, lakes, etc?
I am really enjoying this! I'll continue to use this for a while, and I really hope I'll learn more countries in the long term
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".
Neat, but England is wrong. The area highlighted when clicking is the United Kingdom.
This is so cool. I modified the script so that the countries are a bit darker (#777), and I found that it helped the borders pop a lot more. It would probably be equally interesting to play this game with no borders at all.
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.
Love this! Played Worldle (https://worldle.teuteuf.fr/) for a while and this would have been helpful.
Great application of spaced repetition beyond cards.
Try out travle.earth
Came here to mention Travle. Such a fun game! I've learnt a ton of geography through it in recent months!
A few thoughts after ~5 minutes:
* 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.
Stuck in an endless loop bug argentina, libya, bangladesh
This is really fun but the challenge mode seems to be messed up for me on Android Chrome. When I click the country, it gives me the point but seems to take that same input for the next country as well which is usually a failure. It's like it's using my finger lifting up as the next input.
A progress status would be interesting:
Also, I'm going to add to the chorus who wants a [Skip] button for known countries.This is fun!
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?
I find it surprisingly effective how you have to get it closer when it zooms in and you have to do it with less context. There were a bunch of countries that I could point general on a map, but that I might mix up with a neighbour, e.g. Guyana and French Guyana. With this method, I got it on the first try, and each time it zoomed in I was able to remember more specifically.
Pretty cool, I like how it moves around, and the mechanic for guessing your way to something you don't know.
I did a lot of sporcle grinding back in the day to learn all the countries of the world. Memories unlocked!
This is fun. I'd appreciate a way to select only certain continents/regions. At the very least let us mark a country as known. As it is there are too many reps when it's a country you already know.
I’d prefer if it did what Anki does — give me 10-20 new countries before cycling back to ones I’ve already done. Just switching back and forth between two countries I already know over and over again is pretty boring.
Also, why is Antarctica on there?
As someone who uses Anki, and has also made a country learning game, this is soooooo smart! Great job! Thank you!
I boosted my geography knowledge by playing Sporcle, e.g. https://www.sporcle.com/games/g/world
I like how the position of the map changes to center another place or zooms in to really make you think.
only slight thing is that i wish the map had more contrast, apart from that this is great
I am enjoying it! Besides the other feedback that has been raised and addressed already, on mobile (Android Chrome) the instructions say to drag the circle, but the behavior is that the circle jumps to the point of first touch; more of a "click on the country" behavior than drag.
But that's minor. Really fun project!
nice job! particularly glad when you close/open tab it continues where you left off
I 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
Pffft.... that's what ham radio is for. (Note: humorous, not ill intent here. An old office mate of mine once kidded me that he thought ham radio was a conspiracy on the part of the world's geography teachers to get people to take an interest in their subject.)
This is something i'll make my kids play when they are older!
There seems to be a bug with Fiji. It moves the map around, but never zooms in on it.
That’s what they get for putting their country on the international date line.
very cool - it would be fun to load more detailed outlines at higher resolutions using map tiles or someing. at high zooms some of the shapes are quite blocky
cool! what modifications did you make to the default FSRS algorithm?
Dockerize it to easy selfhost !
Wow. This is really cool. After reading the headline, I was expecting to see it and think 'meh, why not just use Anki and the Ultimate Geography deck'.
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.
This us cool, but please don't repeat the countries we already know too soon. It gets boring very soon when it asks you in a loop 4 countries you've traveled to and you know exactly where they are!
Edit: OK I suspect there's a clear bug, because over the first 15 country or so, the only one I didn't know how to place (East Timor) hasn't been asked to me again after like 20 times asking me stupid thing like Greece and Algeria in a loop.
This may seem odd but I don’t like knowing where countries are, it makes the world seem like a much larger more mysterious place. It’s cool to stumble across some country you never knew existed in some part of the world you barely thought about. Knowing where a country is in the world has little use these days, since transcending physical borders is pretty trivial. It’s mostly a useless fact or piece of trivia now.
[flagged]