
Plus codes: addresses for everyone - fs111
https://plus.codes/
======
crazygringo
I've never been clear on what plus codes are _for_... or if anyone is adopting
them.

Wikipedia says:

> _Open Location Codes are a way of encoding location into a form that is
> easier to use than showing coordinates in the usual form of latitude and
> longitude. They are designed to be used like street addresses, and may be
> especially useful in places where there is no formal system to identify
> buildings, such as street names, house numbers, and post codes._

They don't seem all that much more useful than lat/lon for
displaying/copying/pasting...

But for replacing addresses, there's no obvious 1-1 correspondance between a
plus code and a building. A large building may span 20 or more plus codes, so
which one would you use? Multiple homes might lie in the same one. Another
house might be halfway in one and halfway in another. Even the front door can
be right on the boundary.

Is there anywhere in the world where it's used for postal delivery, or
anything practical at all?

~~~
evv
The purpose of pulse codes are explained on the very first line of the linked
page. (emphasis mine)

> A plus code is like a street address _for people or places that don 't have
> one._

Not everybody has a stable living situation at a building with a fixed
address. Yet it's extremely important for people to be able to receive mail or
packages, especially for people attempting to lift themselves out of poverty.

This system doesn't look like a replacement to the existing address system,
they can both be used. But as you point out, it won't matter much until people
start to adopt this as a standard.

~~~
Aeolun
It won’t be adopted as a standard until it’s reasonably usable. Right now it
clearly isn’t. You can’t just drop off a package or a letter somewhere within
the square.

~~~
kiriakasis
If you live in the countryside with few or none street addresses and a really
low population density (like a really big part of the african population) then
you can.

~~~
crazygringo
But then I assume the postal service doesn't deliver to you anyways, and
you're the one who goes to your local post office every few days to pick up
mail and packages?

Just because you have coordinates doesn't mean it's suddenly cost-effective
for the post office to deliver.

------
ReverseCold
Another similar service (that I like better) is what3words. Unfortunately
that's patented/proprietary, so no one will ever use it.

Basically it splits the world into small squares, each defined by 3 common
English words. Very easy to remember.

