335 comments

[ 3.3 ms ] story [ 278 ms ] thread
There are plenty of alternatives to W3W, most notably Open Location Codes: https://en.wikipedia.org/wiki/Open_Location_Code

Alternatively, try a W3W parody:

https://what3emojis.com/

http://www.what3fucks.com (NSFW text)

The emojis one have the nice property that close addresses share some words.
As usual, the parody is strictly superior to the original.
And the emoji one will work across languages.
(comment deleted)
Has anyone else tried to look up a location, find the emoji(s) for it and then put the text for it back into the search bar? It seems to not do reverse lookup, making it completely useless as far as I can tell. You can find the emoji(s) for a place, but not a place that corresponds to the emojis.
Maybe that's a feature?

;)

I did think about posting my location for all the world to see, knowing that it wouldn't tell anyone anything at all.

But then I thought "Maybe I just can't figure it out and other people can."

Thus the question. :P

It definitely isn't a feature! We just never got around to putting it in!

I do take pull requests :D

So does the other one.
That "ship to" emoji address photo is hilarious.
what3emojis seems a better idea in the way that at least you are not bound by language. You can describe and remember the emojis as you want. As long as you can convey them precisely.
And when has anyone ever had trouble with that? ;-)
I looked up my old apartment on what3fucks - "dickhead pollock cheeky gayass" - which is surprisingly fitting
I'd really love to hear the explanation for the "pollock" part ;)
(comment deleted)
I’ve assisted to a speech/demonstration by an employee in my lab and while the system was nice in principe the non-openess and internationalization let me a meh impression. It is used in Mongolia by the country post so it addresses a real problem but concerns rising in the blog post are real.
I had never heard of this until I read the criticism, maybe this is some kind of corollary to the Streisand Effect.

Also, it looks right up there with Swatch Internet Time.

I thought of Swatch Internet Time too ... Swatch Internet Time was pretty silly, although I appreciated it for that.

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...

I have a hard time believing that W3W isn't an early April Fools joke. I mean, seriously?

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?

The 3 words are because 2 words doesn't give you enough bits of enumerated data. The words aren't to be thought of as X,Y,Z, they're just 3 blobs of bits, where each word represents something like a 0-200,000 range or something.
Huh? Maybe not two short words. But clearly, two numbers can be represented by two words.
Are you talking about existing English words? I'm not sure there are enough longer words for this to be possible, depending on the range of numbers being encoded.
No, I wasn't.

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.

How many bits do you think it takes to precisely indicate a location on the surface of the earth?

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.

Ummm. That's what latitude and longitude are. Angles. Or equivalently, radians.

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".

Yes, it seemed you were arguing those two numbers could easily be encoded using existing words.

If you want to make gibberish word like objects it's probably possible.

But what's the point of that?

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.

Yes, W3W is stupid, but each address is a pointer to lots o bits.
TBF The maidenhead system (which is a worldwide standard) IS, IMO fairly easy to remember.

And because it's pairs are increasing in area, I can state that I live in IO93 and it narrows it to:

https://www.karhukoti.com/maidenhead-grid-square-locator/?gr...

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.

Now that sounds like a very useful system. It's hierarchical. With arbitrary precision. With ~short, easy to remember (and easy to key/speak on radio) codes. Nice.
Words in one language are very often ~gibberish words in other languages. And worse, because of false homonyms. And people with heavy accents.
Here's why you'd need three words:

- 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.

The only reason I had heard of it was because my car has it built into the navigation system. So, I can enter a W3W coordinate and my car will appropriately route me.

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.

There is another big problem with W3W that Terence doesn’t mention: it isn’t scalar.

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.”

I don't see the relevance of that complaint. People don't memorize their current lat long to 16 sig figs either. You'd still need a gps device or a paper map without w3w.
I think the point is that ringleader.kilt.comedians and since.duplicated.backswing have no relation at all to each other, and don't communicate to the user their spatial relationship. On the other hand, you could infer that 1234 W Something Rd is nearby 1238 W Something Rd.

