Regarding location for the purpose of determining what language to render the app or website in: the article skips over the fact that users can configure their preferred and fallback languages in the browser. It's perfectly possible to access that in JavaScript and render the app or website accordingly.
You don't need location information for that. In fact, it totally ignores the fact that some people live (or are visiting) in a region but don't necessarily speak the language.
I find it super annoying when google presents me with suggestions or ads for local businesses when I'm on vacation.
[ context for "Cake" here ]
... "The player-character, Chell, is challenged and taunted by an artificial intelligence named GLaDOS (Genetic Lifeform and Disk Operating System) to complete each puzzle in the Aperture Science Enrichment Center using the portal gun with the promise of receiving cake when all the puzzles are completed." ...
https://en.m.wikipedia.org/wiki/Portal_(video_game)
Good article, apart from talking so much about choosing a language for the user and ignoring the Accept-Language header, which exists solely for this reason.
Most websites seem to ignore this header and just show you whatever their geo-ip says.