Show HN: Learn where countries are on the world map with Spaced Repetition
217 points
1 month ago
| 48 comments
| map.koljapluemer.com
| HN
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 :)

ks2048
1 month ago
[-]
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...

reply
poizan42
1 month ago
[-]
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)
reply
radicalcentrist
1 month ago
[-]
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".
reply
netsharc
1 month ago
[-]
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...

reply
blackbrokkoli
1 month ago
[-]
Thanks everyone for the feedback. I used a pretty random svg library and was happy that it worked for now, will look into this.
reply
sh1mmer
1 month ago
[-]
Also “England” but the shape is the UK.
reply
ethanwillis
1 month ago
[-]
It also includes "Somaliland" which apparently is only somewhat recognized by China.
reply
doabell
1 month ago
[-]
reply
yesbabyyes
1 month ago
[-]
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!

reply
kelseydh
1 month ago
[-]
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.
reply
imoverclocked
1 month ago
[-]
-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?

reply
blackbrokkoli
1 month ago
[-]
interesting perspective, as well.

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 :)

reply
imglorp
1 month ago
[-]
+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.

reply
gaoryrt
1 month ago
[-]
That's a good idea.
reply
dwringer
1 month ago
[-]
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.
reply
blackbrokkoli
1 month ago
[-]
Good idea, will implement soon, thanks
reply
butshouldyou
1 month ago
[-]
Nice little game! One correction: Swaziland has been called Eswatini since 2018. Lots of websites still use the old name, unfortunately.
reply
pixelpoet
1 month ago
[-]
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"...
reply
avvt4avaw
1 month ago
[-]
Some Welsh, Scottish and Northern Irish people may take issue with your definition of "England"
reply
butshouldyou
1 month ago
[-]
So does this english person! That's the UK.
reply
LouisSayers
1 month ago
[-]
Nice work! It's quite cool.

Feedback:

  - It'd be great to be able to move the map around, zoom in / out - staying in one place feels a bit restricting.
  - For some smaller countries you can't actually see where they were once the ring is put over them
  - Once a country has been identified it'd be handy to see their neighbouring countries to add some more context to where a country is.
  - It'd also be nice to learn a bit more about a country (e.g. unique things about it) that may help further cement the idea of a country so that it's more than just a name on a map.
reply
acrophiliac
1 month ago
[-]
> Once a country has been identified it'd be handy to see their neighbouring countries

Yes, this would definitely aid memory by providing context. Remembering shapes in isolation is hard, but if there is context it's much easier.

reply
floodfx
1 month ago
[-]
Love this! Played Worldle (https://worldle.teuteuf.fr/) for a while and this would have been helpful.

Great application of spaced repetition beyond cards.

reply
Graziano_M
1 month ago
[-]
Try out travle.earth
reply
caphector
1 month ago
[-]
I wish it had a kayak mode so the traveler could visit islands too.
reply
codethief
1 month ago
[-]
Came here to mention Travle. Such a fun game! I've learnt a ton of geography through it in recent months!
reply
codethief
1 month ago
[-]
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.

reply
oskarkk
1 month ago
[-]
> 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

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.

reply
whiterook6
1 month ago
[-]
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.
reply
blackbrokkoli
1 month ago
[-]
Trick is you don't have to pan or zoom — but yeah, successfully communicating this has been the main UX challenge so far...
reply
martindbp
1 month ago
[-]
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.

reply
radicalcentrist
1 month ago
[-]
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.
reply
blackbrokkoli
1 month ago
[-]
It's on the "maybe" issue list :)
reply
sbergjohansen
1 month ago
[-]
Second this
reply
jmole
1 month ago
[-]
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.

reply
scottmcf
1 month ago
[-]
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.
reply
RheingoldRiver
1 month ago
[-]
Yeah, one of the first countries I was asked to identify was "USA" and......that's just a waste of time
reply
blackbrokkoli
1 month ago
[-]
interesting idea, will put it on the long-term todo list :)
reply
kazinator
1 month ago
[-]
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.

reply
adamgordonbell
1 month ago
[-]
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.
reply
kazinator
1 month ago
[-]
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.