EDIT: Also, given a set of lat/long coordinates, regardless of the precision, you could infer their spatial relationship as well.

"you could infer that 1234 W Something Rd is nearby 1238 W Something Rd."

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.

Don't throw the baby out with the bathwater here. Being able to naively navigate city -> street -> number is incredibly useful, and that it is occasionally broken doesn't make it an undesirable feature.
It's more than occasionally broken, there's billions of people living in spots where it doesn't work.
Billions? You've found navigation by street number to be unreliable in 20+ % of locations?

Either way, it does work for several billion other people.

I haven't personally found it to be the case, but I do know that people in much of the developing world simply don't have/use street addresses like are common in the "West".
Just because you use a system like W3W or even just lat/long for a rural address in a developing country, doesn't really mean you will easily be able to navigate to it. Many rural roads don't have names/numbers and may not even be marked on mapping software. Navigating to these kinds of places takes local knowledge (or at least a GPS, a recent topo map, and careful planning) to get to.
That's why an address consists of more than a street name and a number. It includes town, province/state, postal code, and country. When given two actual complete addresses, it is indeed possible to infer relative distance with reasonable accuracy, exceptions notwithstanding. (And I live near St Paul Minnesota!)

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.

Yea, in LL, 1 second of arc at the equator is about 101 feet or 31 meters which means it's pretty easy to figure out relative coordinates, particularly N/S. Even UTM/MGRS is better in this respect.
That UTM/MGRS even exits seems to be lost on most pitching W3W.

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.

https://en.wikipedia.org/wiki/Earth%27s_circumference#Histor...

I believe the point is that W3W have no relationship between each other - which is probably inherent, as I assume it's a hash of some kind. You can't do anything meaningful with two W3W addresses, even though they may be literally adjacent to each other.

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.)

With lat/long, you don't need GPS, a paper map is surprisingly effective -- and, in what is the point here, with a paper map (or GPS), you don't need a link to What Three Words' servers. There isn't a good use case for a mnemonic for lat/long that loses the latter's spatial-relationship information.
Above all, the weird thing about W3W has always been that if you have the device to do the lookup, you have the device to exchange and store long and not particularly memorable strings of numbers...
If, by w3w you mean gps-capable device. Like a phone. Which can give you those digits. And if connected to the internet to query w3w's database, can send your precise location.

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."

How does Google's Plus codes fair in comparison with W3W? It's apparently open-source: https://plus.codes/developers
Here's a link to a Wiki page, in the repo for Open Location Code (prior name for Plus Codes), where they compare it against numerous location encoding systems including W3W.

https://github.com/google/open-location-code/wiki/Evaluation...

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.

This is my main complaint I can intuitively know, using rules of thumb, if a lat lon is within 100 miles, on this hemisphere, etc.

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.

> 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.

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...

Our startup offers a geohash phrase that is hierarchical in nature. You can find the docs at: qalocate.bamsaas.com/whitepapers
> Here's the thing... If the person's phone has a data connection - the web page can just send the geolocation directly back to the emergency services!

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.

https://en.wikipedia.org/wiki/Advanced_Mobile_Location

(comment deleted)
Does anyone have a list of patents What3Words has?

Regardless, this service solves a problem that does not exist whatsoever. My guess is they will go out of business in a few years.

It does exist in developing nations, where street names change very quickly and are not very reliable (and the rusty government can't keep up with the quick development). First hand experience, Vietnam - I currently live in a street that wasn't there a year ago and isn't in Google Maps. If you put it into Google, it will send you to another place, 200 meters away. (They are getting better fast, compared to Apple Maps for example which suck hilariously, but still isn't perfect.)

You can share a long/lat, or a link to Google Maps, but that's hard to write down.

So it's a problem.

