If anything, they should have designed it such that it follows an IP style system where you get more precise/specific with each period and the words more to the left indicate a larger area and we drill down to other smaller areas with each period. And you could make words in the specific section be similar to things that are near it. For example, it could roughly translate to state.town.subsection within a country. So mouth.award.bowl could be right next to mouth.award.cup because cup and bowl are related.
Regardless, this is a shit system and I can't believe anyone even bothered to create it. Also, I've never heard of it prior to today. Who uses this crap?
From what I've read, it gets used by nomadic peoples and people where regular postal addresses have not been established. So, for example, parts of Mongolia.
I'm not arguing with you. Just answering your question.
I actually favorited your comment. I think it's very insightful. I have a (useless -- er, unused) Certificate in GIS and still enjoy reading about map stuff.
In the cities (where the large majority of the population lives) in the organized ger districts, there are street names and numbers, so this is really a solution in search of a problem.
So in reality everyone just uses Post Office Boxes for mail, who often just call you and say mail's arrived and charge 400 tugrug.
That said, no-one I know has even heard about what3words, aside from those who read the initial press release. And I'm from Mongolia.
One of the complaints in the article is that the different localizations offer uneven quality.
And there's no publicly documented way to convert between the localizations. It's not even clear that there's a 1:1 correspondence between the word lists!
> So, if I want to tell a French speaker where ///mile.crazy.shade is, I have to use ///embouchure.adjuger.saladier
> Loosely translated back as ///mouth.award.bowl an entirely different location!
mile = embouchure
crazy = adjuger
shade = saladier
"plomba.rewelacja.oczy" => "exclaim.mainland.engages"
"plomba.rewelacja.fasada" => "dare.lawn.sleepy"
Thanks for the info.
* Realize that things like 'SSN's are being used as social identifiers and actually just issue them.
* Allow legal entities to authenticate and update their preferred physical address
In ONE place (so I NEVER have to update billing addresses again!)
(maybe even for different kinds of data-packets)
* Make it possible to mail to someone's identity (as the address), BUT
you first have to authenticate as a legal entity
(person or registered organization / business)
that authentication data is hard coded on to the envelope.
I rarely get any important physical mail these days. But I still run into issues over address problems (ironically, more now that I am back in housing than I ever did while homeless: https://writepay.blogspot.com/2019/02/mailing-address-drama....).
My life is mostly online. I was a military wife for a lot of years and moved around a lot. Lots of people have very physically mobile lives these days.
Yet, we haven't adapted our systems to this reality. We want to tie everyone to a physical address for a long list of things, as if we are plants who can't move from this one location or something.
I don't know what the answer is, but, wow, I sure wish we would come up with better answers than acting like this is still the 1950s and everyone will work for the same company and live in the same house for decades and we can each be found in some particular location all the time.
Just register with an email, things are autoscanned and sent to you with a PGP key you provide.
What you will get is a web application you get to sign into to actually get your mail, and you will receive a notification mail in your regular email inbox stating that you have received mail (but not from whom, or what the subject is, because that is privacy sensitive information), so that you know that you should go and get it yourself via the web application.
This is what every digital 'inbox' that isn't email has done thus far. This is in fact exactly what the Dutch government has done with their digital inbox which is intended to replace physical letters from services like the revenue service and municipalities. Thankfully that monstrosity is optional (for now).
But maybe I should get one again at some point. Maybe that would help with some of mail/address issues.
Upvotes will privately bookmark things you like. Favorites are public.
I use them occasionally to actually have some hope of finding something again. But if you don't want people to know, then don't use "favorite."
If you can extrapolate positioning deltas from the coordinates themselves, then you don't need to hit the API as much.
With that you can have a linear ordering of space at each scale. Rounding errors become rounding errors. I remember seeing an implementation of that on npm or some such thing.
It explains how to easily search for "points no more than X km from Y" in a DB query without having to actually calculate distances.
I think the advantage of lat/lon boils down to the fact that everyone knows 79.999 is close to 80.000, even though they look quite different as raw text.
A tiny change in your coordinate will mean a tiny change in your physical position, but a tiny change in your physical position will almost always mean a quite large (and basically not predictable without doing an involved calculation) change in your coordinate.
In the purely mathematical sense, this means something like "continuous except at points with at least one rational coordinate".
In the programming sense, where everything must be approximated and you're mapping a 2-d lattice to a 1-d lattice, then it's a bit tricky to formulate, but something like: if you take the maximum distance in 1-d space between a 2-d point and its eight "neighbors", then the probability of this distance being > N should be O(1/sqrt(N)). Concretely,
P(point has an adjacent point whose Hilbert coordinate disagrees past the highest n bits) == P(d > 4^n) < 4*(1/2)^n
Here is the plot: https://gist.github.com/justinvanwinkle/22a15bb33536095b05dc...
Notice the Log y axis. I don't you think you could consider this even roughly continuous. This is only even bounded because I only took points within the 256x256 grid, if I let it run over say a 1000x1000 grid the hilbert distances wouldn't plot well even on a log plot.
The second plot I took any random point within euclidian distance 8 from a random first point, and didn't restrict it to stay in the same 256x256 grid. 10k points total. Even at distance 1, you get hilbert distances like:
I'm confused about the second plot; what order is the curve? It seems weird that there are no points between 10^12 and 10^156.
The difference would be more pronounced on a non-log scale, except the huge numbers at the top of the range would squish the graph down so you couldn't see what was going on.
The first graph isn't just not continuous, it's not even 1-1. (I'm ignoring the fact that is also discrete so that any formal sense of 'continuity' can't exist. Even if you tried to make it continuous by filling in the gaps it would be impossible.)
And guessing distances seems like a pretty unusual thing to do. Especially as latitude/longitude is a terrible system for that anyway. Small distances are very small numbers and hard to think about.
It is possible to make a spelling mistake in what three words, but the mistake will be readily obvious if you know the general location.
I shared your scepticism until I tried the app. The auto-complete is really slick and it just works. For sending coordinates through a human/speech interface it is just going to be more reliable. For ever other problem use another solution.
Same thing is true for words, there are words in my native portuguese that are dificult to tell from each other even in person, imagine by phone. If some one misunderstands a word and it's valid on a combination?
For example (in portuguese), Paca.Tatu.Cotia (Paca.Armadilo.Agouti in english) can be misheard as Maca.Tatu.Quati (Stretcher.Armadilo.Coati in english). What if both combinations are valid, but thousands of km away ?
I understand the difficulty with speech, but that is true of any verbal communication.
This already presupposes that the parties involved in the communication are using smartphones, so why not send the coordinates over SMS, email or any other available messaging system?
I think it is interesting that you say that, because I see this system as DNS system on top of IP.
So latlong is your IP, and W3W is your human-readable domain name.
Which begs the question: would a better system involve letting people pay to register names that point to latlongs? There is a free tier that are an open-source list of names for the entire globe, but companies could pay to have names like "free.tacos.here" point to their locations.
No, it's not. It's actually more like the opposite. The domain name system is hierarchical, and W3W is clearly (and I gather, intentionally) not.
IP addresses are also hierarchical, but the mapping of domain names to them is only somewhat systematic.
Really, though, W3W identifiers are most like Tor onion names. Just hashes. Indeed, some have suggested replacing alphanumeric onion names with something like W3W.
It's just anecdotal, I know. But I find it hard to imagine that most people don't understand URL hierarchies. I mean, people who use computers commonly organize files in folders.
But maybe that's becoming a lost art, as most new users just have mobile devices.
You've also (inadvertently) pointed out that there's redundancy in written numbers.
Equivalent redundancy with W3W would require remembering spellings rather than a simple rule.
That is the darkest most evil sentiment to any product manager. It basically says a person cannot form an independent opinion and looks to their neighbor to derive credibility. If enough people think that way new ideas never enter the market. This is the opposite of merit.
I mean, if I buy a hammer, I couldn't care less whether anyone else uses it. Its utility is entirely decoupled from the amount of users. In this case, you're not buying into a hammer, because utility is dependent on the number of users. If "//cat.dog.goose" means nothing to anyone around me, I can't use it to communicate a location to anyone around me.
Maybe it shouldn't just be taken as "the darkest most evil sentiment" but as the general reaction consumers will have to products or services where utility is a function of adoption. With any luck, some few people will insist on using it and kickstart more widespread adoption, but that's just it: luck.
Although it's not a limitation of the coordinate system, so improving GPS accuracy to mm level resolution will make GPS coordinates obvious
Oh yea house aren't that small but the vertical distance between the floors and individual apartment in the building is.
>Regardless, this is a shit system and I can't believe anyone even bothered to create it. Also, I've never heard of it prior to today. Who uses this crap?
It's literally a con job designed to create a middleman where one isn't needed. It's the modern libertarian dream.
There is nothing libertarian about conning people or "creating a middleman where one isn't needed." If you believe that, you have been badly misinformed.
SMS tends to be more reliable than a data connection in areas with a poor connection (remote, or interference).
This is doable right now - having some sort of data-to-emergencyservices gateway does not exist.
Also, in many cases a phone is not able to use (or has limited use) of data during a phone call. An sms would be able to go through concurrently. Imagine being on a 911 call. They ask you to click the W3W button (built in? Next to other on-call buttons?) and read out the response.
Not a w3w shill - but I think there's a use case for the emergency system that uses sms and it is usable right now and doesn't require any system wide upgrades. The only potential upgrade would be at the OS level just to simplify (button addition).
The ideal would be having the DB of W3w words locally so that it doesn't need the SMS gateway. Or having a completely open system...
Finland has done it, see https://play.google.com/store/apps/details?id=fi.digia.suomi...
I'm preparing my own version, truly open source (though with a premium component), with the following improvements over W3W:
•Length-optimized. If one character sufficiently describes your location, you don't need to tack on extras. A 12-character code with the last two lopped off will be imperceptibly close to the original.
•Precision optimized. Every additional character, no matter the value, will result in a location not identical to the absence of that character.
•Precision-focused. When a location is precise to the nearest 100km, km, m, or µm, the browser tools make that clear.
•Logic-optimized. With pencil and paper, you'll be able to figure out how to go N, E, S, W by X distance by adjusting a particular character.
•Spheroid-optimized. The Mercator projection is often held to be an imperialist distortion of the globe, and that's what traditional latitudes and longitudes use. Half the "namespace" of nearly every coordinate system is biased toward the poles. The distance between 89° N, 10°W, and 89°N, 10°E is 38km, but at 1°N, it's 2226km. My system has a simple and clever way to equally represent the dense equatorial regions and the sparse arctic and antarctic regions, and that equals shorter codes.
Watch this space.
The "S2" geometry system (http://s2geometry.io/) is what Google Maps and many other large systems use. It has a small bias towards the poles in terms of some S2 cells being slightly larger than others at the extremes but the bias is pretty minimal.
Another system, Uber's H3 (https://eng.uber.com/h3/), handles this problem in an even better way, although it loses some of the benefits of S2, such as having fine-grained cells no longer exactly fitting into their parent cells. It has other benefits however.
One thing missing from all of these system, including W3W, is that none of them have a height component. If I go to a party in a strange condo and need to call for an ambulance, there is a huge difference between being on the first floor and the fiftieth floor of the same building and W3W does nothing to solve this problem.
Since people appreciate height from street level differently than raw altitude, both will be accommodated in my system.
Also don't discount the benefit of their distribution of the words. If you're using voice input and trying to get somewhere, the system can guess which of multiple inputs you mean. If you're in Louisville Kentucky you're more likely to be trying to get to "captain.water.water" (a ~90 minute drive from downtown) than "captains.water.water" (located on an island in the North Atlantic). Do you have a mechanism (maybe a check digit?) to help with that?
"captain.water.water" => ~90 minutes from Louisville, Kentucky
"captains.water.water" => island in the North Atlantic
That's crazy. I mean, "..water" should be a contiguous area. With "*.water.water" a contiguous part of it.
The system pretty explicitly considers all squares equal, without a hierarchy such as you envision. There are no identifiers for larger agglomerations of individual squares.
(And more specifically, where identifiers are hierarchical, you generally have the larger scope first, not last. URLs are a bizarre exception.)
But (and maybe I'm just too cynical) the huge benefit for W3W is that it's much harder to reverse engineer the identifier-assignment code. So only W3W can generate valid identifiers.
People set them up that way in practice because they prefer thinking that way. Or, I guess, because they want to sort their URLs meaningfully. Does that happen?
But maybe you're right that most people don't understand that, given how adversaries exploit stuff like "games.apple.com.foobar.hosting.tw". You wouldn't fall for that if you understood the system.
If one of the words is slightly wrong, then you want it to be obvious.
If the Kentucky emergency operator adds an extra s they will see that it can’t be right. With the contiguous numbering the ambulance would be close, but probably still unable to find you.
See page 23 of the patent:
There is quite a body of research into equal-area hierarchical partitions of Sphere. Adressing there is mostly neither trivial nor intuitive and also not compatible with most raster data formats when it comes to storage.
Discrete Global Grid System (DGGS, Pyxis), HealPIX, H3 as variant of DGGRID, EQ_REGIONS, just to name those I remember.
So I'm watching ;)
Want to shift a little to the east? 4CFM+JX works, but 4CFM+JY? Whoops. How about north or south? Maybe there's a way to do that, but I haven't found it yet.
How about upping the precision? The size of the square is maybe 4X the W3W grid cell, but not aware of a way for plus codes to achieve a smaller cell.
I'm not out here to bash everybody else's solutions. They're all pretty good, particularly when you limit them to particular applications. Mine just happens to be a slightly improved approach, and slightly less full of drawbacks than everybody else's.
>Plus Codes have little application outside building addressing.
This claim needs some arguing.
>If I tell you I'm at 4CFM+JW, come get me, you're going to be pretty helpless, because I didn't include the city.
So why would you tell me that? Either include the city, or use a longer plus code that includes the city.
Example from the spec:
>>Nairobi Youth Sports Organization and Information Centre in Kibera, Nairobi, has the Open Location Code "6GCRMQPX9G". Using the location of Nairobi, the code can be shortened to "MQPX9G".
>How about upping the precision?
Use longer codes! It's all in the spec. Again, quote:
>>Using a single grid refinement step, we have an 11 digit code that represents a 1/32000° by 1/40000° area (roughly 3.4 by 2.7 meters at the equator).
Now, regarding this:
>Want to shift a little to the east? 4CFM+JX works, but 4CFM+JY?
This is by design; some symbols were omitted to avoid having words in codes (which, as TFA discusses, can be problematic, e.g. some places might not be happy with codes that have EVIL in them).
>Maybe there's a way to do that, but I haven't found it yet.
The spec is open, and it's all in there!
It is not as simple as what you expected, due to the design constraint above. But that is a tradeoff that I think is reasonable. After all, these addresses are going to be punched into a computer anyway.
E.g. play with the addresses here.
I'm really excited to see more development in this space, because one size does not fit all. However, it's important to know what existing systems get right too.
(E.g.: English W3W looks like way easier to say on the phone).
Disclaimer: I work for Google/Geo, the opinions expressed here are mine, and not of my employer.
Or I could just use a system that doesn't have that drawback. Plus codes aren't awful. I just find room for improvement.
> This is by design; some symbols were omitted to avoid having words in codes (which, as TFA discusses, can be problematic, e.g. some places might not be happy with codes that have EVIL in them).
So what you're saying is only an open source project could deal with this level of potential offense. I'll agree with that. People who don't like EVIL could add more precision to make EVILGH.
Which drawback? All systems have the drawback that if you don't say the entire address, you don't get the entire address.
>So what you're saying is only an open source..
I was not talking about that (for that matter, plus codes are free/open source). I was just explaining why you ran into this problem: "4CFM+JX works, but 4CFM+JY?". It wasn't obvious to me why "Y" is not a valid plus-code character either until I read the spec.
Honest opinion: it is not. Plus codes is the one that has least drawbacks and most advantages.
But seriously, you haven't seen it yet. Ever read Green Eggs and Ham?
> With pencil and paper, you'll be able to figure out how to go N, E, S, W by X distance by adjusting a particular character.
Topologically speaking, I am intrigued :)
I at the time found some prices online searching around but nothing from them.
We were very hopeful we'd get some sort of discount because we're in educational tech, so our income per user is very low, but nope. Free to $100k overnight is insane. We’ve got a guy whose full time job now is basically developing analytics tools for us and it’s a cheaper solution.
The main catch is that GA goes to "sampling mode" once your traffic gets high enough, and I think you have to pay extra to get full datasets.
If you see a high pricing on their webpage you might go away immediately. But if you make the effort to calling them, you are already committing yourself and you are more likely to accept a higher price than you would have if it was easily accessible.
Look, even this dinosaur got it right: https://azure.microsoft.com/en-us/pricing/details/api-manage...
I believe as a consumer it is important to be aware of those different manipulation techniques so you can step back and take a rational decision.
For example in case of call for sale, it should trigger an alarm telling you to walk away. If you have a high interest in the product and want to call anyway, make sure to know what price you are willing to pay BEFORE calling and do not commit to anything during the call.
- You are WAY underestimating modern Microsoft, they may be a dinosaur in that they are a relatively old company but they are definitely still one of the bigger predators around.
- Not every business has the same target audience. Some companies desire "everyone" and will make the barrier as low as possible; some companies will purposely target only those customers with the money and commitment to call a sales team and will not make the effort to support customers who are not worth the attention.
"12 character code" might solve the problem from your perspective, but the point is that barcodes and IDs are annoying to read and copy by hand.
•Length-optimized. More digits = more precision, check.
•Precision optimized. Except for adding zeros, check.
•Precision-focused. Sig figs cover this.
•Logic-optimized. Adding or subtracting to lat or long respectively.
•Spheroid-optimized. I believe this applies to latitude and longitude, as well, since there's less surface area for a given coordinate space. Though, maybe it's the reverse, that it's more precise at the poles.
This is a service-related question, though, not a method-related question. There's no math equation that'll tell you your house is there when it used to be here.
"No, I'm `heartfelt-triple-coma` from 2003, not current. Oh, you're using a Spanish-language phone; I don't know which dataset you use."
GPS coordinates are just one possible solution, there's no reason to consider equivalent encodings of the same values as the only alternatives.
Sure, but (1) is there a good way to get an exact description of tectonic drift?, And (2) does tectonic drift account for all shifts of surface features (intuitively, it would not necessarily for features not fixed to bedrock, which accounts for a very large share of interesting-to-humans features)?
Of course, getting all software to support multiple datums might be a complicated matter, as 98% of things like online slippy maps and mobile phone geolocation APIs just use WGS84, the familiar datum used by GPS.
(2) Changes on a smaller scale, e.g. due to a landslide, are probably less surprising when they cause a change in location codes. On the other hand, there might be some houses on a hill somewhere slowly sliding down, where the system doesn't work.
(I also realized that my previous comment can be read as supporting a flat earth theory, especially the part about the sphere being imaginary. I firmly believe that the earth is a bumpy ellipsoid, though.)
I would think you'd need a lot of targets near plate boundaries (where deformation is high for that reason) as well as in known regions of intraplate deformation.
Google is not exempt from this type of behavior, unfortunately.
The thing you are trying to design has probably already been designed.
We are currently using geohash and curious why it’s worse than this.
Worse might be a little harsh, but my system:
•Packs slightly more bits into the string (naturally there's a tradeoff with data fidelity) for shorter strings
•Follows a completely logical alphanumeric distribution (Geohash will skip letters, some for good reason, like o and l, and some for not-so-much, like a)
•Some of the other benefits in the original post are also missing.
You could probably do this with other systems, but the goal is to allow everyday people to be able to pack a short string in a tweet and have everybody else know exactly where they mean.
That's the S2 string for a section of Times Square, NY.
Usefully "89c25855b" is a well-defined, less precise location comprising a larger area. You can go up or down in levels of precision easily and everything can be stored as a single 64-bit integer with lots of extremely useful properties, (e.g. the use of the Hillbert Curve with all of it's benefits, like localization in address space and real space - see http://blog.christianperone.com/2015/08/googles-s2-geometry-...)
If your system adds more benefits than this, I'd love to hear more about it!
Also, geohashes of many proximal points are very different (see http://geohash.org/f840p2n2p3 and http://geohash.org/dxfpzryrzq although these locations are 1 meter apart)
Also, while geohashes are great for computer storage, they are not so much for human memory.
The fact is the 4 coordinates (two numeric, two with the stupid "N/S/E/W" corresponding with traditional), decimal points, and reverse order from an X,Y coordinate system, are hardly easy to memorize. They're next to impossible to memorize.
What part of pencil and paper didn't come across?
I think "IJASDO" would be way easier to memorize than person.guards.gangs (I will definitely give W3W credit for picking unintentioned yet humorous word combos), particularly if English wasn't my first language.
If you disagree with this logic, explain to me why automobiles' license plates should use W3W-style. ("idiot-driver-honk").
Wait, was that first one persons.guards.gangs? persons.guard.gangs? You'd think if you were one off in the dictionary it would still get you where you needed to go, but no.
W3W is a clever product. Mine is also clever, and this industry will never have one-size-fits-all, and that's ok.
W3W has a not-so-clever marketing approach. I doubt plus.codes would have ever seen the light of day if W3W had a more FAANG-style approach to marketing.
Completely disagree. No way 6 arbitrary letters is easier to remember than 3 arbitrary words.
From another W3W-criticism blog post (https://mwfrost.com/space-is-scalar.html):
“An addressing system is successful insofar as it enables us to execute the suite of cognitive tasks that constitute navigation. Associating a destination with its location on the earth is only one of these chores.
“If you have a powerful computer in your pocket, and you want to use your brain to remember and then use your voice or a text message to share a geographic location with someone else who also has a powerful pocket computer, what3words has got you covered. If you want to infer how far that location is from another location, or which roads might connect to it, you are out of luck. Building an addressing system is difficult, expensive work specifically because legitimate addresses embed so many levels of hierarchical categories and scalar proportions for us. Remembering coordinate locations is cognitively burdensome, but the signifiers retain some meaning relative to one another. You can tell the search and rescue team that you’ve twisted your ankle at ringleader.kilt.comedians, but as soon as you’ve moved 3 meters east, you’re at since.duplicates.backswing, and the technologically-enhanced mnemonic crutch has exhausted its usefulness. Augmenting one cognitive task in a manner that debilitates the constellation of surrounding faculties is not the right way to apply technology to our problems.”
This represents my disappointment as well. When I initially heard of the system, I thought it was hierarchical; the first word describing some larger chunk, the second describing a chunk within that chunk, and the third describing the 10' x 10' block nested at the bottom. That would have been a fairly cool thing; you could easily go for less precision in order to represent a larger space -- your neighborhood, for instance. Instead, it just feels entirely non-intuitive for a system that seems to have been created to offer mnemonic names for spaces.
Perhaps there are technological limitations to the problem that I can't see that prevent a hierarchical solution from being possible or feasible. But I just see little value in an 'addressing' system where one cell's address is totally unrelated to the cells adjoining it.
edit: I've just found w3w's justifications for a non-hierarchical system on their site and they seem weak to me, but who knows, I'm no expert on the matter. -- https://support.what3words.com/hc/en-us/articles/207768985-W...
For W3W, they say:
- The codes may be pseudo-randomly generated and so nearby places may have completely different codes.
- It may be possible for multiple people to apply for codes for the same location and for different codes to be generated.
- Making a mistake with a code may simply display somewhere else - for example, on What3Words, "banana rabbit monkey" is a location in Argentina, "banana monkey rabbit" is in Russia.
- [It charges] money either for granting a code, for resolving codes or for allowing users to select their own short code.
- [It does] not work offline and [has] a single provider.
Plus Codes has respective advantages for each of these points, i.e., it's not proprietary; can be encoded/decoded offline; nearby places have similar codes; codes can be made longer for more accuracy; excludes easily confused characters; etc. Overall I found the article makes a convincing case for Plus Codes.
Is "angry ape alligator" right next door or in Europe? No idea. Which fire station do we relay a call to? I don't know, let's ask w3w servers (during an emergency ... )
To the precision that I want to get someone to help me when I'm trapped in a car, you really only need a few significant digits of lat/lon (.YYYY/.ZZZZ) will get you to within 1 km most of the time. The left-of-decimal numbers are not needed if you are calling local 911, as an increment there shifts by a hundred km.
EDIT: Also, given a set of lat/long coordinates, regardless of the precision, you could infer their spatial relationship as well.
For great circles the metric ratio is close to 40000km/360. A simple trick would be converting to 400gon first¹, but even using 111 Km per degree is a useful approximation.
So 0.01 decimal degree difference in latitude is always 1.11km or roughly 1km.
All you need to remember is your length of 1 degree longitude at given latitude which is the following basic trigonmetric relation:
0.01deg = cos(lat) * 1.11km
Cheap linear approximation will do well here too.
In South to North order: So usually factor down to 0.8 to 0.7 (38 to 48 Miles) if you live anywhere in the continental US. For Europe it's 84km in Rome, 72km in Paris, 69 in London, 67 in Berlin and 56km in Stockholm
And for approximating local distances it's simply those metric deltas with pythagoras, no need for Haversine or even non-spherical earth models here.
The most important relation for anyone who is into earth and the metric system, is that it's 10M meters or 10,000 km from pole to equator per original definition. You dont even need to remember the earth radius, since that's also defined by 4x10,000km/2π historically.
¹It's a shame that the metric revolution stopped short of Gradians, when it comes to full metric convenience here.
Don't overestimate that. There are nasty exceptions where the street disappears and continues elsewhere without a significant gap in house numbers, especially in cities with a long history.
Either way, it does work for several billion other people.
Even granting that your “nasty exceptions” comprise fully half of all complete addresses, that would simply mean that a normal addressing scheme is better than W3W 50% of the time and no worse in all other cases.
A common feature of most addressing systems is being able to infer relative distance - this is usually true of even street address. (Yes, I am aware this is not always true, and yes, I am aware there are hilarious counter-examples. I don't think that changes the point.)
There's also the old country directions method - navigate by Landmarks. If your emergency services operator is familiar with the geography of their area, this becomes much easier. If you are similarly familiar, this can be very quick.
"Timmy fell down the well by the old mine on the edge of town! Good girl, Lassie."
However, after an internal review we realised that a lot of our UK properties have locations in Asia or the US... It turned out that typos in what3words often result in a valid location on the other side of the world. The most common mistakes we found were plural words instead of singular ones (e.g. "cats" not "cat") or the other way around.
Of course we could have improved the user interface or added some extra validations, but at this point we realised that what3words is more trouble than it's worth, and decided to migrate to storing lat/long directly. That allowed us to avoid a third-party dependency and simplify the code, since we had to cache lat/long anyway in order to plot properties on a map or calculate distances between them.
Latitude errors are also much easier to correct if you incorrectly memorise it but know other information (country/city). But if you find out that arbitrary.word.cat gives you an obviously incorrect location, you've got very little chance of realising that actually it must have been arbitrary.world.cats
We expect numbers to be number-like where every little digit is important. We expect words to be word-like where plurals and sometimes even synonyms mean the same or similar things.
Alternatively, try a W3W parody:
http://www.what3fucks.com (NSFW text)
But then I thought "Maybe I just can't figure it out and other people can."
Thus the question. :P
I do take pull requests :D
asteres opened this issue
almost 2 years ago
I don't see a way to lookup an address if I have 3 emoji.
Is Plus Codes a Google project or just a partnership?
No need even for the data connection. Any Android 2.3.7+ or iOS 11.3+ phone will automatically SMS the location when the emergency number is dialled.
Both plural nouns could easily be confused for the singular form, and when I was typing the above, I in fact mixed it up on items.
I think the advantage of lat/long and plus codes is that they are more obscure. They don't make the odd promise of being memorable.
With W3W codes, are we supposed to remember more than one of these? I know the addresses of my parents and a few friends, but rely on mechanical storage for all others. I understand the advantage of having a more universal way of identifying precise locations, but don't see cute password-like names as a helpful solution to that.
Let computers do what computers do well. which is store and quickly serve up inscrutable bits of information.
A delightful and no doubt unintentional example of a problem very similar to what you're talking about!
The code is made up of 3 Geonames, with the first Geoname being the most prominent location name in relation to actual geography, for eg:
The 140k Geonames have a phonetic distance of at least 1 from each other. Support for elevation and an app with voice geocoding is coming soon.
The system picks very unusual names. For example STOCARDA-KRRABA-SIPLA is in Germany, but doesn't use the German name of the city. (For those wondering, Stocarda means Stuttgart in Venetian according to Wikipedia.) That makes it harder to use for locals and can hurt the feelings of people in some regions. Also using cities of other countries can cause controversial codes, especially for young and or small countries.
3geonames has to use a language for each name. This makes it hard for people who don't speak that language to pronounce the words.
The 3geonames website describes the basic principles but there's no detailed description on how to build those codes besides (a somewhat hard to read) Perl script. For example, the documentation does not explain what encoding is used exactly.
The documentation is quite sparse, I agree. I hope to find some time to deal with that also.
Also, it looks right up there with Swatch Internet Time.
This other thing seems more opportunistic / financially motivated / kinda scummy too.
I also wonder about the Streisand Effect here, never heard of it until now. This almost seems like standards geek / nerd bait...
It's supposedly beneficial when trying to locate a particular person. They can just send you their W3W, the car can read it off the SMS, and automatically provide routing.
I have not used the capability, but explored it when I first got the car since I had never heard of W3W.
And why three words? You only need two, unless you're coding altitude. And damn, you already have two numbers (angles) with arbitrary precision.
And how does one calculate great-circle distances using their silly words?
If you are using 2 angles, I guess the place to start is with the circumference of the earth, which is 40 million meters. So to get within a meter, you then need to encode your angle with enough precision to indicate a single one of the 40 million possibilities.
And what's magic about one meter? Latitude and longitude can be arbitrarily precise. But whatever. You want 40 million? Well, 360 degrees / 40 million ~ 10^-5. That's easily handled by "43.63872, -116.24135".
- Circumference of earth = 40,075 km
- Granularity needed = 3 meters
- Number of common words in dictionary (generous) = 60,000
- Number of bits needed for single axis = log((40075 km)/(3 meters))/log(2) = 24 bits
- Number of bits needed for two axis = 48 bits
- Number of bits given by a single word = log(60000)/log(2) = 15.8
- Number of words required for two axis = ceil(48/15.8) = 3
Also, keep in mind, 60,000 words is generous; this many words would probably include lots of archaisms. For comparison, 1password uses 18,000 words in its dictionary. You could probably shave off some bits by getting rid of slices from the north/south poles. You might also save space by ignoring parts of the ocean, but then it starts getting non-trivial.
If you want to make gibberish word like objects it's probably possible.
If they were always the same two (or three) words, fine.
But if there are multiple such encoding systems, any set of three words (foo.bar.baz) is ambiguous. Because it depends on the system being used.
So sure, someone might remember "foo.bar.baz". But "foo.bar.baz" in W3W might be in SF. But in Hanoi by some other system.
And then we get to the need to pay W3W to generate those codes. That's crazy bullshit.
And because it's pairs are increasing in area, I can state that I live in IO93 and it narrows it to:
or I could give the next 2 characters to narrow it to a 1km x 1km (roughly) area that covers my town, or the 2 letters and 2 numbers that give a small area that pinpoints 2-3 houses on my street.
It's not really any more complex or hard to remember than a standard postal code or zip code.
Sorry, I just don't get the point. Implementing a bunch of proprietary location-encoding schemes is just insane. I do see the profit motive, obviously. But I can only hope that people will avoid using stuff like this.
Maybe if it were totally open-source. And if it were implemented by some recognized international entity. Maybe some part of the UN.
It converts geographic positions into short strings of characters, but notably, a truncated string still points to the same location, just less precisely.
For example, the ferry building in San Francisco is CM87TT20, but CM87TT is a larger square that encompasses Treasure Island as well, and CM87 is most of the bay area.
Although it looks like CM87tt20 only gets you within a km or so, does CM87tt20aa get you down to a building?
Second, a nit: "Their grid is static, so any tectonic activity means your W3W changes.".
Not "any tectonic activity" but the rare tectonic activity that keeps your house number the same but changes your long/lat.
Third, another nit: "Numbers are fairly universal. Lots of countries use 0-9. English words are not universal. How does W3W deal with this?"
They don't have to? Domain names are not universal either (even when they added unicode after tons of years it has near zero adoption, plus implementation issues in many browsers/client libs. Heck still today Chrome shows the Poopla domain as mere punycode: https://xn--ls8h.la/)
>Or ///klartext.bestückt.vermuten - "cleartext stocked suspect"?
That's "suspect" in the sense of "guess" (as a verb), not in the sense of a criminal suspect. (And "stocked" like a store shelf would be)
I'd call this example entirely benign.
For those who don't know, w3w simply encodes locations to 3 words using an algorithm that translates coordinates into what is probably a quad tree path (e.g. geohash) and breaks that into 3 chunks that get mapped to words. The proprietary part is the algorithm and the mapping of words to these chunks (mappings actually since they have them in several languages). Probably you could reverse engineer the algorithm but then you run into the little problem that the mapping is likely copyrighted, some patents may apply, etc.
There are some nice touches to the algorithm like e.g. associating shorter/common words with the most relevant locations so that if you are German speaking, the German version of the algorithm generates short codes inside Germany and longer ones on the other side of the planet.
A couple of issues with w3w: the codes are not hierarchical. So you can't rely on e.g. the first word denoting a bigger location; the second word denoting locations inside that area, etc. Consequently, two almost identical locations will have completely different words associated with them. So you can't at a glance tell where any combination of words is unless you run the algorithm. They are easy to remember but meaningless.
Open location codes and Geohashes are similar except they don't provide easy to remember human readable codes, which is the reason why neither is commonly used by consumers. However, I've always liked geohashes because things with the same prefix are in the same place, which is awesome if you need to build search engines (though more efficient ways of doing that are available). With 7 or 8 letters you get pretty good accuracy with those and the algorithm for encoding and decoding is pretty simple. OLC is similar but stays closer to the degrees/minuts/seconds notion. Also the codes are longer.
That, in itself, renders them hopelessly confusing.
I mean, imagine a domain name system like that. There'd be no domains and subdomains. Just a bunch of random names.
Would you mind expanding on that? This topic piqued my interest because I've recently found myself using Geohashes to lookup nearby objects and I'm wondering if there's something better that I should be doing.
I actually implemented search using simple geohashes indexed as terms back in the day. It works but this is way better.
For instance, based on advertising from the ACS (American Chemical Society, the largest scientific organization in the world by membership), you would expect they are advocates of collaboration among chemists. In reality they will sue anyone that tries to store or distribute their standard for chemical identifier numbers (CAS#).
While it might initially seem a bit easier to remember words vs numbers, W3W is a non-solution in many ways, many nicely described in the article.
Most critically, the W3W indicators have zero relation to actual geography. Adjacent locations have entirely different quasi-random identifiers -- there is no progressive gradation, and no indication whether two locations are adjacent or on different continents.
It does not scale, and leaves us completely dependent on a data connection and their servers to navigate.
There is also no way to figure it out from known principles. The entire system has many points of failure. With a street address, I can know which way to from seeing a couple of existing addresses; W3W - no way, need a data connection.
With Lat-Long I immediately know what part of the world I'm in, and what direction I need to move to move to get closer to my target. A GPS unit, or a simple compass and map will work great. W3W -- zero clues, and need a data connection to them.
Horrible, non-scalable, non-solution looking for a problem.
Massive marketing attempting to overcome bad technology.
Then instead of sending them a shortened link to something, you just put the link on your page and tell them there's a new link for them there.
That would also make it easy for students who want to go back and review older links you sent. Instead of digging through prior announcements to find the right one, they could just go to your links page.
I hope you will look at "Oh By Codes":
There's a normal FAQ on the page, but also an "HN FAQ":
At least .beats had the excuse of being a marketing gimmick, or so I assume. No one really thought millidays-since-midnight-GMT was a reasonable alternative to time-zones or just UTC time, right?
What is the problem that W3W is intended to solve? The idea is that I'll describe a location via W3W coordinates rather than by address (or lat/lon)?
I suspect some large company or consortium like OGC will eventually build something similar using a geographic coordinate system like WGS84 instead of Mercator, and release it as an open database (perhaps with an open API and an open-source reference implementation). At that point W3W would only continue operating because of vendor lock-in to their proprietary named grid cell database.
(Disclaimer: Opinions are my own. I don't speak for my employer.)
Latitude and longitude can be used without an internet connection if you can get a GPS signal.
If you're a boy scout or doomsday prepper or 1800s explorer who fell through a wormhole, and have a bit of time, you can use the sun, stars and a makeshift compass to get a good ballpark.
It's a system which only requires you and your counterpart to both accept the contract of the coordinate system.
As many others here have pointed out fuzzy.enlarged.testicles doesn't mean anything unless we both have access to W3W, and then the directions which come from me needing to get from hairy.baked.potato to you at fuzzy.enlarged.testicles uses GPS. Because giving someone a print out of all the W3W plots they need to pass through is useless, because those phrases don't mean anything, because the system isn't contiguous or addressable.
It'd be like every house on a street having a different, non-contiguous number, different name and different postal code (134 wallaby 53217 next to 5678 futon 44444). Or for the Londoners, if the postal districts didn't increase as you moved outward.
It's a bad design with too many assumptions.
They proposed cuteness like this:
Default Brand Name (short for "default cell server brand name"):
the special brand name, such as "mercury," "venus," "earth," "moon," "mars," that denotes the default GeoRegistry for a planet. Other cell server brand names always refer to the planet Earth.
I get that this Three Words thing might not be perfect, but a lot of the criticisms in the posting are nonsense. The furthest anything moved in the Japan earthquake was around 2.5 meters. Why act like this is some kind of deal breaker? If you had used latitude and longitude it would still be wrong by 2.5 meters if you didn't update it after the quake.
Some people had an idea, built it out, and everyone here is losing their minds, I don't get it?