[https://patents.google.com/patent/CA2909524A1](https://patents.google.com/patent/CA2909524A1)

~~~
myself248
> patented/proprietary, so no one will ever use it.

Actually, that means there's a bunch of money behind it, bribing carmakers to
include it in their nav systems, etc.

It's still shit, but it'll be ubiquitous shit.

~~~
mtmail
And Daimler was also bribed into becoming an investor in what3words? Maybe
Daimler looked at the various options and chose the one best for marketing
(best to convince end users, press, investors what it is). Easier to add
celebrities and puns in ads similar to Apple Siri ads
[https://vimeo.com/250456705](https://vimeo.com/250456705)

------
lifthrasiir
In the HN people always complain that geocode systems are hard to remember
and/or write and praise "readable" or "memorable" systems like what3words. I'm
of course a strong opponent to what3words for various grounds, but more
importantly geocode systems do not necessarily have to be human-friendly.

I think geocodes should be compared to ZIP codes, not something else. They
both mainly act as a machine-readable version of (approximated or more
accurate) human-readable addresses. No one complain about ZIP (or ZIP+4) codes
being numeral. They do not, nor can't, _replace_ human-readable addresses---
even the most accurate geocodes will require a room number or a PO box number
to be the true replacement (unless you are comfortable about calculating
three-dimensional WGS 84 coordinates with 10cm accuracy and forcing poor post
carriers to resolve them :-). They might have to be verbally communicated for
the short period of time, so shorter, verbally distinguishable, verifiable
codes do help, but that's not the biggest concern.

If we already have ZIP codes, why do we need another system(s)? It certainly
helps that:

\- Geocodes can be automatically generated from (now universal) WGS 84
coordinates.

\- Geocodes, once their algorithm is fixed, never change.

\- Many geocodes offer a trade-off between the length and accuracy. Moreover,
this trade-off is generally predictable.

\- Some geocodes can be shortened and accurately recovered with the context
(country or city).

In this regard, after having seen a lot of alternatives, I do think plus codes
are close to being optimal. But it should be mentioned that their applications
are always limited to what ZIP codes and human-readable addresses can't and
geocodes can. (Mongol Post's adoption of what3words is special because there
is no permanent human-readable addresses for many mobile settlements. But
what3words is not superior to other geocodes in this particular application.)

~~~
7952
All an address really does is act as a set of instructions for a postal
worker. It is not an explicit definition of location and can change over time.
And mail companies will not necessarily maintain a database of the actual
location of the letter box or door. It is enough to just follow the
instructions. You need these kind of geocodes where a short instruction is not
possible. A lot of Africa is like this. And maybe it could work for drone
deliverys where you want to target an exact location.

~~~
masukomi
> All an address really does is act as a set of instructions for a postal
> worker.

I think you are unfamiliar with Japanese addressing. While it has been
changing since 1962 the older style was basically instructionless. It was just
a unique identifier for some place within the town. Maybe it'd have a number
that corresponded to the plot of land being registered with the land registry,
which in no way resembles a street number.

About the only thing you can say about addresses internationally is that they
are pointers to a location. The definition of "location" varies wildly in
specificity and there is no guarantee of instructions or relative location
metadata.

------
cprecioso
I really liked this, but their current website doesn't help their cause. Their
old website dropped you straight into the map to find out any place's Plus
Code, as well as a box to enter a plus code and open that location in a number
of mapping apps/websites (Google Maps, Apple Maps, HERE, OSM...). It looked
useful at first glance.

The new website looks like a standard marketing page that is trying to sell me
something I don't need, and they have also lost the third-party linking. I
think the immediacy of its usefulness is completely lost now.

~~~
ReverseCold
Google Maps supports it, so I think they're assuming most people will just use
that now.

~~~
BonesJustice
Interestingly, if I drop my plus code into Google, it shows a pin in exactly
the right location. But tapping the map graphic opens up the Google Maps app,
which jumps to a location ~200 miles away.

~~~
rntksi
It did that for me too. I found out afterwards that plus codes have two forms,
a short and long. If you enter just the short form, it won't be accurate
without the ", city" part (e.g. 2A6A+1Q is short form, must be entered like
"2A6A+1Q, Beijing", long form of that would have another 4-5 letters in front
e.g. 7XQW2A6A+1Q)

------
nevi-me
About 5/6 years ago, a team of 2 South Africans got an idea, and called it
Waytag, the # for locations. The idea was that you tag a location with
whatever you want, e.g. bob.home, and anyone looking for it would use
!bob.home.

They had grand ambitions of licensing it to Google and the like. They patented
it in a few countries (though there was prior art).

Suffice to say, though they got a few companies involved, the idea fizzled
into dust. I think in addition to bad implementation, the idea of license fees
probably put people off using the system.

I'm also aware of W3W, as there's been some discussion about it here in HN.
I've seen +codes for a while on Google, but I've never needed to use them, as
they look unfriendly to the mind. I personally think they're not as memorable
as W3W, but if they are made/kept as an open standard, maybe they'll take off.

Part of the problem is that many people who could benefit from codes in lieu
of an address (I'm thinking informal settlements where there are no formal
street names), might not directly be in reach of a mechanism to generate or
use these codes.

~~~
digitaLandscape
W3W is one of the stupidest proposals I've ever seen, because it's
proprietary. We want everybody on earth to need to pay licensing fees and
contact a remote API to resolve address?

To call it mad would be far too kind. I may call it evil.

------
maltalex
Looks like _what3words_ [0], only less memorable.

The Louvre in _Plus codes_ :"V86P+C8, Paris" [1]

The Louvre in _what3words_ : "seasons.sharper.scan" [2]

I'm much more likely to remember "seasons.sharper.scan" than "V86P+C8"

0: [https://map.what3words.com/](https://map.what3words.com/)

1: [https://plus.codes/8FW4V86P+C8](https://plus.codes/8FW4V86P+C8)

2:
[https://map.what3words.com/seasons.sharper.scan](https://map.what3words.com/seasons.sharper.scan)

~~~
lifthrasiir
But you may instead remember "season.sharper.scan", which is 1453 km apart
from the Louvre [1]. The what3words word list is deeply flawed.

[1]
[https://map.what3words.com/season.sharper.scan](https://map.what3words.com/season.sharper.scan)

~~~
tgsovlerkhgsel
Their claimed solution when I read about this the last time was that similar
words are designed to be very far off in order to make them _obviously_ wrong,
and showing similar addresses as a "did you mean" when you search for one. The
FAQ entry is incredibly hard to find but it exists:
[https://support.what3words.com/hc/en-
us/articles/203066992-W...](https://support.what3words.com/hc/en-
us/articles/203066992-What-if-I-spell-or-say-a-word-incorrectly-or-get-the-
words-in-the-wrong-order-) [https://support.what3words.com/hc/en-
us/articles/207065359-W...](https://support.what3words.com/hc/en-
us/articles/207065359-What-about-words-that-sound-the-same-or-with-variant-
spellings-)

On their map, you have to accept their non-GDPR-compliant cookie "consent"
form in order to get access to the real interface, otherwise the cookie notice
covers it.

Also, they have country-specific word lists. On one hand, that's nice because
locals will be able to use it even if they're not familiar with the latin
alphabet/the English language, on the other hand, it means you may be asked to
search for misant.habiter.jaloux instead, at which point a plus code may
become preferable.

Their algorithm also seems to be incredibly complex, requiring a 20 MB library
(likely wordlists + workarounds to make offensive codes less likely). Their
web site does not explain how it works, and varies between claims that the
words were assigned randomly and claims that they weren't (shorter words in
more populated areas, similar words far apart).

However, they've alleviated all need to discuss their technical benefits with
their restrictive licensing approach, which guarantees that they will be
unsuccessful while preventing anyone else from building a different approach
based on words (both because it would create confusion and due to fear that
they'll start costly lawsuits/claims).

~~~
lifthrasiir
> Their claimed solution when I read about this the last time was that similar
> words are designed to be very far off in order to make them _obviously_
> wrong, and showing similar addresses as a "did you mean" when you search for
> one.

I don't buy their claims. If they cared about human-friendliness _and_
recognized the possibility of errors, the proper response would be to add an
error detection scheme like barcodes. The use cases of what3words are even
more diminished by requiring an app to see what's wrong.

> Also, they have country-specific word lists.

I do think the needs for localization is properly recognized (of course, one
can get better geocodes by eliminating the possibility of natural languages in
advance). But the resulting system is bad: they breaks down after the
translation. And also as a native Korean speaker the word list is strange
enough to me ;)

~~~
masukomi
> they breaks down after the translation

they also break down because systems like Siri are terrible about recognizing
words in "foreign" languages (foreign being any language different from the
one it speaks in, even if supported by the manufacturer).

------
Nokinside
Plus codes are nothing more than discrete encoding of latitude and longitude.
Compared to MGRS its not more compact.

I think using MGRS (Military Grid Reference System) is better already existing
standard if you don't want to use digital decimals. No need invent something
new for no gain.

compare these three formats:

    
    
        8GC2CMXR+X6  (14 m accuracy)
        -33.3333 -33.3333 (11 m accuracy)
        4QFJ12346789  (10 m precision)
    

First is plus code in default accuracy 14m, second is decimal degrees with 11
m precision and the third is MGRS with 10 m precision. Each of them is
discrete and identifies roughly similar area uniquely. You can add or remove
accuracy by adding more decimals or characters in all of them.

------
bitwize
Ah, plus codes, the GIS equivalent of Swatch's "Internet time". Stylish and
perfectly, staggeringly useless.

------
__initbrian__
I like the idea of a universal addressing system but I don't think we've found
the solution yet to this extremely difficult problem.

Street addressing is nice because the addresses with the same street name are
on the same street organized by number. (generally at least--there are example
of streets that stop/restart) And the numbering is collinear with the
direction of travel. i.e. I walk along the street. And I know I'll pass 11XY
to get to 12XY.

what3words was interesting but the words for the squares don't seem to be
related to each other. From one square, I'd like to be able to generate the
addresses of all the adjacent squares. (///jumped.spring.improving directly
next to ///book.groups.hiking) and I can't generalize a larger square of w3w
squares with an overarching set of words or something

playing around with the plus codes, they seem to increment in a consistent way
but I haven't figured out how e.g. (a random example) W->E: _+HJV _+HJW _+HJX
_+HMR N->S: _+HMJ _+HMC _+HM6 _+HM2

I also like that I can change the address reference box size based on how many
letters I have after the plus sign. In case I want to reference my front door
versus my entire city.

It'd be much easier filling out addresses in forms because I could type less
info. But it'd be hard for me to associate a string on number letters to an
area just in everyday life. Market St or Powell st carries more with it. And
is streets aren't directly aligned with the boxes then that poses a
difficulty.

Edit: found their doc evaluating other methods
[link]([https://github.com/google/open-location-
code/wiki/Evaluation...](https://github.com/google/open-location-
code/wiki/Evaluation-of-Location-Encoding-Systems))

------
carapace
With 64 bits you can address every cubic centimeter in the entire solar
system.

Probably not useful, but fun to think about.

------
neals
What if I live on the third floor, apartment 3A?

~~~
djwbrown
Schemes for international geocoding really shouldn't shrug off this altitude
problem. When you say third floor, are you using 0-indexing, or 1-indexed
floors as in the US?

------
Phithagoras
Why not just use Lat/Long? Or create a shortener for Lat/long if the long
decimal numbers are too unwieldy for humans?

~~~
ReverseCold
> Or create a shortener for Lat/long if the long decimal numbers are too
> unwieldy for humans?

Like what? You can't shorten decimals without losing precision, and converting
to, say, base64 is just as unusable by humans as plus codes.

How would you shorten lat/long?

~~~
myself248
Grid squares?
[https://en.wikipedia.org/wiki/Maidenhead_Locator_System](https://en.wikipedia.org/wiki/Maidenhead_Locator_System)

On the air, I'm from EN82. That's a few counties. Enough for people to check a
box and say they've contacted someone from this area, or spin their antenna to
point more accurately towards my approximate location.

If I need to give more detail, that becomes EN82KM which gets to city level,
or EN82KM10, which gets down to just a few blocks.

I could give two more digits and you'd be at my front door....

~~~
tgsovlerkhgsel
That's basically what plus codes do, plus some tricks (choosing the alphabet
to make them unlikely to spell words to avoid offensive words, different
algorithm for the last character, ...)

------
lucb1e
My first question was: how does this differ from alphanumerically encoding
coordinates? It has to convey the same amount of entropy after all.

This[1] answer on the GIS StackExchange tells us that for a reasonably small
area (small enough that it won't cover more than a small building, say 5 by 5
meters) we need 5 decimals. Since the longitude can have 360 major values,
with 5 decimals each (so 360e5 possible values), we would need
log(360e5)/log(10+26)=4.9 characters -- and since characters are a discrete
value, we would need 5 characters. The longitude only has 180e5 values, but we
still need 4.7 characters, so that makes 10 characters total in the worst
case. For lower values, you need fewer characters, just like "21.491" is
smaller than "121.491" (useful because the majority of the population does not
live on the poles).

As an example of geographic coordinates in alphanumeric: one of the most
extreme coordinates you'll ever find (very close to the maximum of common
values for earth's population) is 87e13,azebi, which maps to
-43.81703,-176.47678. If we are okay with including symbols, we can convey
more information, though to get under 5 characters for latitude and longitude
in all cases, we'd need at least 78 distinct characters (there are 96 in the
basic ASCII set, so that's doable, but case sensitivity is annoying). An
example of the same coordinates would be hcFx,m^^c. Only eight characters for
a fairly precise location on the globe: real short, but I'd argue that it's
not more useful than the case-insensitive variant.

While researching this, I realized that a good "human readable global address
system" would not map 1:1 to coordinates because on the equator, one decimal
(1e-5) difference is 1.1 meters on the ground, whereas in northern towns it
would be much less. If you want to keep the codes as short as possible, it
would be useful to leave a larger gap between each point of latitude the
closer you get to the poles. This means they simply cannot be square.

Looking at plus-codes, they are case-insensitive and indeed 10 characters
(when omitting the plus -- I have no idea what that plus is for, other than
making it longer by branding each tag). And they claim to be rectangular
pieces of land. This is no better than a blind base conversion (base 10 to
base 36).

[1]
[https://gis.stackexchange.com/a/8674/9555](https://gis.stackexchange.com/a/8674/9555)

~~~
lifthrasiir
> I have no idea what that plus is for, other than making it longer by
> branding each tag

You can safely omit the first few charcters when the context is clear. Plus
there essentially acts as a decimal point (to the point that less significant
plus codes should be padded to `+` with zeroes, which is the only occurrence
of zeroes in this scheme).

------
lighttower
I've always wanted a system that accounts for adjacent physical locations
appearing to be far apart upon truncation because they happen to sit on
opposite sides of the imaginary dividing line. E.g. 39.99 deg North looks very
far from 40.00 deg North upon truncation

~~~
Gaelan
Out of curiousity, how would you solve that? Seems unavoidable to me.

~~~
lighttower
You would need to use two simultaneous coordinate systems. It could be long
lat p and long lat with an offset. If the offset version does not change as
many digits as the standard then use that one. station curious and so much for
machines, where the calculation is cheap. But it's for when you are trying to
figure out if someone is next to you on a map or not. All of the coordinate
systems that are grid-based including UTM have this problem.

------
newscracker
Last time I checked, which was a few months ago, Google Maps couldn’t
understand a Plus Code and said it couldn’t find the place. Even at that point
in time, this system was supposed to be working for quite sometime and
supported by Google.

~~~
mrb
Google Maps not only understand Plus Codes, but the mobile version displays it
when selecting a location (not sure about the desktop version).

~~~
newscracker
I just checked again by getting a Plus Code for one location from the Plus
Codes site and pasting it into Google Maps on a desktop browser. Google Maps
shows a totally different place for it. Something still seems to be broken.

------
goodstuff9
Question about this service and what3words- how do they home to gain traction?

~~~
hackernudes
In the case of plus codes, be developed by Google and be implemented on Google
Maps (it is).

------
mallapur123
I live in India, my code once entered gives a location in Marathon, Greece!

~~~
schoen
There's a short form and a long form of the code:

[https://en.wikipedia.org/wiki/Open_Location_Code#Usage](https://en.wikipedia.org/wiki/Open_Location_Code#Usage)

[https://plus.codes/howitworks](https://plus.codes/howitworks)

------
spilk
yet another MGRS

------
known
Does Amazon delivery guys use these codes?

------
alex_young
Why is this better than geohash?

~~~
tgsovlerkhgsel
The main reason is "because Google is behind it so it actually has a chance to
become a thing".

Otherwise, they're designed to be unlikely to generate offensive terms, and
the + makes it feasible to use a shortened code together with a given or
implied city name. Most of the improvements in this space are small details,
because turning coordinates into a string is a really simple problem (which
also attracts a lot of "let's reinvent this"...)