W3W doesn't solve that problem in a way that makes any sense. Things like Plus Codes do
Why don't you just make an open alternative is this is so disconcerting to you?
(comment deleted)
Sure downvote me for asking you to be accountable for your dispositions.
Here's the thing 'if you have problems with it build your own' is a useless response. Anyone can totally point out issues with a thing without knowing how to fix them (especially if the concept is fundamentally flawed). Expecting people to go out and found a whole standard/business every time they make a blog post about the problems with something is ridiculous.
And further, just because you find something to be harmful doesn't mean you have any motivation to replace or fix it. I don't like Facebook, but I certainly don't have any interest in writing my own open sourced Facebook.
We're a community of builders, makers, and entrepreneurs. If we aren't here to fix the issues we see in the world, what are we doing? All I'm saying is if OP truly feels the way they do, they should try to be the change they wish to see in the world. Especially since what w3w is doing isn't technically complicated.
I have lots of complains about the world, and only so many hours in the day.
Then call others to the cause. Be constructive. Don't just complain, as that provides no value.
It does provide a value. If people are dissatisfied with something, it gives someone an opportunity to do better. If everyone accepts subpar quality, why bother making something high quality?

Makers need consumers with the ability to appreciate their product. Complaining together with others is a way of sharpening your and others ability to appreciate something good when it comes along.

We're both advocating for action here.
> .@what3words is bad technical idea

> ethically terrible too.

I don't understand how someone would hold this tweet up as anything but an echo of their own opinion. There's nothing technically or ethically wrong with the product, despite a few pages of rambling about what they think is right or wrong, morally.

It could have easily been designed to work both offline or online. But it only works online. That's a bad technical idea.

And "open washing" is ethically terrible. So is patenting an idea that takes a weekend to code. So is pushing an unnecessarily expensive system onto vulnerable third-world countries that need a solution to their addressing/geolookup problems.

So yeah. Terrible.

> But it only works online. That's a bad technical idea.

That's an opinion. Starcraft 2 is online only. That's not a technical idea that a player can rationalize, it's a business oriented technical solution.

> And "open washing" is ethically terrible. > So is patenting an idea that takes a weekend to code

These are based on what rationale, other than your personal preference?

SMH

Not OP, but I'd expect that it is because W3W is a basically a marketing campaign for a technology that doesn't actually solve a problem

(or, more precisely, solves one corner of a problem while destroying many much broader solutions)

Creating a knock-off that solves the OS problems still fails to recover from the broader problems that the W3W 'solution' provides zero ability to actually navigate without a continuous link to their server. A knock-off with better OS cred would still fail the same way.

OP reads as if their main issue is the lack of inherent openness. All I'm saying is make an open alternative if is really so bothering to OP.
Yes, I agree that the article spends waay too much print on the lack of openness, and too little on the fact that W3W is just a bad idea that solves nothing.

