What’s going on with WhatFreeWords?
justpaste.it
justpaste.it
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.
There's https://en.wikipedia.org/wiki/Open_Location_Code from Google (AKA Plus Codes). They have a useful wiki article which compares existing systems: https://github.com/google/open-location-code/wiki/Evaluation...
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.
https://en.wikipedia.org/wiki/Military_Grid_Reference_System
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.
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.
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.
What3words will be a nightmare over a weak voice radio signal, if amateur radio experiences are anything to go by
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).
https://en.wikipedia.org/wiki/Maidenhead_Locator_System
What I would suggest to W3W or WFW is to have a alphanumeric "backup" similar to the gridsquare system that can be spoken over rough radio channels.
I think that OLC and W3W have many flaws. If you want to read a critique OLC I suggest you read this: https://www.qalocate.com/whats-wrong-with-open-location-code...
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.
There are some light docs you can reference here: https://www.qalocate.com/resources/
We have a video on the tech here: https://www.youtube.com/watch?v=nlscJ8MOPjM
I'm working on some better preliminary docs, but working code takes priority ;-)
Btw, the GeohashPhrase will be open source and free to use.
> 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.
> 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.
---
[0] https://github.com/google/open-location-code/wiki/Supporting...
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).
That's entirely against their business model. See also the open street map wiki page on it: https://wiki.openstreetmap.org/wiki/What3words
Or any of the previous HN discussions (just some samples):
https://news.ycombinator.com/item?id=8614198
https://news.ycombinator.com/item?id=15579017
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.
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.
[0]https://www.mercedes-benz.com/en/innovation/what3words-voice...
[1] https://northyorkshire.police.uk/news/whats-what3words-and-w...
Most recently for 2018: 11.4 million GBP loss on 273k GBP of income.
Where in relation to curve.empty.buzz is grape.trunk.gossip? Is it closer/farther than slurs.this.shark?
The first is about 6 feet north. The second is 3600 miles east.
It's an almost intentionally terrible system designed for people to be reliant on their services.
But there is a great free alternative already, I use it all the time: http://www.what3fucks.com
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 :)
I'm at https://what3words.com/broken.spies.wreck !
> There is no 'rack', did you mean https://what3words.com/broken.spice.back ?
No 'wreck'! As in shipwreck!
> Got it! https://what3words.com/broken.spice.wreck !
Wow. They both work. One's in Sweden, and the other's in Alaska.
It seems the corpus has not been well thought out at all.
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.
Convert coordinates location to 3 words : https://freews.org/location-to-w3w
Convert 3 words to coordinates location : https://freews.org/w3w-to-location
I have no idea if it is useful or if it does break some copyright laws but I thought it could be fun :)
https://whatfreewords.org seems to be up and running just fine.
[1] https://archive.fosdem.org/2019/schedule/event/geo_3geonames...
At QA Locate we've been working on a solution to this that we call GeohashPhrase. It encodes a geohash as a sentence.
There are some light docs you can reference here: https://www.qalocate.com/resources/
And we have a video on the tech here: https://www.youtube.com/watch?v=nlscJ8MOPjM
I'm working on some better preliminary docs, but working code takes priority ;-)
Btw, the GeohashPhrase will be open source and free to use.
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.
Right now the problem is that we don't have anything more than a description of our idea to release...
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.
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.
GeohashPhrase is an improvement, but still, the phrases in sample docs are just 3-4 words too long.
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.
btw, search.qalocate.com (as advertized in a video) does not work, and also has an incorrect certificate. Please fix, would be nice to toy with it.
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.
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 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).
[1] https://stackoverflow.com/questions/9600801/evenly-distribut...
[1] https://3geonames.org/ [2] https://3geonames.org/riga.html#slide=1
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/
*IANAL
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.
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.
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.
That's what patents are for, but then they'd have to disclose it.
https://github.com/github/dmca/blob/master/2016/2016-07-05-w...
Edit: I forgot about the WIPO part. Yes, the trademark violation claim also seems merited to me.
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.
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
In any way - I would definitely try to write an appeal.., but of course a lawyer and legal advise would be very helpful..
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.
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.
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.)
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.
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.
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.
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.
0 - https://2019.www.torproject.org/docs/tor-onion-service.html.... 1 - https://github.com/cretz/bine
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.
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.
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.
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.