> The algorithm used to generate the words is proprietary. You are not allowed to see it. You cannot find out your location without asking W3W for permission.
> If you want permission, you have to agree to some pretty long terms and conditions. And understand their privacy policy. Oh, and an API agreement. And then make sure you don't infringe their patents.
> You cannot store locations. You have to let them analyse the locations you look up. Want to use more than 10,000 addresses? Contact them for prices!
There are a few more open specification Geohash algorithms out there as well.
What's silly about W3W is that their entire "proprietary algorithm" is going to be the same as all of these, except with /usr/share/dict/words instead of A-Z0-9 as the alphabet.
The only reason they need Kubernetes clusters on AWS is to keep their word list secret, every open-spec code can run offline.
I don't understand how they thought this business model would ever work.
Have they patented the idea of using english words to encode numbers? Because I've seen patterns of 2-3 english words used in the past to communicate things like keys and confirmation codes.
We're looking for a global addressing system that can span cities and states (not necessarily countries), and for one that doesn't depend on lat/lon (because that has inherent error margins in it). It should be global and consistent so we can build tools on top of it, rather than have to learn each country's addressing system. Also these coordinates would be used by our system internally as identifiers, but the users would just see the artifacts that matter to them, like roads etc.
To map a particular point (like a house) with latitude and longitude, you have to be accurate to 5 or 6 decimal points. If you have the right data, then yes you absolutely can map this.
But if you're taking, say a telemetry point from a truck moving across the city and trying to map it to an address, there's going to be some drift in that number. And you're going to use that coordinate to say "what's the nearest house to this" – but due to that potential drift, you might match with a different house.
This is not life or death stuff. But then it becomes harder to "cluster" points together to say "all these datapoint correspond to this house". Having a slightly larger grid system allows you to say "anything in this 100sq foot square will be associated with this house" which allows you to have some margin of error, while still being able to address individual addresses.
So then instead of -72.883322, 38.128312 being treated differently from -72.883320, 38.128317, they all cluster around one "square" which makes it easy to just group them.
But What3Words is trying to give each of those "squares" a unique english word identifier, whereas other coordinate systems probably just use alphanumeric codes. I didn't know their algorithm was proprietary. That's bullshit because there is no "algorithm" per se – it's just mapping numbers to word lists. That's it.
You are making point (location) in polygon (building) queries anyways, if I understood you correctly. GNSS can be off, there is not much you can do about this for free. Any other location-description will be the same. You cannot fix GNSS accuracy by using different representation of location.
If you just want to snap your coordinates to a grid, check s2 or h3 or just make your own grid in your country's authorative coordinate system or even snap your coordinates to a lower precision.
I meant dumb as simple in a technological sense. The idea is quite attractive but there are so many problems with their wordlists and algo that I don't consider it a system worth using, even it was not proprietary and unlawfully patented
Really irked that they bill themselves as a solution in the public safety (emergency response) space while objectively being detrimental in that domain.
Moreover, how do they have so much code that they need k8s? Isn't their product just a proprietary function that converts lat/lon to three words and vice versa?
I feel like as soon as you have more than one program to manage, you need some sort of orchestration. You could build your own that's simpler than Kubernetes, or you can just click the checkbox on your cloud provider and not think about it for a long while. Type in 10 lines of YAML for a Deployment and maybe a LoadBalancer if you're feeling adventurous, and your app is deployed. Need another replica to deal with increased popularity? Change one line. Split up some code into another app? Just kubectl apply another deployment.
There is certainly overhead (kubelet, master) over running your PHP app on bare metal or whatever, not to mention having to figure out what deployments, pods, services, kube-proxy, etc. are... but once you've done that, it's pretty easy. Especially if you use something like GCP, you don't pay for your master, and there is a web UI for doing everything that's simple. I would recommend it once you need to scale beyond 1 computer.
21 comments
[ 3.9 ms ] story [ 64.2 ms ] threadhttps://shkspr.mobi/blog/2019/03/why-bother-with-what-three-...
> The algorithm used to generate the words is proprietary. You are not allowed to see it. You cannot find out your location without asking W3W for permission.
> If you want permission, you have to agree to some pretty long terms and conditions. And understand their privacy policy. Oh, and an API agreement. And then make sure you don't infringe their patents.
> You cannot store locations. You have to let them analyse the locations you look up. Want to use more than 10,000 addresses? Contact them for prices!
Kinda curious why you would be using something like this?
What's silly about W3W is that their entire "proprietary algorithm" is going to be the same as all of these, except with /usr/share/dict/words instead of A-Z0-9 as the alphabet.
The only reason they need Kubernetes clusters on AWS is to keep their word list secret, every open-spec code can run offline.
Have they patented the idea of using english words to encode numbers? Because I've seen patterns of 2-3 english words used in the past to communicate things like keys and confirmation codes.
What do you mean by that?
But if you're taking, say a telemetry point from a truck moving across the city and trying to map it to an address, there's going to be some drift in that number. And you're going to use that coordinate to say "what's the nearest house to this" – but due to that potential drift, you might match with a different house.
This is not life or death stuff. But then it becomes harder to "cluster" points together to say "all these datapoint correspond to this house". Having a slightly larger grid system allows you to say "anything in this 100sq foot square will be associated with this house" which allows you to have some margin of error, while still being able to address individual addresses.
So then instead of -72.883322, 38.128312 being treated differently from -72.883320, 38.128317, they all cluster around one "square" which makes it easy to just group them.
But What3Words is trying to give each of those "squares" a unique english word identifier, whereas other coordinate systems probably just use alphanumeric codes. I didn't know their algorithm was proprietary. That's bullshit because there is no "algorithm" per se – it's just mapping numbers to word lists. That's it.
But that's marketing.
If you just want to snap your coordinates to a grid, check s2 or h3 or just make your own grid in your country's authorative coordinate system or even snap your coordinates to a lower precision.
W3W is really dumb.
I wouldn’t say that W3W is dumb. I like the idea as a global mnemonic device. But it is a hard sell.
Really irked that they bill themselves as a solution in the public safety (emergency response) space while objectively being detrimental in that domain.
There are better services out there.
I'm always amazed to find 10 Infra engineers and 15 backend engineers to maintain a very simple webApp for example.
There is certainly overhead (kubelet, master) over running your PHP app on bare metal or whatever, not to mention having to figure out what deployments, pods, services, kube-proxy, etc. are... but once you've done that, it's pretty easy. Especially if you use something like GCP, you don't pay for your master, and there is a web UI for doing everything that's simple. I would recommend it once you need to scale beyond 1 computer.