So, yes, if that was his only problem, he should definitely organize an open version. (it'd just be a bit less pointless)

BTW, did you see this? Somebody posted it above and it is hilarious - especially the Vision, Facts, etc pages...

http://www.what3fucks.com/

There are already alternatives to getting people to not use W3W is the whole goal.
Google maps now includes plus codes which are open so I don't think W3W stands a chance anyway. Not should they. It's an idea you can implement in half an hour. It doesn't need to be a commercial business.
I'd still rather remember/type/say three words than something like 5P56+4Q. I'm really surprised that no one thinks pronounciability has value.
Words do have value, but what W3W takes away from you (money!) has more value.
It's free for everything I need as an end user AFAICT. How does it take away money?
Apparently they charge for API usage. If it became popular you would be paying for it (indirectly).
w3w has been around for a few years, and it hasn't caught on, so it's fair to say it's pretty much just a zombie of an idea now.
"superficially simple solution to a complex problems" --- Exactly this

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.

Our office location had a square named: [boom,bedroom,gagging]
I guess that's exactly what they are after: funny (or otherwise "engaging") three word combinations that are: (a) easy to remember, and (b) promote their service. - the default square when looking up the town i live in is leber.abhilfe.schnell (german), translated "liver, relief, quick", so maybe that's what their algorithm is optimized for?

Either way, the whole system seems pretty stupid: why 3x3m (way to high res for normal street addresses, much to coarse for anything else)? what is the problem supposed to be that W3W wants to solve? I sure dont see it...

location data is usually not shared verbally but sent via some kind of text medium - you just send GPS-coordinates from another (map-)app directly through your email/messaging-app. seems simple enough.

>location data is usually not shared verbally but sent via some kind of text medium - you just send GPS-coordinates from another (map-)app directly through your email/messaging-app. seems simple enough.

So in one setting I have to email myself a link to get the map on another device. In the other I just type three words from one screen into my phone.

I wonder which one's more convenient.

you could scan a QR code from your phone
That also seems more effort than typing three words to me TBH, but I guess there YMMV
I've built an open source alternative, 3geonames.org.

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: https://3geonames.org/LONDON-ISUKI-LIPNITA .

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.

Interesting. Tried the middle of Manchester and it gave me a location starting with Leeds: https://3geonames.org/LEEDS-RAGI-USANA
That's because a) Polygons are quite large (over 20k square kilometres) b) Manchester is a long name (I limit geoname length whenever possible), c) Manchester is possibly similar sounding to another big city name.
(comment deleted)
A few weeks ago, I hoped 3geonames could become a standard. But it has some painful limitations:

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.

A new version will address the issue of local names. It will also solve the problem of crossing national boundaries via the integration of OSM admin{} polygons. And add support for elevation up to +-18000 meters.

The documentation is quite sparse, I agree. I hope to find some time to deal with that also.

That -apart from being a brilliant idea- seems to be easy to replicate in open source software. Replicate not in being compatible but as a different system altogether. Or has that already happened?
Yes. I've built one of them. https://3geonames.org . Open source. Works offline. No database is needed. Based on geonames.org.

I also know of at least 2 other open source alternatives (what3ducks and what3fucks).

It's weird that I'd never heard of this before, but there seems to be a vibrant community of parodies.
I think it is an important problem since it has gotten the attention that it has.
The added value here seems to be the curated, per-language word list. You'd have to be careful with homophones, they say that they use simpler, more common words for populated locations (and locations where the target language is more used) etc...

After playing a bit with their interface I can't really tell if they're successful but it does seem like it would be relatively complicated to come up with such a word list in many languages. That being said, it could probably be crowdsourced.

W3w was a pretty nice idea and I know some people that have been involved with the company. However, it is indeed not open. It's also VC funded which means that openness is incompatible with making money for them. Which means that most of its potential is lost or off limits unless you are a paying customer. They have a few of those and have had some success doing deals with postal services in countries that lack formal addresses or for use cases where formal addresses are not that useful, like e.g. logistics or big public venues like airports. But the closed nature of this of course holds back most of the interesting use-cases.

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.

>(though more efficient ways of doing that are available)

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.

lucene used to have a geohash backed way of doing location search. They since switched to quadtrees that are binary encoded and added adding custom encoders to lucene for supporting this in recent versions.

I actually implemented search using simple geohashes indexed as terms back in the day. It works but this is way better.

> the codes are not hierarchical.

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.

This idea of mapping words over an information space seems to be floating about quite a bit in recent years. I was inspired by the XKCD about the superiority of passphrases (Correct Horse Battery Staple) and have thought of a handful of other applications that are more relevant than GPS location for word mapping. It's the wrong application of a generally great (but not novel) idea.
One clarification, as a native german speaker:

>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.

(comment deleted)
I inherited a property management system where previous developers used what3words for storing location of homes (since reverse geocoding based on address is not reliable in some countries we support).

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.

...in which we learn that the previous developers hated everyone.
I imagine that a single digit typo in latitude could also result in a valid location on the other side of the world
But bounds checking is a lot simpler.
Sure, but none of the numbers are homophones or even particularly easy to confuse (in English, anyway) when giving a location verbally. W3W marketing claims none of their words are either, but the evidence suggests otherwise...

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

This is true, but the structure of the number itself carries a connotation to the reader to pay extra attention to their accuracy.

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.

Idea: phones could have a feature to send your location as a series of DTMF tones. If standardized, that would be great for any service that needs your location.
W3W suffers horribly from "call for price". You won't catch Google or Amazon making you call and talk to a human being (on GMT time no less) before figuring out if you can afford their service.

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.

So your solution won't result in "coordinates" easily memorized by humans or easily translated to the very vast majority of map implementations?
Not sure how you got that from what I typed.

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?

Perhaps an example would have helped. With numeric coordinates relative orientation is fairly intuitive. It's simple arithmetic. How does your proposed system replicate that?
He's selling snake oil. For being "open" he has no examples. No previous talk of this in his profile.
Because, from what you've described, it sounds like your system will look like base64-encoded coordinates. Ie 39.022874, 21.913384 will be IJASDO, which isn't as easy to memorize as W3W.
Not base64, but similar.

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.

> I think "IJASDO" would be way easier to memorize than person.guards.gangs

Completely disagree. No way 6 arbitrary letters is easier to remember than 3 arbitrary words.

Random letters are objectively much harder to memorize. 6 letters is essentially 6 words with one syllable each. W3w approach is only 3 syllables and much quicker to say. You would also have less issues where a pause is required. Like JA vs J ... A to keep this letters from sounding like one.
(comment deleted)
Would you mind to share a github or its still private wip ?
github.com/mchannon/hashsite
> 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.

> 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 :)

