If What3Words wants to be ubiquitous, and relied on for things like navigation and emergency services, then it ought to be an open standard, with a published algorithm and open-source implementation.
If they’re going to be dicks about keeping it proprietary then maybe it’s time for someone to come up with an open alternative.
Notably missing from the evaluation is MGRS, the coordinate system used by NATO for more or less the same purpose.
I like it because if you have the coordinates of a landmark, you can easily estimate the coordinates of other nearby locations entirely in your head, and the system encodes precision so you can indicate uncertainty.
To expand a bit, I wish it was included in the comparison not only because it has some big advantages, but also because it has some drawbacks worth examining.
The top-level zones are its weakness. The further apart two coordinates are from each other, the more difficult it is to reason about their relationship. MGRS works fantastic for reasoning about coordinates on the same grid square, but gets harder as you move up to comparing between grid squares and harder still as you compare between zones.
A grid square is 100km x 100km, so it's pretty big, and coordinates in the square are easy to manipulate. If you know your office is at 4QFJ 21631 04440 and the Starbucks is about 500 meters down the road to the north, then you know Starbucks' coordinates are roughly 4QFJ 21631 04940. To indicate your uncertainty, you'd say 4QFJ 216 049, or possibly just 216 049 if the grid square was already known from context.
The system is typically extended to allow that reasoning to work even at the edges of a grid square, by allowing eastings and northings that extend past the grid square edge. This means there's more than one possible way to describe a location, though only one canonical way. Unless you're already familiar with the area, you may need a map to compare coordinates on different squares.
Some of the grid zones are also a little oddly shaped. It's mostly not a big deal because they're huge, and it really only affects which coordinate representation is the canonical one at the boundaries, but it would be nice if the top-level 6° by 8° grid zones were more regular.
With it's pros being the ability to know how close the points are just having the 2 coordinates and arbitrary precision.
Who knows how far away epic.region.music and epic.global.music are from just the names? While 18SUJ2163104440 and 12SVC0452723150 are 6 grid zones apart east to west.
That's a handy property for the 3 people on Earth who have the algorithm behind it memorized, but the rest of the world would prefer to be able to easily read, write and share the codes.
It's actually quite pleasant to use and allows you to just truncate to the level of precision you want. S/He just posted the 1m resolution string when 18-SU-J-216-044 would get you to 100m.
All this said, I think the real issue is that we refuse to PICK a standard and so every device with a GPS and ever map has one or two of
-MGRS
-UTM (almost identical to MGRS)
-LL DD MM' SS.ss"
-LL DD.dddd...
-LL DD MM.mmmm...'
etc.
If you make a device that can output or accept a location string, make sure it can handle all LL cases and UTM/MGRS.
Most people can tell proximity in lat/lon coordinates based on the algorithm they learned in first grade: the number line. Perhaps they could use a similarly ubiquitous system, like the alphabet. There’s even a song to help you memorize it!
At QA Locate we've been working on a similar solution that we call GeohashPhrase. Rather than encoding a location as 3 random words, or the alphanumeric code of OLC, we instead just encode a geohash as a sentence.
Encoding/decoding is relatively trivial, and can be done offline, but I've yet to write up docs I'm comfortable with other people reading.
Damn, I was all riled up to read a good critique of OLC but this fell way short of the mark, in my opinion. Things like:
> Implicit, however, is that the only way to resolve that shortened code is to make a call to the Google Maps API.
Why? If OSM supports plus codes, that'll work equally well, no?
> By allowing reference locations in plus codes these codes are tied to specific political entities
Okay, but, as I understand it, you just need to point to something in the general vicinity, close enough that it can disambiguate Athens, Greece from Washington DC. Unless the city moves half a country away, the code will still work.
> If so, what I really need to know is the correct parking, or rideshare drop off, and the closest entrance, not directions to center court, which is apparently where “Q5RQ+6V Dallas, Texas” actually is!
Are you really complaining that the coordinate you set wasn't the coordinate you wanted to set? Or that Google Maps (not OLC) isn't smart enough to route you to a stadium properly?
The rest of the article is similarly seemingly looking to pick a fight with tenuous assertions, I'm afraid.
I've liked the idea of Open Location Code for some time, so when I read the following, I thought "Surely that's not right?"
> Implicit, however, is that the only way to resolve that shortened code is to make a call to the Google Maps API.
I'd always thought OLC could encode/decode coordinates with a simple algorithm, with more or less precision based on the length of the code.
Referring to their documentation, I found this [0]:
> Supporting local codes.. If you have no map and cannot determine the device location, a local code is not sufficient and you should display a message back to the user asking them to provide a town or city name or the full global code.
> ..extract the local code and send the remaining text to your geocoding service (Nominatim, Google, etc).
What! I didn't know this about shortened codes - that need for an external service to decode plus codes diminishes my enthusiasm for the standard considerably.
Thank you for the write up, will be keeping my ears open for GeohashPhrase.
> that need for an external service to decode plus codes diminishes my enthusiasm for the standard considerably
The short code is "some place plus an override for the lower bits".
You could just ship a list of common places to do that rough orientation, but the problem with the short codes is that every place is eligible as a base point, with lots of redundancy:
- 65P4+PX Hünstetten, Germany
- 65P4+PX Wallbach, Germany
- 65P4+PX Hohenstein, Deutschland
- 65P4+PX Wiesbaden, Deutschland
- 65P4+PX Limburg, Deutschland
- 65P4+PX Bad Ems, Allemagne
all point to the same place, but for that you need to know that these towns and cities are roughly in the same place (and that Germany, Deutschland and Allemagne are the same).
Meanwhile
- 65P4+PX Koblenz, Deutschland
is a different place, even though Koblenz is also nearby (but in the next quadrant, so the offset override points elsewhere)
and
- 65P4+PX Limburg, Belgien
uses the same town name in a different country, therefore pointing elsewhere, too.
I guess it would be an interesting challenge to try to build the smallest representation of country and town names in Nominatim to denote OLS quadrants for offline storage that still allows quick lookups (that is, no compression that takes several hours and gigabytes to seek through).
The Maidenhead Locator System, paired with the phonetic alphabet (or via CW) is extremely robust, but requires a relatively long string to get to 3m accuracy.
You're right, I think. Non-native speakers trying to communicate over a bad audio channel is particularly difficult. Much better to stick to digits in those circumstances. (In aviation you can use letters, too, because you can rely on both parties knowing their Alfa Bravo Charlie. Unfortunately, that spelling alphabet is not taught to the general public.)
Can you comment more about "weak radio signal"? Perhaps one can deduce the a number by hearing a small sample of a sound...whereas W3W has a wider vocabulary? My guess is that if necessary, one could repeat each word several times (e.g. over a period of 10 seconds).
Thanks - I can see that. I am guessing that the smaller vocabulary is particularly useful in analogue systems.
Perhaps W3W is viewed positively for (digital) cellular connections but might be inappropriate for other radio technology.
They have been and will keep fighting tooth and nail to keep the algorithm and associated database proprietary, copyrighted, patented and under every kind of protection they can afford. In parallel, they invest heavily into PR, such as feeding story-starved journalists their marketing pitch.
The point is to get adoption and network effect, locking users (e.g. Mongolian mail service) into a monopoly that they can eventually leverage. Since no one but them can (or rather is allowed) to do the conversion, they request payment per lookup/coordinate conversion.
There is nothing novel or innovative about their algorithm, it's downright awful in some regards, and there is little benefit to actually derive from the system in the first place (compared to established open systems). They're just really good at PR (and takedown notices) - that's their real business plan.
They license the product to car companies like Mercedes [0], and they provide training and licensing to emergency management agencies, which is gaining popularity in the UK, North Yorkshire, for example [1].
Their business model is more or less undercut by opensource and reverse engineered alternatives, hence the predatory DMCA takedowns. This is obviously a bad PR move. It's the 21st century; the product/IP itself provides little to no value to the average user. It's the services that does. Open source the product and make money licensing, installing, training, and integrating it into everyday life.
I've never heard of what3words before now and read up on their site. It's a fun idea but I wouldn't say its invention or even novel, just convenient. I'm not surprised they're relying on litigation to try and fend off competitors.
Just playing around with this data set, I can't understand why What3Words is so exciting. The dataset includes words with plural versions, different tenses of the same word, and words that are combinations of shorter words that are also in the data set.
If I'm listening to an emergency responder at ship.wreck.shipwreck, or was that at shipwreck.ship.wreck
There are probably a lot of ways to accidentally get confusion with such poorly groomed word combinations. Maybe they've come up with a clever way to make such combinations exist in the middle of the ocean, which would be a great place for a shipwreck.ship.wreck anyways :)
Well, so far w3w strategy of bribing third world countries into "adopting" their system (Mongolia) and feeding stories to journalists about emergency services and others using their system - seems to have had the effect of bringing w3w into the spotlight, including many stories on HN.
Now the legal game of whack-a-mole against their leaked wordlist and code is producing a similar effect. Good for them for making it this far with a very flawed encoding scheme.
People keep talking here about free (libre) alternatives like Open Location Codes or geohashes, but these aren't alternatives, because they aren't human readable in the same way. The closest thing I've found is the now-defunct 3Geonames[1] project which exists only in presentation archives as far as I can see, and that's only partly human readable.
The main issue in this space is that we need a standard, not a "better" standard.
Adding another standard makes the problem worse, not better.
The task of representing a pair of numbers is trivial, solvable in countless different ways, and none of the solution is clearly superior to the others. It matters much more to have a commonly agreed solution, than what the solution is.
> The task of representing a pair of numbers is trivial
The task of representing a pair of numbers is also not what any of these systems do.
"Two numbers" work because they're taken from an infinite set. Longitude lines are not parallel. Near the poles, moving a degree is only a few inches, while near the equator it is miles. This works for latitude and longitude, because these numbers are taken from the infinite set of real numbers between 0 and 180--if you want to represent more precision near the equator, you just add more digits on after the decimal point, and if you want to represent less precision near the poles, you just ignore the excess digits. In practice, on computers, they're represented as doubles, which have enough precision that we don't need to care that they aren't reals.
However, if you're mapping into a finite set, this falls apart quickly. The finite set for W3W is the set of permutations of 3 words taken with replacement from a set of 40,000 words. This gives them 40,000^3 combinations, which means they can represent points about 9 feet apart all over the world if they distribute these points fairly uniformly. But if they just trivially convert them from latitude and longitude, they won't be uniformly distributed--they'll be distributed tightly packed at the poles, and distributed loosely packed near the equator. This means your locations won't give much precision near the equator (where more people live) and will be more precise than GPS can measure near the poles (where almost nobody lives).
You can add more precision at the equator by adding more words to your word list, but it's already 40,000 words, which is more than humans can reasonably check, which is why there are a lot of homophones and sound-alikes in the list. You could also add more precision at the equator by adding more words, but it's obviously more desirable to say, "elephant.cheese.traffic" than "elephant.cheese.traffic.indigo.query.crenelation.trample". It would be much better if we could take some of the points we mapped to the poles, where we've got way more precision than we need, and put those points near the equator, where we don't have enough precision.
So now you're looking at the mathematical problem of packing points on a sphere[1]. It's not a solved problem, but there are good enough approximations (and "representing a pair of numbers" is not one of them).
I always wondered, could this w3w geocoding method be done not completely random, but in such a way, that each subsequent word would narrow down the area? So one can easily understand that places like lake.cotton.juice and lake.cotton.horse are really near each other, and if their first word is there same they are at least on the same continent?
I don't think you could easily do that with 3 words. They already have a dictionary 40000 deep and then end up repeating words, just to get to get enough combinations.
With the GeohashPhrase we intentionally telescope exactly like you've described. This is because all we do is encode a geohash, and it already has this property.
the genius of w3w is that address phrases are really short and easy to read and remember and input into any kind of device, over voice or via text. And 40k dictionary never seemed a problem with w3w, cause it is easier to remember 3 words, even the ones which meaning you don't even know than to remember a 8-char long string filled with random characters.
GeohashPhrase is an improvement, but still, the phrases in sample docs are just 3-4 words too long.
I think that w3w is over optimized and suffers from a large number of failure modes that interact poorly with a typical human's memory.
For example, it is really easy to mis-remember and accidentally pluralize or re-order words. Our memories just don't maintain that kind of precision. Yet w3w will happily accept your mis-pluralized word, or re-ordered words, and spit out a location, with no indication that maybe you made a mistake.
w3w forces you to remember and use exactly the 3 words they gave and nothing else, without risking a garbage-in-garbage-out scenario.
In fairness, they do try to put similar words very far from each other, but unfortunately this only mitigates the risk and doesn't eliminate it.
Our design is resilient to these issues in human memory with the geohashphrase. If you re-order words in the phrase, pluralize (or singularize) a word, or even go so far as to change part-of-speech (e.g. noun a verb) then you'll still get back the same geohash.
Btw we hope to offer 4-base-word phrases for well populated locations. Those phrases should be easy enough to use in everday situations. Outside of that you can get complete coverage with a 5-base word phrase.
We're working on the implementation (as time permits). Once we have that it will be published and accessible from search.qalocate.com.
The cert is "wrong" because I redirect back to qalocate.com and that cert only covers the base domain. We have another for all the sub domains but that isn't used by our main site.
My hope is that we'll have something in the next few weeks but its only me (fulltime) and another guy (spare free time), so things move slowly.
Btw, thank you so much for watching the video! I hope it was useful.
GeohashPhrase looks quite brilliant. Will there be an open source implementation? I hope so -- it's hard to see it gaining traction against w3w without it, and it is undeniably better.
Yes! The geohashphrase will be free to use and open source. Right now we're working on an implementation and docs and once we have that we'll release all that under a permissive license.
Right now the problem is that we don't have anything more than a description of our idea to release...
I don't mean to be snarky here, but what are you working on exactly? Geohashes are just base32, so can't you just decode that to bytes and then encode it as PGP word list?
In Python, the base32 to bytes exists in the standard library, and with an import[2] you can get the code to convert bytes to PGP word list. Literally 2 lines of code.
The goal here is to be more clever than just encoding to a list of random words. We want to encode to a good choice of words.
Partly, that means choosing words that are short, aurally clear, unambiguous, in common usage, etc.
It also means we need words that together form a sentence. Initially that means choosing a good sentence structure. Our is [1-Adjective 2-Noun 3-Verb 4-Adjective 5-Noun (6-Adjective) (7-Noun)]. Next, we have to choose words that are most often the part of speech for the dictionary they need to live in, since we'll never re-use a word.
Getting this dictionary together and having it good is a huge task. Of course we have a naive dictionary, but that's barely suitable for testing purposes.
I may choose to make the "docs" I've written available today in their rough state. That will explain things slightly more.
PGP word list already did the "short, aurally clear, unambiguous, in common usage, etc." pretty well. But the way they're structured doesn't create sentences, and I can see how creating sentences would be helpful.
I find plus codes to be a much better alternative. w3w gives you no information about proximity as the three words to locate your next door neighbor will be completely different. Plus codes however can be extremely short when in a confined context and they will even give you an idea of how far north/south/east/west and distance away. Plus codes are far better for those reasons imo
The way to take What3 to the woodshed would be with an actual standard. Publish a new dictionary of per spoken language mappings to Google's plus.codes. Something like xaddress.org on top of plus.codes. Call it twowords. You get the best of both worlds, human friendly nav for Uber like apps, compact codes for shipping / logistics / universality.
Wouldn't it be kind of like "DNS for locations" where any string phrase could be associated with the OLC/Plus Code (many human descriptive names to one location identifier)? Better, what if you could then universally translate between that and the many other kinds of location encodings, both human descriptive and computer identifier?
That's what we do at QA Locate with our LNS (Location Naming Service) and our ULT (Universal Location Translator). See our technical two pagers located here: https://www.qalocate.com/resources/
I want to side with whatfreewords here, but as a matter of law* I think the takedown was legitimate. Even though they reimplemented the algorithm, they include the what3words word list which what3words can (rightfully, IMHO) argue is their protected intellectual property.
Many legal frameworks have an interoperability clause which would allow using that list for the sole purpose of interop.
What W3W seems to be doing is taking down the sites on trademark grounds (that is, "what three words" and "what free words" being too similar).
They might have a case there, and whatfreewords might be better off distancing themselves a bit in naming. Call it "Simple Locator", state somewhere on the website (not the headline) that it's a scheme "compatible to what3words (which is a trademark by ...)" and they lose that angle of attack.
When it comes to trademark, companies are compelled to act. Failing to defend your trademark will make you incapable of defending it in the future. The DMCA can NOT be used for trademark disputes, however. The DMCA exclusively deals with copyright.
Normally, the "interoperability" defense is used to protect instances of circumventing copyright protection mechanisms, not for copying itself. For instance, that was the defense in the case where Lexmark brought a DMCA claim against a third party ink cartridge manufacturer, claiming that by making their ink work, they circumvented protection mechanisms Lexmark claimed existed to protect their copyrighted firmware code in their ink carts. The court didn't buy it, Lexmark lost, it was established that you can do that kind of circumvention. But this copying of the word list... it's different in a couple fundamental ways, and I don't know if there has been a case that has dealt with this sort of thing.
Given that they also sent a claim regarding a map feature on the .com site that wasn't provided by that site, I'm not sure if any of the claims they throw at ISPs (DMCA or not) are even legit.
The main issue is that the "free" team can't counter-claim without losing anonymity, so as far as bogus DMCA claims go, they're quite powerless.
That's why I went for the WIPO dispute, which is based on their trademark and IMHO has the most leg to stand on, instead of relying on the unwillingness of the counterparty (whatfreewords) to defend themselves.
In US law, you aren't supposed to be able to trademark or copyright things that are functional to the product, which I'd strongly contend applies to their word list and their algorithm, though who knows how it would play out if some interested party were to try pushing back.
That's what patents are for, but then they'd have to disclose it.
Up until reading this article I was a big fan of w3w and was even thinking about including their geocoding into our XMPP clients.
Now I think best course is for whatfreewords to change coding algorithm (there are ways to improve, I think), and host a competing open source geocoding service.
I think that the main bottlenecks for a competing geocode system is being open-source, simple to understand, and having an available API to start off quickly.
Geohash [1] is public-domain, features variable-precision encoding of coordinates, and can speed up some computational processes like neighbor-finding and proximity searches, so I think it ticks a lot of boxes.
Throw in a NATO-alphabet style in order to transform to words, and voila!
If anyone wants to play around I have built a ready-to-use API for Geohash [2] that is and will remain free
You can definitely give an answer in the WIPO dispute, and I would absolutely try to do so. The WIPO is a joke though in my opinion - there is no appeal process whatsoever. We lost a case that we should have clearly won with jdownloader.com (our domain being .org, and us having started the project and having all the copyrights registered..) There was no way for us to answer in any way to the claims that the defendant made, and the decision was final..
In any way - I would definitely try to write an appeal.., but of course a lawyer and legal advise would be very helpful..
Because W3W's main strength is PR. Their system itself is really not that useful (or innovative, or difficult to create), and there are several free and open alternatives. But you don't hear about them without hearing about W3W.
If the alternatives are so great, why aren’t they being adopted? Surely a truly superior alternative could gain traction despite W3W’s publicity; we see new systems supplant older ones all the time in other areas.
If you identified a substitute that was clearly superior in every way to W3Ws, that would also be helpful. So far every one that's been identified here has faced usability or other objections.
Because there are dozens of competing standards and none is clearly superior to the others, because it boils down to being a really, really simple problem: Encode two numbers. (That's also why there are so many standards - it's simple so everyone wants to bikeshed).
There will be no "truly superior" solution, just one that has optimized for different properties.
Plus codes aka Open Location Codes are the biggest "modern" one that seems to have seen some adoption mainly because Google is pushing it (example: "VXQ7+QV Washington DC" or "87C4VXQ7+QV").
Otherwise, decimal coordinates are pretty universal (example: "38.88948,-77.03527" or "38.88948 N, 77.03527 W").
What3words (example: "///jugendliebe.rechtsschutz.mauerreste" or "///cabin.flops.gravel") has other advantages and disadvantages, but running it as a closed project (and the requirement to ship megabytes of databases) kinda killed the project before it started. But even without that showstopper it wouldn't be clearly superior vs. other systems, including the old and proven "two numbers, written as numbers", which is good enough and works almost everywhere.
> If the alternatives are so great, why aren’t they being adopted?
As I stated: "Their system itself is really not that useful". Take the example of "give emergency services your location".
The requirements with W3W are: Cell connection, GPS signal, data connection, some sort of (presumably W3W-made, closed source) app. You use the app to convert your GPS coordinates to words that you tell them which they convert back to something usable.
The requirements without W3W are: Cell connection, GPS signal and any GPS app. You tell them your coordinates in decimals.
Sure, they will tell you that communicating GPS coordinates correctly is harder than communicating three words correctly, but good luck coming up with a situation where this makes any difference.
There's also the scenario of "their app will send the words to emergency services automatically", which is pointless because the app might as well send GPS coordinates.
My point isn't that we should adopt other systems, it's that we should ignore W3W. Even a strictly superior version of W3W would be hard-pressed for use cases. It's just not something the world seems to need, which is exactly why PR is their business plan.
If their system isn't useful, then they won't have customers for very long. The problem will sort itself out, and they won't have a business worth defending anymore.
On the other hand, if it is useful and customers are willing to continue to pay for it, then ISTM they have a good reason for wanting to protect their invention.
The point is that their system is not really more useful than the alternatives. But once you convinced a country through your PR, they'll be locked in and the cost of switching to something marginally better (and less costly) may not be worth it. So no, just that they have customers is not proof that it's the best option.
Also, "if it's not useful, it won't have customers for long" is quite obviously wrong. See e.g. essential oils, homeopathy and so on.
> If the alternatives are so great, why aren’t they being adopted?
It's ridiculously easy to create an alternative (30mins: [0]). Having an alternative adopted takes a considerable amount of friction.
We don't always end up with the most superior in the real world anyway. (Bash, & C are hated on, but are still commonly used everywhere. MIME is a truly awful format, but runs the world of email.)
There may be an alternative, but Geohash is not it. Geohashes look like "u4pruydqqvj", which is questionably useful for situations very different from situations where you'd want "pinks.haunted.graves".
It would be better if we took geohash and transformed it into words organized from a dictionary. Because the closer things are the more they share a common prefix.
> A good way to host the site would be to put it on a Tor onion service [...] If you know how to help set this up please get in touch.
This is not very difficult. The Tor website explains it pretty clearly [0]. Alternatively since y'all are familiar with Go, there is a library [1] that makes listening on an onion address almost as easy as a regular address.
I seriously do not understand how people read about W3W and not feel icky just by being near. Right off the bat the talk about fleecing..ahem, selling their service, to developing nations. The whole thing is a PR operation, a CRUD database, and a sales team sufficiently soulless to wine and dine governing structures in developing nations to reap the juicy public dollars.
Who gives a damn about copyright infringement. These guys should be in prison. I have yet to hear a problem it solves that wouldn't be solved better by a post office.
> To ensure that we did not violate the What3Words company's copyright, we did not include any of their code, and we only included the bare minimum data required for interoperability.
Yeah copyright doesn't work like that. You don't get to violate it just because you need to for interoperability (unfortunately). An example of this is console emulators which aren't allowed to distribute boot ROMs.
Whether What3Words has anything that is copyrightable is another matter.
> Yeah copyright doesn't work like that. You don't get to violate it just because you need to for interoperability (unfortunately).
This is only sort of true; it's a messy and complex area of law. For instance, interoperability was one of the defenses Google raised in the Oracle lawsuit over Android's use of Java APIs. (It ended up not helping them much, on the grounds that Android isn't actually that interoperable with other Java implementations, which is different from interoperability not being a usable defense at all.)
And the DMCA has specific exceptions allowing reverse-engineering for the purposes of interoperability.
And using your copyright on a list of words to try and get a monopoly on a system of specifying location might well constitute copyright missuse and invalidate the entire copyright.
But raising any of these defenses involves extensive lawyers and court cases and the acceptance of the considerable risk that you will lose the suit.
Because the company would sue them right away? That's why they have to hop from hosting provider to hosting provider because the company is taking the sites down.
If they’re going to be dicks about keeping it proprietary then maybe it’s time for someone to come up with an open alternative.