13 ms·
What3Words – The Algorithm
- qsort 5y agoIs there any reason why they didn't use a simple hashing algorithm? At first sight it seems to me like they are just trying to invent one, but without actually knowing how.
- cybergibbons 5y agoTwo reasons: 1. It needs to be reversible so you can go from words to lat/lon. 2. They wanted to use shorter words in cities, so the distribution of low n didn't want to cover the full range of m. (this could probably be solved by some sort of banding though).
- maxerickson 5y agoThey wanted it to be proprietary.
- michaelt 5y agoThey have to do that if they want to ensure locations near one another never share two of the three words, due to the birthday paradox. Given their 9-square-meter locations and their urban area word list of 2500 words, if you assigned the mapping randomly then within London you'd expect there to be about 70,000 locations with another location sharing two words within 50m. To put it another way, there would be a 13% chance of a soccer pitch containing two locations that shared two words.
- rdpintqogeogsaa 5y agoGoing by other people's experience with them[0], I wonder how long this post will stay up. [0] https://twitter.com/AaronToponce/status/1387933438305394690 https://twitter.com/AaronToponce/status/1387933438305394690
- detaro 5y agoGiven that cybergibbons has spent the past weeks looking into this very loudly and publicly, don't expect him to back down.
- ykat7 5y agoAaron posted an update. As of an hour ago they "consider the matter closed": https://twitter.com/AaronToponce/status/1388828107407245312 https://twitter.com/AaronToponce/status/1388828107407245312
- maxerickson 5y agoThe cat may be far enough out of the bag at this point.
- pmoriarty 5y agoHere [1] is the same thread on nitter (a twitter alternative that does not require Javascript to read). Other nitter instances can be seen here: [2] The twitter thread also contained a reference to this interesting article on "Why bother with What Three Words?"[3], which itself links to other interesting articles: [4][5][6][7][8][9][10][11][12] W3W is a neat core idea poorly thought through. Hopefully one day there'll be a truly open alternative that solves the many issues W3W itself has. [1] - https://nitter.cc/AaronToponce/status/1387933438305394690 https://nitter.cc/AaronToponce/status/1387933438305394690 [2] - https://github.com/zedeus/nitter/wiki/Instances https://github.com/zedeus/nitter/wiki/Instances [3] - https://shkspr.mobi/blog/2019/03/why-bother-with-what-three-words/ https://shkspr.mobi/blog/2019/03/why-bother-with-what-three-... [4] - https://blog.ldodds.com/2016/06/14/what-3-words-jog-on-mate/ https://blog.ldodds.com/2016/06/14/what-3-words-jog-on-mate/ [5] - https://knowwhereconsulting.co.uk/blog/location-grid-not-an-address/ https://knowwhereconsulting.co.uk/blog/location-grid-not-an-... [6] - https://medium.com/@piesse/open-location-code-what3words-74a3f810c18d https://medium.com/@piesse/open-location-code-what3words-74a... [7] - https://news.ycombinator.com/item?id=18646650 https://news.ycombinator.com/item?id=18646650 [8] - https://www.quora.com/What-is-your-review-of-what3words https://www.quora.com/What-is-your-review-of-what3words [9] - https://stiobhart.net/2016-01-15-stupidest-idea-ever/ https://stiobhart.net/2016-01-15-stupidest-idea-ever/ [10] - http://blog.telemapics.com/?p=589 http://blog.telemapics.com/?p=589 [11] - https://www.grcdi.nl/Address_encoding_versus_traditional_addressing–the_state_of_play_20181030.pdf https://www.grcdi.nl/Address_encoding_versus_traditional_add... [12] - https://www.grcdi.nl/linkspas.htm https://www.grcdi.nl/linkspas.htm
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- contravariant 5y agoCan't say I'm fond of their '///word1.word2.word3' notation. Why couldn't they just use a URI scheme?
- datfrojo 5y agoTo me that’s clear. Firstly most of their target audience has no knowledge of what a URI scheme is and only care about the three words. Secondly would be the branding ///x.y.z is subjectively better branding then w3w://x.y.z
- contravariant 5y agoI must admit that I don't really care much for how marketable their notation is.
- Nextgrid 5y agoTheir whole "business model" (in quotes because thankfully it doesn't seem to be anywhere near profitable) is to convince naive people that they're the good guys helping emergency services locate people, that their system is flawless and that they're the first to solve this "problem" so they can then rent-seek from GPS/mapping developers once enough idiots swear by this system and start demanding it as a feature.
- SamBam 5y agoThe only reason we're talking about them is how marketable they have managed to be.
- deleted 5y ago[deleted]
- PartiallyTyped 5y agoGeohash can give an accuracy of 0.019 KM at 8 characters, with each additional character reducing error by nearly 1 or half an order of magnitude and uses just 32 characters. Why not just map geohash to words? 32^9 << 40000^3, or if you want higher accuracy, 32^12 << 40000^4. The mapping is very simple, 32^3 < 40000, map 32^3 to words and back, then split geohash to 3 character long chunks, look them up and combine them. Going back is equally trivial.
- maxerickson 5y agoThe "words for location" thing is kind of a non goal anyway. They aren't good addresses, which benefit from following patterns and being predictable, so the use case is for communicating a location. It really only makes sense if you have an electronic device that implements the algorithm and a communications channel that only works for voice. Otherwise a beacon sent as data makes more sense, and that can be the coordinates directly.
- carstenhag 5y agoIn some places (even in "first-world" countries like Spain, my own experience) postal services, the police and visitors don't have a clue where your house is located at. I'd pay 0,50€ per delivery if amazon.es would allow me to specify a what3word-address and have UPS/DHL/etc use it. For years the drivers have been calling us, asking where the address ist at... Also really fun when there were burglars in your house and the police doesn't know where to drive to.
- detaro 5y agoBut as parent says, for that use case, the word-ness isn't relevant - picking coordinates of a map or any of the other position encodings would work just as well. And not require paying W3W license fees for no good reason.
- maxerickson 5y agoIn the US we bit the bullet and regularized addresses (to the county level, which is typically the biggest entity providing urgent emergency services). A rural place I used to live formerly had a named road, that got switched to a number that roughly locates it east to west in the county, and then the house number was set to roughly give the distance north from the nearest crossroad to the south. So anyone that understands the addressing system in the county can basically drive directly to any address without any further information (with perhaps a few short detours where roads don't continue or the like). Of course this works much better in a place that has relatively new properly lines that were drawn based on a regular survey, but I'd think there would be some momentum to at least make things simpler over time.
- kybernetikos 5y agoI did a words lat/long system as a couple day project at Christmas. https://wherewords.id/ https://wherewords.id/ I used the google S2 mapping, and spent quite a bit of time on my own wordlist. I like the S2 mapping - it lets you use fewer words to refer to a bigger area. I write a little bit about it here: https://wherewords.id/+about https://wherewords.id/+about I would have really liked to have found some good research on 'words that are hard to mistake when spoken aloud across various accents', but in the end I just spent ages going through my word list with various libraries and manually. And having friends point me to locations that had incredibly rude or offensive wherewords! Really there should be a free, open source word<->location system that we all just standardise on and build into GPS systems and maps, because a common, free system would be genuinely useful.
- rozab 5y agoHow many times has the wheel been reinvented with these phonetic word list schemes? Loads of crypto apps use them, e.g. for bitcoin wallet recovery. Do they all roll their own scheme? Someone should attempt to make a standard if none exists. Interoperability isn't even that important, I just want to pull something into my project.
- kybernetikos 5y agoI originally planned to use the crypto bip39 wordlist but ultimately it proved not to be suitable. I talk a little about it https://wherewords.id/+about https://wherewords.id/+about
- rozab 5y agoGreat summary, thanks
- snypher 5y agoCrypto wallets may use BIP39 protocol, it might be close to a 'standard'? https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki https://github.com/bitcoin/bips/blob/master/bip-0039.mediawi... Edit: 2048 English wordlist is here https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt https://github.com/bitcoin/bips/blob/master/bip-0039/english...
- micheljansen 5y agoI learned about pluscodes because of this and they seem quite elegant: https://maps.google.com/pluscodes/ https://maps.google.com/pluscodes/
- ehsankia 5y agoThe algorithm is also extremely simple, I've seen code golf with less than 100 char in most languages, and realistically just a couple lines of code. I like that you can recursively add more precision after the plus, as well as truncate some of the start if you provide context like the country or city. For example all of Montreal lives within the "87Q8" block, so I can just truncate that away if I specify that I'm in Montreal.
- CA0DA 5y agopluscodes are also known as "Open Location Code" and the github repo is: https://github.com/google/open-location-code https://github.com/google/open-location-code
- jedimastert 5y agoI'm baffled they used any plurals at all. I feel like "only one form of a word" should have been near top priority for generating the dictionary. No plurals, no conjugations (even better would be to pick one conjugation, say, infinitive) maybe even no adjective/adverb forms of verb. I wonder how many words in the english language would be left? I know the english language is massive
- cybergibbons 5y agoThe word list already is 40k long. That's beyond most people's vocab and includes really awkward to spell words. IMO, if the solution is to use words, then What4Words would have had a word list of less than 3000, resulting in a word list with less confusable words and more accessible to children and people who struggle to read or write.
- kybernetikos 5y agoI did one of these for fun at the beginning of the year, and ended up needing to spend way more time on the wordlist than I'd expected. In the end I felt that a list of 4096 words was a decent compromise between accuracy and is still fairly managable for trying to remove words that are too easy to mistake for each other. It lets you do everywhere on earth to slightly more accuracy than what3words in 4 words. Something that what3words does is not have an obvious hierarchy of words (e.g. where the first one covers a larger area, and subsequent words home in). I didn't like that, but I understand why they do it - if a single word is going to cover a large area, you have to be extra careful that you don't choose something offensive for a particular region. By having no obvious structure, they get away with being less careful on the wordlist.
- eterm 5y agoThe issue of hierarchy is that it's orthogonal to having very different results for nearby areas. With a hierarchy you immediately run into, "Am I in gibbons.apple.banana or was it gibbons.apple.bandana" which is just down the road. Without hierarchy it jumps out that one of those results is improbable if tallied with any knowledge of roughly where the person is.
- teachingassist 5y agoWhat3Words accounts at Companies House in the UK are extremely interesting. They burned through just over £15,000,000 in 2019, for a total revenue just under £400,000 from 100+ employees.
- jack_riminton 5y agoI always wondered if they were actually used by anyone then I saw their recent advertising and it seems to focus on emergency services and finding places in large fields I created a project using an alternative method using gifs for directions: http://gif.direct http://gif.direct which I personally think is more useful (if less refined!)
- kawsper 5y agoThey are dangerous for emergency services, here is a case where W3W showed a location many miles away: https://twitter.com/isleofmandan/status/1386455377949122561 https://twitter.com/isleofmandan/status/1386455377949122561 Someone have also compiled a list of pairs that only differs by one letter, like these two: instants.lightening.precedents instants.lightning.precedents You can see the whole map here: https://twitter.com/cybergibbons/status/1385891425108250626 https://twitter.com/cybergibbons/status/1385891425108250626 I wish they would just use "pluscodes" instead, the algorithm is opensource and doesn't depend on a specific dictionary: https://en.wikipedia.org/wiki/Open_Location_Code https://en.wikipedia.org/wiki/Open_Location_Code
- saalweachter 5y agoYou also need to distinguish between the contexts where you need addresses versus coordinates. Lat-longs, plus codes, and word-encoding schemes are all coordinates -- they identify a point or area on the globe. Addresses are last-mile navigational instructions. "Apt D, 123 Main St" allows anyone with local knowledge to navigate efficiently to the location indicated: first they drive to Main Street, then they proceed along the ~monotonically numbered parcels to 123, then continue to the apartment labeled "D". The advantage of coordinates is that they don't require local knowledge and can identify arbitrary points; the advantage of addresses is that they encode instructions for land navigation that takes into account which parts of the land are passable.
- pbronez 5y agoSkip What3Words, use Placekey: https://www.placekey.io/ https://www.placekey.io/ It's a better identifier and a much friendlier organization. Technical details here: https://docs.placekey.io/Placekey_Technical_White_Paper.pdf https://docs.placekey.io/Placekey_Technical_White_Paper.pdf
- rocky1138 5y agoSlick site, but I'm not able to use it as I'm not in the USA.
- JimDabell 5y agoPlacekey seems neat, but it only fully supports the USA and partially supports the Netherlands.
- ape4 5y agolol it says "universal"
- TazeTSchnitzel 5y agoIs that another proprietary algorithm?
- Andrew_nenakhov 5y agoPlacekey identifier is hard to remember and read.
- SamBam 5y agoPlacekey appears to be more about database management and de-duplication than about communication.
- Potatooafish 5y agoseems open, that's much better than w3w
- sneak 5y agoNote that this company believes this algorithm to be proprietary, and seem to have threatened people publishing information about it. I avoid using or publicizing it for that reason.
- eruci 5y agoI built a latlon<->word system using geonames as the source of the words. https://3geonames.org https://3geonames.org 146000 global place names in total. The first word is the name of the most important geographical location in the given area while the other 2 words are quasi random. https://3geonames.org/LONDON-MOSCOW-PARIS https://3geonames.org/LONDON-MOSCOW-PARIS is next to https://3geonames.org/LONDON-MOSCOW-GASSIN https://3geonames.org/LONDON-MOSCOW-GASSIN . (places that are about 160 metres apart will share both the first and the second word) Lately I've been thinking of modifying the system to only use place names from the country where the point falls in, so you will only get British place names for locations that fall inside Great Britain. You could also modify the code (it is open source) to whatever you like. There is an infinite number of ways to skin this cat, but I doubt we will ever all agree on just one.
- rgovostes 5y agoSeems confusing to me to describe a location using the names of unrelated other places. It would be even more confusing to limit the word set in the way you describe. "Where do you live?" "London-Oxford-Leeds." "Where is that?" "Outside Brighton."
- eruci 5y agohttps://3geonames.org/London-Oxford-Leeds https://3geonames.org/London-Oxford-Leeds can also be described as https://3geonames.org/LONDON-UAS https://3geonames.org/LONDON-UAS
- yawnxyz 5y agois the problem just that they treat plural and singular words differently? Wouldn't just removing plurals, homophones, and difficult to spell words get rid of most of these problems?
- input_sh 5y agoYes, mostly if you try to use voice recognition though. Example: arrows vs arose, picture vs pitcher etc. https://mobile.twitter.com/cybergibbons/status/1388416763549913090 https://mobile.twitter.com/cybergibbons/status/1388416763549...
- cybergibbons 5y agoYou would still get high densities of cells which share two words being present close together, leading to any issue with the third word causing a confusing location.
- jonnycomputer 5y agoI think I'm missing something. The algorithm shuffles to prevent words in adjacent squares from being the same? Why not just draw from the set of 3-permutations and if satisfies that adjacency constraint, remove from the pool of available permutations (conditional draw without replacement). A solution would only have to be found once anyway, right?
- ZiiS 5y agoStoring a full lookup database on every device is not pratical.
- qsort 5y agoWith ~3 million squares it would fit in a couple hundred megabytes at the very most, even without any compression. It may not be optimal, but it's certainly not unrealistic either.
- bspammer 5y agoThe squares are 9m^2, surface area of the earth is 510 trillion m^2, so there’s about 50 trillion squares. You’re not fitting that in an app
- jonnycomputer 5y agoI think the surface area of the earth is 196,936,994 m^2 That's 21,881,888 3x3 squares. The surface area of Jupiter is 23 trillion m^2.
- noir_lord 5y agoIt is 510.1 trillion m² (google result). 3x3 is 510.1/9 - 56 trillion (and change). > 196,936,994 m^2 Is equivalent to a perfect square with sides 14km long...they say it's a small world..but not that small.
- simonw 5y agoWhat an extraordinary piece of analysis. Really thorough, detailed and well-explained work.
- NelsonMinar 5y agoA bunch of replies to this are "I implemented my own version of What3Words". That sport has been around for a few years now. https://what3emojis.com/ https://what3emojis.com/ is probably the most long-lived; I'm writing from telephone bus eggplant. (Hacker News' lack of emoji support makes interop here a little difficult.) Unfortunately http://www.what3fucks.com/ http://www.what3fucks.com/ seems to have ended their incredible journey. It's a really stupid idea for addressing, triply so when you consider the pathetic little proprietary word database that's What3Words tool for extracting rents. Geohash is the oldest system that solves the problem of "give me a short textual name for a place" and has a nice ability to get more precise.
- rburhum 5y agoHi Nelson, maybe you can explain this to me: why so much hate towards what3words? Chris once came to our office to see if there was a fit for us to use their invention. We did not find that it solved a pain point for us, so nothing came out of it... but the amount of rage that I see that they have been accumulating towards the years. Is there a story behind it beyond "I want to do something similar and can implement it, but <patent>?" Thanks in advance
- wwalexander 5y agoA standard for global addressing should not rely on a proprietary algorithm or wordlist, as it means that there is no legal method for using the standard besides using (paying for) What3Words’ API. This fits the common definition of rent-seeking behavior. This couples with the technological issues outlined in the article above. I believe the vitriol against W3W is fueled by the combination of rent-seeking behavior on a standard of poor technical quality. I’m also bothered that one of the main use cases W3W’s marketing highlights is for specifying locations in emergencies, a totally non-commercial/public-good application. W3W presents itself convincingly to laymen as this sort of public-good open standard, but they’re just another startup with a proprietary product they’re hoping to monopolize.
- jedberg 5y agoThe hate is because they patented it. It is a useful idea, but it would be far more useful if the algorithm and wordlist were public domain and didn't require a license to use it.
- thinkingemote 5y agoIs this algorithm based on the "clean room" reverse engineering effort?
- cybergibbons 5y agoNo, I went from the patent and using the API instead: https://twitter.com/cybergibbons/status/1386344576856825858 https://twitter.com/cybergibbons/status/1386344576856825858 https://twitter.com/cybergibbons/status/1386393951276609539 https://twitter.com/cybergibbons/status/1386393951276609539 https://twitter.com/cybergibbons/status/1386867562554793984 https://twitter.com/cybergibbons/status/1386867562554793984 https://twitter.com/cybergibbons/status/1387164507705860097 https://twitter.com/cybergibbons/status/1387164507705860097
- iudqnolq 5y agoIf you abandon the requirement to completely replace the existing systems you can have a much smaller wordlist. For example, if we trust people to know what county they are in we could have duplicate triples in each country. Arguably we could go even smaller, to the national subdivision (eg state) level
- ehsankia 5y agoIsn't that what... zip codes/postal codes are? The whole point of systems like this is to be able to point to any place on earth.
- iudqnolq 5y agoThe point is to easily uniquely identify a point. I'm arguing the tuple (California, some, simple, words) solves for that use case better than (cromulently, extraneous, uniquely). We're (I hope) not doing this just to be different but because it has useful new properties. For example, street address + zip isn't ideal when you're talking to Search and Rescue. Edit: You can think of this like 9 square meter resolution zip codes with a human friendly representation, yes.
- ehsankia 5y agoFair enough. That being said, I think PlusCodes are basically the better worldwide "zipcodes", and while they don't have the "three simple words" property, they do have the property you speak of. You can basically truncate the first 4 character of the 8 character chunk if you specify a city/country that's within one block. You can also add arbitrary precision after the + sign by adding more sub-blocks.
- iudqnolq 5y agoThat does sound great. I'll look into it.
- mattowen_uk 5y agoEveryone knows numbers. Just use semi accurate GPS co-ordinates. Been around for decades, and already built into that phone you are holding.
- userbinator 5y agoCoordinates are also ordered and predictable, given your current position you can intuitively determine in what direction (and approximately how far) where other positions are.
- maxehmookau 5y agoAs an idea, what3words appears to exist only to make money for its owners. The UK already has an open, easy to use, well documented and battle-tested way of defining any point in the country. Grid references. What3Words doesn't actually solve a problem that isn't already solved.
- gmac 5y agoYes! The national mapping agency (Ordnance Survey) make the algorithm for highly accurate GPS conversion (OSTN02) available for free. This is my implementation in C, for example: https://github.com/jawj/OSTN02c https://github.com/jawj/OSTN02c
- naambread 5y agoI remember this guy way back from alt.ph.uk, he was always doing quality posts back then. A brilliant fellow. Great to see another excellent write-up from him.
- cybergibbons 5y agoOld skool! Those were the days :)
- hyko 5y agoA proprietary geocode solution remains a terrible idea in general, and especially in this case. The government should buy them, close them, and invest in replacing the system with an open and international standard.
- Andrew_nenakhov 5y agoI used to think that w3w is kinda neat and really liked them, but then I've learned that they basically stole the idea from some guy from India, and their predatory copyrastic practices.
- mnw21cam 5y agoAnd there was I thinking that the main problem with What3Words was a total lack of error detection/correction.
- phendrenad2 5y agoFor anyone wondering what what3words is, it's some kind of stupid way to refer to a geographic location using 3 numbers... sort of like a quadtree. Except for patent purposes, they replace numbers with 40,000 english words, so instead of 128.0.1 your house might be located at battery.horse.staple. The UK seems to be head over heels for this advanced technology, and the company that sells it has millions of dollars to spend on harassing people who try to make open-source clones.
- ianpenney 5y agoMy personal opinion of W3W, while a cool experiment, has always been: over-engineered. To hear they're raising their hackles is disappointing. From Amateur Radio: Maidenhead grid squares + NATO phonetic alphabet are technical but adequate for purpose. It's hard to confuse "Foxtrot November Zero Three" with "Delta Mike Zero Four" even if you're communicating over a VHF/UHF satellite flying overhead in LEO. You can get more or less specific by adding or removing symbols. Eg: "EK64ab" or just "EK". It's a challenge to log radio contacts from all of the major [AZ##] grids. https://twitter.com/GridMasterHeat https://twitter.com/GridMasterHeat
- zibzab 5y agoRepeating what I wrote in the other HN thread: Wouldn't a 4-word system be much easier to implement, be reversible and probably avoid their patent?