Contact me: greg at the domain qbix.com

We are currently using geohash and curious why it’s worse than this.

Geohash is easily the best system currently out there.

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.

>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.

89c25855b9b

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!

Geohash does not provide a one-to-one mapping. Geohashes "u150gxv4" and "u150gxv5" and others, decode to (50.8,4.38).

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.

Does it account for geological drifting? This is probably the most important social issue with these kind of systems.
Not OOTB, but I would imagine that any geocoding system could include a suffix, like "(1987)", to know which dataset to use, so as long as there was a server providing accurate geocoding for a particular point in time.

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.

The formula might not be elegant, but if you have an exact description of tectonic drift, you can absolutely have a code that refers to a fixed location on its plate, rather than to a point on some imaginary sphere.

GPS coordinates are just one possible solution, there's no reason to consider equivalent encodings of the same values as the only alternatives.

> The formula might not be elegant, but if you have an exact description of tectonic drift, you can absolutely have a code that refers to a fixed location on its plate, rather than to a point on some imaginary sphere.

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)?

(1) By measuring the location of a few designated landmarks, it should be possible to extrapolate tectonic-level shifts to all other points on the same plate pretty accurately.

(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.)

> By measuring the location of a few designated landmarks, it should be possible to extrapolate tectonic-level shifts to all other points on the same plate pretty accurately.

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.

(comment deleted)
Fully accurately, you'll only be able to get retrospective locations (and probably some interpolation thereof), for pretty much the same reason that I can't actually tell you for sure exactly how many seconds the next decade is going to have. We won't know how many leap seconds it has until it is over, or the standards body commits to including no more. But I can tell you exactly how many seconds there were in 2000-2009 inclusive.
Geographers already have a system for recording positions relative to continental plates - in Europe that means ETRS89 [1], North American NAD-83 [2], Australian GDA94 and so on.

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.

[1] https://en.wikipedia.org/wiki/European_Terrestrial_Reference... [2] https://en.wikipedia.org/wiki/North_American_Datum

...Which defeats the "simple" in 3-words pitch.

"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."

> 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.

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.