reply
SuperNinKenDo
1 month ago
[-]
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.

reply
kazinator
1 month ago
[-]
If you're, for example, using spaced repetition to learn a complicated foreign script, which can be written in numerous ways (numerous printed fonts, and handwriting styles), you have to be able to recognize and name these variants. That is well and good.

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.

reply
ljsprague
1 month ago
[-]
It has rotations??
reply
eagsalazar2
1 month ago
[-]
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?

reply
vladde
1 month ago
[-]
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".

reply
nebalee
1 month ago
[-]
Neat, but England is wrong. The area highlighted when clicking is the United Kingdom.
reply
cschneid
1 month ago
[-]
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.

reply
littlestymaar
1 month ago
[-]
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.

reply
deadbabe
1 month ago
[-]
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.
reply
tiktaktow
1 month ago
[-]
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?

reply
CAPSLOCKSSTUCK
1 month ago
[-]
I hardly ever comment but I just wanted to say how much I enjoyed learning like this. Apart from the UI challenges on mobile Android (already noted by others), I wish it would cycle between more countries sooner (I kept getting Albania and Myanmar even after getting them right many times).
reply
blackbrokkoli
1 month ago
[-]
thanks for the feedback, will work on this :)
reply
Graziano_M
1 month ago
[-]
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.
reply
crvdgc
1 month ago
[-]
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.

reply
rendall
1 month ago
[-]
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!

reply
wyclif
1 month ago
[-]
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.

reply
ripped_britches
1 month ago
[-]
Have fun with “the small disputed territory that produces chips” - actually spoken by Dario A in a talk this week
reply
readthenotes1
1 month ago
[-]
Are you planning on a bender, to tie one on?
reply
wildzzz
1 month ago
[-]
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.
reply
i_am_a_squirrel
1 month ago
[-]
As someone who uses Anki, and has also made a country learning game, this is soooooo smart! Great job! Thank you!
reply
moi2388
1 month ago
[-]
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.

reply
sbergjohansen
1 month ago
[-]
Agreed, I love the app but would prefer to be drilled more frequently on misses and less frequently on first-time hits.
reply
personalaccount
1 month ago
[-]
I found "spaced repitition" with sporcle to be quite effective. You have a blank map and have to manually enter in the names of the countries. Memorized the countries, capitals, states, counties, etc in a few days.
reply
tomcam
1 month ago
[-]
This is really good. I don't have many of the complaints others have, because... it proved that my geography is way worse than I thought. To me this is kind of an ideal learning tool. Thanks very much.
reply
rafram
1 month ago
[-]
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?

reply
neither_color
1 month ago
[-]
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.
reply
aquafox
1 month ago
[-]
I boosted my geography knowledge by playing Sporcle, e.g. https://www.sporcle.com/games/g/world
reply
mckn1ght
1 month ago
[-]
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!

reply
sdotdev
1 month ago
[-]
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

reply
rendall
1 month ago
[-]
A progress status would be interesting:

  Known: 87%
Also, I'm going to add to the chorus who wants a [Skip] button for known countries.
reply
grimgrin
1 month ago
[-]
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

reply
ljsprague
1 month ago
[-]
I wonder if you could render the map so that it was as if we were looking at a globe?
reply
Graziano_M
1 month ago
[-]
There seems to be a bug with Fiji. It moves the map around, but never zooms in on it.
reply
ks2048
1 month ago
[-]
That’s what they get for putting their country on the international date line.
reply
straffs
1 month ago
[-]
This is something i'll make my kids play when they are older!
reply
_api
1 month ago
[-]
thanks a lot. Spaced repetition is working for me.
reply
antman
1 month ago
[-]
Stuck in an endless loop bug argentina, libya, bangladesh
reply
ananmays
1 month ago
[-]
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
reply
sciencesama
1 month ago
[-]
Dockerize it to easy selfhost !
reply
mreichhoff
1 month ago
[-]
cool! what modifications did you make to the default FSRS algorithm?
reply
rahimnathwani
1 month ago
[-]
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.

reply
dbcurtis
1 month ago
[-]
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.)
reply