The "Z" dimension is something I've been planning on having as part of the system as well.

Since people appreciate height from street level differently than raw altitude, both will be accommodated in my system.

Interesting idea. How do you plan to implement Z and up to what height/depth?
You have to call Google for Analytics pricing when you outgrow the free tier. And no, we could not afford it.
But at least they tell you that it starts at $150K/year so you know right off the bat if it's even in your ballpark. A lot of SaaS products completely hide thier pricing entirely. I have zero interest in sitting through some sales-bro's phone pitch before I know if I'm even in the right pricing bracket. Nothing like sitting through an hour long preso only to find out afterwards something is 10x what you were looking to spend.
Do they now? They certainly didn't at the time a few years ago.

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.

(comment deleted)
Back in the day you you didn't have to pay if you ran a Google Ads campaign. There was no minimum spend. If you ran a monthly AdWords campaign for $1/mo you got free GA no matter what your traffic level was.

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.

To be fair, W3W is already "spheroid-optimized", in that the named squares are quite close to 10'x10' both at the equator and poles. There are grid "skips" (see one here [1]) every so often to keep all of the squares close to the same size.

[1] https://gis.stackexchange.com/a/195696

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?

WTF?

"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.

Why? You would lose the ability to disambiguate in the way I described. The words aren't coordinates, they're the result of a hash function.
The non-proximity of W3W locations with similar identifiers is intentional; it's meant as an easy way to perform error checking. The concept is that you state your location, and if you state it wrong, or the other person gets it wrong, the mistake will be obvious because the small change to the identifier results in a location extremely distant from you.

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.)

OK, I see that.

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.

The data files you need to store are fairly small. The bigger problem is people who have done their own imple tstion got threatening legal letters.
Minor nitpick: URLs do tend to be used with the larger scope first (i.e. /resource/child/subchild). Domain names are the odd exception.
HTTP paths are not conceptually hierarchical at all; they're opaque strings.

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?

That's a fair point. But the fact is that people do tend to set them up as hierarchies.

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.

While they're not conceptually hierarchical, it's not fair to say that they are opaque strings either. "////" is not a valid HTTP 1.1 path, for example, and "" means "/"
This is a feature not a bug.

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: https://patentscope.wipo.int/search/docs2/pct/WO2014170646/p...

OK. But you need the W3W API to do that. Just by looking at two identifiers, without that, you'd have no clue about where they are.
Of course it has "call for price." Look at their team page. There are over 100 people listed. That is absolutely insane for a product of this simplicity. The VCs are clearly making them burn through cash as fast as possible so they can own everything.
this is way off topic but try buying Google Marketing Cloud services. you have to fill out a 'talk to sales' form, no one ever calls you back, and if you call/chat with any other type of support they have zero idea who to connect you to.

Google is not exempt from this type of behavior, unfortunately.

(comment deleted)
What benefit do you have over Plus Codes (https://plus.codes/)? I only learned about them from this thread, but they seem to solve the problem quite well, and there's no premium component.
Plus Codes have little application outside building addressing. 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.

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.

8GC2CMXR+X63 is a global plus code with 3x3m precision.
I'm no expert but regarding your question on precision: afaik the longer the plus code is, the more precise it gets
> Mine just happens to be a slightly improved approach, and slightly less full of drawbacks than everybody else's.

Honest opinion: it is not. Plus codes is the one that has least drawbacks and most advantages.

I have a real problem with people giving dishonest opinions, so good on you.

But seriously, you haven't seen it yet. Ever read Green Eggs and Ham?

TL;DR: see [3] for an overview of how plus codes work.

-----------------

>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[1]:

>>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[1]. 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[1] 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[2].

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.

[1]https://github.com/google/open-location-code/blob/master/doc...

[2]https://plus.codes/map

[3]https://plus.codes/howitworks

>So why would you tell me that? Either include the city, or use a longer plus code that includes the city.

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.

>Or I could just use a system that doesn't have that drawback.

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.

It is actually a form of "foot in the door" https://en.wikipedia.org/wiki/Foot-in-the-door_technique.

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.

Not a marketing person, but there also has to be value in the lowest possible bar to begin participating, and then a higher one later to increase engagement with public price menus. "Call now for sales pitch" is not that: it means secret deals and whatever they can haggle out of you.

Look, even this dinosaur got it right: https://azure.microsoft.com/en-us/pricing/details/api-manage...

You are absolutely right, there is actually a whole panel of different techniques that aim at getting you accept offers you would not accept straight on.

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.

TBH though:

- 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.

"The Mercator projection is often held to be an imperialist distortion of the globe, and that's what traditional latitudes and longitudes use." There is a difference between a projected coordinate system (like Mercator) and geographic coordinate systems. In Mercator you use projected Mercator-Meters not Latitude and Longitude. All you need to know for local R² (2D Euclidean) estimates, is that longitudes scale with cos(latitude), that's it. How does your system handle 89°N 0°W, and 89°N, 180°W ? Does it infer 222km or 346km? If it's the latter, it's not spherical as in S².

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 ;)

I thought this was a wink and a nod to just using standard latitude/longitude. Doesn't lat/long naturally solve each of your bullet points?

•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.

Sounds cool, but W3W solves a few different problems. It's got to sound natural, be easy to recognize by various voice systems, and easy to communicate between people.

"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.

You should check out what we're working on at qalocate.bamsaas.com/whitepapers/. Even an improvement on W3W is still going to be rather limited and only address part of the problem. We're trying to provide solutions for the entire space.
Your first four points basically describe lat/lon. But it is hard for humans to parse long characters/numbers. And it's even more difficult to speak random characters. E.g. "B" "b" "be" "bee" are all spoken the same. That's why we use something like the NATO Phonetic Alphabet.
Mostly off topic: I would like a URL shortener that uses a similar system so that instead of giving me small.url/b3DmQ it would be small.url/MouseHatDoor because I will sometimes share a link with my students and there is always one student who can't get it to work because they type it wrong or something. I can send them the link through a course announcement but it is more convenient to put a short url on screen and have them go there.
Might it be easier to have a web page that has a chronological or reverse chronological clickable list of links you want to give your students?

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.

http://yellkey.com is designed for exactly this use case, and is near-exact clone of the now defunct http://shoutkey.com that was prevalent at our school for this. It provides single-word short URLs that expire after 24 hours, which is fine in practice for any in-person use case.
nice. I have looked for url shorteners but didn't find this one. thanks!
bit.ly generates a random string by default but will let you override it with the wording of your choice (as long as it's available).
I will do that if I plan ahead but often I will generate it on the spot so I don't bother since bit.ly wants you to log in to customize urls.
bitly lets you make custom URLs, even if you're not a paid customer. You can make them anything you want, so long as it hasn't been taken already.
I do that if I plan it ahead. However, sometimes it is more of a on the moment thing. Thanks though.
The NATO alphabet is worth learning for just these situations.
Probably not. First of all, "bravo tree uppercase delta mike uppercase quebec" isn't as memorable as "mouse hat door". Further, the NATO alphabet works because both the speaker and the listener understand what's coming. If the listener isn't familiar, then the speaker often needs to revert to "s as in sierra, k as in kilo, y as in yankee"—which tends to cause even more confusion as the listener then needs to parse the (intentionally) unusual set of words.
"I can send them the link through a course announcement but it is more convenient to put a short url on screen and have them go there."

I hope you will look at "Oh By Codes":

https://0x.co/

Standard URL shortening (although with no tracking or cookies or javascript) but you can also shorten non-urls.

There's a normal FAQ on the page, but also an "HN FAQ":

https://0x.co/hnfaq.html

This strategy of for-profit companies masquerading as open-source advocates is really common in science as well.

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#).