
Show HN: Give 7B people an instant physical address - roberdam
https://github.com/roberdam/Xaddress
======
mabbo
Maybe I'm missing something but why does "Pearl" mean 8480 and "Magical"
-6129? If that's a hash, I really dislike this, because A: humans can't do
hashing in their heads, and B: get one letter wrong and suddenly you don't
have the right address. This has also been my big opposition to what3word.

Addresses need to be resilient. If I make a tiny mistake in my address, there
should be enough redundant data to help fix the problem. Postal Codes are
great for this, because if you get your code wrong, well, it'll probably be
one nearby and the delivery service can figure it out. But with hashes? One
letter off and you're doomed.

~~~
pns
From having worked on addressing in Nairobi, Kenya for the past two years, I
can tell you the precision problem is worse than you think actually. You're
making the assumption

* someone knows how to use a map to a very high degree of precision (not true often)

* GPS is accurate enough, and this is a double whammy - on initial assignment of the GPS point (i.e. it's the GPS of their door/gate, not of their living room couch, and it was collected with enough precision) and on usage (i.e. the GPS antenna on a $30 smartphone)

* plenty of other issues

There are a couple startups trying to solve this beyond what3words mentioned
in other comments - they'd suffer from many of the same issues I mention
above. Some encourage people to put a placard outside their door/gate with the
code to make last-mile arrival easier.

But a more successful approach from research I've done is what OkHi
([http://okhi.com](http://okhi.com)) is building - use a photo attached to
GPS. From n>1000 tests, we found that the photo drastically decreases time
over the alternative, even reducing average time to find the location by over
50% in the last 500m for some addresses.

(Full disclosure - I was worked on the addressing problem for the two years in
Nairobi at OkHi, so I obviously believe in their solution or wouldn't have
dedicated that much time there :)

~~~
ben_jones
I feel like this a communication and NLP problem, at least in regards to an
address being directions to a given location. Like with a picture, an address
such as "Next to Sal's general store" would be enough for most mailmen to find
the location 100% of the time. Given it does not stand the test of time, but
to my understanding this was the system in Ireland for a long time in small
disparate communities. In that particular case the instruction would be
something like "$COUNTY, $GRANDMOTHERS_NAME's house" in order to reach her
grandson.

I guess it depends on usecase. An Amazon drone can't stop and ask for
directions. Interesting problem space though.

~~~
pns
You'd think "next to Sal's general store" would work, especially given how
prevalent that approach is. In fact, through our research, even for folks
working the same delivery area day after day, they consistently fail with
these sorts of landmarks. I used to say I lived "next to the vegetable stand
on XYZ Rd, across from ABC Apartments" \- very visible, clear landmarks which
turns out most drivers could never use successfully because they usually
called me being lost. You could try NLP on it to then lookup in a db like
OkHi's, but these text-based directions definitely proved to be suboptimal
when consumed by a human drivers such that companies were actively seeking a
better way for their deliveries (and, importantly, were even willing to pay).

------
sly010
As a sidenote, Australia moves about 7cm north annually [1], so any encoding
of GPS location is not flexible enough in the long term.

Also only encoding lat/long makes it so you would not be able to address a
single floor in a large building.

[1]
[http://www.bbc.com/news/technology-36912700](http://www.bbc.com/news/technology-36912700)

~~~
tener
Perhaps the address can be made relative to some landmark which moves in the
same direction. This could add an additional word in front of it (for the
landmark) but will resolve such issues.

~~~
aw3c2
That's a great idea, maybe something like "church street" and a number that
denotes a length on that street?

~~~
dvcc
If that was the case we might run into naming collisions if there are multiple
cities with the same street names. It would be best if we namespace it to the
city as well. So we would have something like { "street": "Church Street",
"length": "5", "city": "Church City" } all of course packaged in JSON.

~~~
creshal
Well-structured data like this is better encapsulated in XML:

    
    
        <?xml version="1.0" encoding="UTF-8"?>
            <address street="Church Street">
        	<specifiers>
        	    <key length=""/>
            	<value type="uint32" scale="nanolightseconds">5</value>
        		<city>
            	    <![CDATA[ 
                		<?xml version="1.0" encoding="ISO-8859-15"?>
                        <name>Church City</name> 
        	        ]]>
        	    </city>
        	</specifiers>
        </address>
    

Isn't that much more legible and understandable?

(I hate XML. So much. This shouldn't be a valid document in any language.)

~~~
coredog64
Why not both?

[https://www.ibm.com/support/knowledgecenter/SS9H2Y_7.5.0/com...](https://www.ibm.com/support/knowledgecenter/SS9H2Y_7.5.0/com.ibm.dp.doc/json_jsonx.html)

~~~
dvcc
Just think, there were even multiple versions of JSONx so someone somewhere
had to be using it.

~~~
creshal
It's part of a bigger product (WebSphere), so _hopefully_ it's just being
dragged along and not still under development.

------
jakobegger
What makes this better than actual coordinates?

I can easily find numeric coordinates on a map, without any special tables or
computations.

I can immediately see if two numeric coordinates are close just by looking at
the numbers.

Very many people understand how to use standard numeric coordinates.

~~~
jeeeeefff
Same reason we have DNS instead of remembering IP addresses.

~~~
IanCal
DNS allows us to keep swapping the IP address associated with a service
though, this (afaik) doesn't.

~~~
pareshverma91
Ability to swap underlying ip address is orthogonal to using alphanumerics in
DNS. Numeric sequences could also be used as CNAME for the ip address. But we
don't because of human brain.

------
diskooo
Isn't this pretty much the same concept as
[http://what3words.com/](http://what3words.com/), or am I mistaken?

~~~
tyleraldrich
You're not mistaken. If you look at the "Compare encodings" section, you will
see the encodings compared.

------
et-al
Wow, this is a much friendlier alternative to what3words / what3fucks!

Few things that I felt could be potential issues:

1) GPS coordinates are great for approximations for areas without clear
markers, but in built up urban areas, they don't work so well. As a stranger
to a new city, I can fumble around and ask someone, "Excuse, can you help me
find 222 Hyde Street?" And they'll hopefully point me in the right direction,
and I'll wander wander over until I hit Hyde Street and try heading north and
south depending on the numbers.

Secondly, if we hash the geocode, then we lose that sense of relativity. I no
longer know if "Pearl" is east or west of "Tiger" and don't know which
direction to move in.

In addition, there's still the final mile (or rather 3 meter) issue. When I'm
at a particular lat/long, am I at the right spot? Or is my GPS off, or did the
person put the pin just slightly off? Using traditionally addressing, when I
have a house number, I know it's the right house because it says so on the
door.

2) The icons used for error-checking may not be universally known. For
example, 83.png is a hat, but for someone unfamiliar with this, it's.. a horn?
a bell? I know this was an MVP to show (and it's great!), but it is something
to keep in mind.

Ultimately, I think this has potential for the delivery industry (before
drivers get replaced by drones/driveless cars, of course). It's already more
intuitive than the chiban-style addressing system in Japan [0]. However,
similar to that system, we're still reliant on book/web site/app to decode the
address. And so here, we're assuming people will readily have access to a
smartphone with a reliable GPS.

[0]
[https://en.wikipedia.org/wiki/Japanese_addressing_system](https://en.wikipedia.org/wiki/Japanese_addressing_system)

~~~
BinaryIdiot
I completely agree with your thoughts: this is impressive when you don't think
about directions from humans for humans but once you toss that wrench in it
falls flat. Perhaps they could make improvements to handle directions.

------
SamBam
I don't see any versioning on this, and that seems like it is something that
needs to be implemented ASAP if you actually want any of these addresses to
start to be used in the wild.

If you make any changes to your word lists (in response to, say, all the
comments here that say you should be omitting rude words), your old addresses
won't be valid.

If someone gives me the address "Afraid Anus" (to pick an example someone
found below), but I'm using a new version of your word list that omits "Anus,"
how am I supposed to know which version of the word lists I should be looking
at?

It's all well and good to say that it will be forever backwards-compatible,
but what if people find real flaws with the system?

(Another potential flaw: are homophones excluded? What if I'm giving the
address over the phone?)

~~~
roberdam
Your Xaddress will work even if we remove the word from the available list,
you can try encoding or decoding by hand to understand how it works
[https://github.com/roberdam/Xaddress/tree/master/by_hand](https://github.com/roberdam/Xaddress/tree/master/by_hand)

~~~
SamBam
That's totally true (and I missed that), but it seems to me that the
Country/State-specific look-up table is still the unversioned weak point.

What if state or national borders change?

Or how about disputed areas? Which table should I go to to look up words for
Kashmir? And is the choice of table an (unintended) political statement?

Let's say I am creating an address in Kashmir. I have the integer coordinates
32,76, so I look up the number in the Indian table and I get 04.

I then hand my address to someone else, who believes Kashmir is Pakistani. He
looks up the Pakistani table, which includes the table for Azad Kashmir, and
looks up the coordinate for 04, which is 33,73. Oops.

True, "Azad Kashmir" is currently considered to be a distinct region, but it
is certainly within the bounds of credible that Pakistan officially renames
that area to "Kashmir" alone, in an attempt to bolster their claim on the
region.

Then you'd have two distinct areas named Kashmir in your tables, but two
different interpretations of the geographical bounds of those regions in the
minds of the people in Pakistan and India.

The advantage of some of the other systems is that they are dependent on
nothing other than latitude and longitude.

\----

(Edit: to be clear, I think this is a cool project, and any edge-cases that
may be problematic here are much tinier than my original, incorrect concern
about word-list versioning.)

~~~
roberdam
Yes, Xaddress creates 2 kinds of codes, the short one is inmutable and does
not depend from geopolitical boundaries, you can check
[http://ubicate.me](http://ubicate.me) for the short code implementation.

------
jpalomaki
I see the point especially with foreign addresses. It can be bit of a
challenge to communicate addresses like "Nándorfejérvári út 4" or "Kısıklı
Büyük Çamlıca Cd. No:9" over the phone. Coordinates are of course alternative,
but for most of us, few words and number are easier to keep in mind for few
minutes.

The given notation is hard to decode inside the head, but if you can memorize
it for 30 seconds then you can fire up an app to do the decoding.

Pictogram is clever idea for the checksum. Probably something that sticks to
your head. Reminds me of the Lotus Notes login dialog [1], [2]

[1] [https://blog.codinghorror.com/the-dramatic-password-
reveal/](https://blog.codinghorror.com/the-dramatic-password-reveal/) [2]
[http://www.tenable.com/pvs-plugins/1305](http://www.tenable.com/pvs-
plugins/1305)

~~~
roberdam
Yes!, in this case "Nándorfejérvári út 4" can be "CRUEL RUN 4604 - Budapest,
Hungary

------
niftich
At first I was skeptical of 'yet another geocode', but the addition of the
avatar alongside it (for error-checking and instant-recognizability purposes)
makes this scheme intriguing, and in my opinion, far better than any other
geocoding.

It's essentially a combination of an Identicon [1] (of sorts, but with actual
clip-art) and hash wordlist, but transmitted together as a unit. This is a
very good idea and exploits a lot better how humans actually memorize and
recognize things.

It needs a better wordlist though. Better is subjective, but the current list
is very anglocentric, not very distinctive, and laced with profanity, making
it awkward for interactions between strangers.

[1]
[https://en.wikipedia.org/wiki/Identicon](https://en.wikipedia.org/wiki/Identicon)

~~~
roberdam
Thanks niftich, you can try the spanish version as well
[http://test.xaddress.org/try?lng=es](http://test.xaddress.org/try?lng=es) and
more languages can be included.

~~~
niftich
I'm not sure if having a _distinct_ wordlist for every language is helpful
though, as then you can't easily tell that two addresses are the same.

Arguably, the desirable features of a geocode are:

[a] more memorizable/recognizable than coordinates

[b] you can easily tell whether two addresses are the same

[c] error-resistant, or at least error-detecting (if you can't correct the
error, at least be able to tell there is an error so you know the whole thing
is corrupt)

~~~
roberdam
It can be
[https://news.ycombinator.com/item?id=12262754](https://news.ycombinator.com/item?id=12262754)
in this case "Nándorfejérvári út 4" can be shared as "CRUEL RUN 4604 -
Budapest, Hungary

------
goodmachine
AFRAID SEA here. To avoid confusion, might be best to exclude words that are
common placenames from the word list (street, road, lake) as well as rude
words.

Great to see an open alternative to
[http://what3words.com](http://what3words.com) (and I also love the icon as
visual hash.)

------
aw3c2
You missed [http://what2numbers.org/](http://what2numbers.org/) and
[http://www.what3fucks.com/](http://www.what3fucks.com/) in the comparison.

~~~
pella
[https://github.com/roberdam/Xaddress/pull/7/files](https://github.com/roberdam/Xaddress/pull/7/files)

------
ComodoHacker
Yet another location encoding. Why not MapCode[1]?

>Designed to be used in low tech environments

What are supposed uses of encoded lattitude and longitude in "low tech
environments", other than simple transfer?

1\.
[https://en.wikipedia.org/wiki/MapCode](https://en.wikipedia.org/wiki/MapCode)

~~~
roberdam
Mapcode is great, compact and precise. Xaddress looks more like a traditional
address so it might be easier to fit in , also gives you a hint of where the
address is located, and is clear how to encode and decode. But at the end of
the day both are tools that might work depending on your needs.

------
dalbin
Love the concept, but P2 code depends on the country, I think it should not be
resilient on geopolitical address. For example, in France, states have changed
recently (change in name and merging).

~~~
roberdam
Thanks dalbin, short codes are resilient and independent from geopolitical
addresses, both codes are created at the same time, for the sake of clarity is
not show today in the Xaddress

------
jxf
I think this is a neat way of encoding things. But this also has a lot of
shortcomings that existing mailing addresses don't have; it's really only
useful for identifying a physical spot, which is what a lat/long and
geocodings of mailing addresses will do anyway.

Additionally:

* What if you live at an apartment?

* What if your address doesn't correspond to a fixed physical location, like an APO?

* Aren't the city and country redundant if you have a physical lat/long location?

Still, we need to look at how we send information to our fellow humans.
Addresses are important and I'm glad folks like the OP are taking a closer
look.

~~~
robalfonso
I think a couple changes would be required to address the shortcomings:

apartments need a z value as you already have a x and y - of course you need
to account for height above sea level if you keep to the same type of
measurement as lat and long (rather than just saying floor 2). It could be
tricky for someone to sort that out for themselves.

I'd think a prefix on the address could indicate a special case that needs to
be handled differently to fix APO etc.

I played with the demo, it seemed like the city/county operate as a checksum
so you can verify the location you've decoded. Its not needed but nice to have

------
acangiano
Great idea / initiative but I must ask, are you new to Ruby? I've rarely come
across code that was so not idiomatic.

~~~
roberdam
Thanks, yes, I'm ashamed of my code, this is my first project in ruby , my
last programming work was 15 years ago, (Foxpro for DOS) so this is my
comeback to programming.

I hope that being opensource will help it to improve.

~~~
acangiano
No sweat, man. You are new to the language and you're putting yourself out
there. Major kudos for that.

Now, for some low hanging fruits / pointers:

\- $name is a global variable. Virtually unused in idiomatic Ruby.

\- @name is an instance variable. So it's perfectly ok to use it... within a
class.

\- You should omit the 'then' after each if.

\- I'd use find_words rather than busca_palabras.

\- Except for rare edge cases, you can drop the .nil? from if my_var.nil?. If
my_var is nil it will on its own make the condition false.

\- I would use more spaces. 'a = 1' instead of 'a=1', 'b == 0' rather than
'b==0'.

\- Use indentation consistently. 2 spaces.

\- The else clause is indented at the same level as the leading if.

\- Use && instead of 'and' in conditionals. Likewise || instead of 'or'. These
short circuit the evaluation for you. So if the first argument is false &&
won't bother evaluating the second argument. Likewise, if the first argument
is true || won't bother executing the second argument as it doesn't matter.

\- Ruby is an Object-Oriented programming language. I would look into modules
and classes to restructure the code in a less procedural way.

~~~
roberdam
Thank you very much acangiano, I will review all the code with your guidelines
at hand!.

------
codev
My current location is 5308 AFRAID ANUS. Might be best to exclude ANUS from
the word list.

~~~
roberdam
thanks codev, added to the TODO!

~~~
codev
Great. It's a nice project, nice demo as well.

I realised when I was living in Japan recently how much I miss the UK postcode
system. When I'm in the UK I can give anyone a short alphanumeric string and
they can find me. A global coordinate system like this is really useful. I
hope you can get some traction with it.

------
datenwolf
IMHO the Maidenhead Locator System [1] solves this problem very nicely.
Locations are concise and can be specified with arbitrary precision. And the
encoding scheme makes vocal transmission quite robust.

1:
[https://en.wikipedia.org/wiki/Maidenhead_Locator_System](https://en.wikipedia.org/wiki/Maidenhead_Locator_System)

------
wscott
It is nicely done and unlike what3words.com (which is very similar) this
version isn't commercial.

The icon acting as a visual hash is a nice touch.

~~~
roberdam
Thanks wscott!, I put the first version here on HN 2 years ago, from the
feedback here is the improved version.

------
pingec
This is genius! Seems like HN killed it though. The demo is not working
anymore, probably rate limits have been hit.

Edit: seems to work on the default location but not when I move the maps to
Slovenia.

~~~
roberdam
Thanks pingec, it seems to be something with the Google Api, I will check
that, in the meanwhile you can try the CLI if you know ruby or try it by hand
[https://github.com/roberdam/Xaddress/tree/master/by_hand](https://github.com/roberdam/Xaddress/tree/master/by_hand)

------
king_magic
This is really clever. It would be incredible if this took off and became a
standard way to represent addresses.

~~~
roberdam
Thanks king_magic, at least is a start, and because is Opensource it can
evolve with the needs of the people.

~~~
king_magic
It's really a great idea. It's something I didn't know I wanted until I saw
it. My (admittedly potentially naive view) is that it has the potential to
simplify many things in the mapping/shipping world - it's so specific. No
messy address ambiguity.

I also love the idea of an embeddable "Xaddress badge" (e.g. this image:
[http://bit.ly/2biI3YY](http://bit.ly/2biI3YY)) - unless of course I
misunderstood what that is.

Maybe you could work the "legacy" address into that badge as well? Just
thinking it would be useful for mentally placing an address - e.g., if you
give me a raw GPS address, I have no idea where that is - but if you tell me
it's somewhere on 5th avenue in manhattan, I know roughly where that is.

~~~
roberdam
Greate idea!, Xaddress generate a short code, you can use all of them if you
want to.
[https://cloud.githubusercontent.com/assets/3354868/17262858/...](https://cloud.githubusercontent.com/assets/3354868/17262858/d616e1ca-55ab-11e6-9d8a-78dd524a4063.png)

------
sly010
This is probably a first world problem, but I wouldn't mind something similar
for the western world. Some sort of extended zip code that I can just enter on
any device in a second and it represents my entire fully and correctly defined
location including door number, floor, gps coordinates and crossing streets
and if it's left or right side of a one way street, etc. Just a ~12 digit
number for every single door (and maybe window - for drone delivery) in the
world. It would probably have a positive impact on the economy.

~~~
rm_-rf_slash
I have long maintained that an extension of the postal service should provide
a one-stop-shop for your addresses.

I have moved nearly every year since I left for college and I hate having to
reset every address on every service I have. I'm sick of it.

~~~
nradov
Right the USPS should provide a layer of indirection. Give everyone a virtual
mailing address, and then they could automatically route your mail to wherever
you actually happen to live at the moment.

~~~
someone7x
I didn't know it until now, but this is the disruption I've been waiting for.

------
joekinley
The site doesn't work for me as the Google Map API seems to be broken,
Authorization removed or something

~~~
roberdam
I just tryed and still works fine, not yet reach the 2500 pageviews of google
today :D

~~~
stevehb
Seems broken for me as well. I'm on desktop Chrome. Message says to check JS
console. In case it helps, this is the error message:

Google Maps API error: RefererNotAllowedMapError

[https://developers.google.com/maps/documentation/javascript/...](https://developers.google.com/maps/documentation/javascript/error-
messages#referer-not-allowed-map-error)

Your site URL to be authorized:
[http://xaddress.org/try?lng=en_.bb](http://xaddress.org/try?lng=en_.bb)

@ js?key=AIzaSyAOUib5wvPGPSazgnTc-
Mq415kxB1fNuu8&v=3.24&libraries=drawing,places&language=en:32(anonymous
function)

@ common.js:52(anonymous function)

@ common.js:224d

@ common.js:46(anonymous function)

@
AuthenticationService.Authenticate?1shttp%3A%2F%2Fxaddress.org%2Ftry%3Flng%3Den&4sAIzaSyAOUib5wvPGP…:1

~~~
roberdam
can you try
[http://www.xaddress.org/try?lng=en](http://www.xaddress.org/try?lng=en)

~~~
pragone
That address seems to work, but the mouse disappears whenever it's... under...
the map, so I can't see what part of the map I'm clicking on.

------
yladiz
I think this is a really nice idea, and it seems somewhat more memorizable
than a what3words address because it incorporates numbers. Really cool work!
The only two complaints I have are 1) as others in this submission have said,
is that the list should really be curated, or at least be filtered to remove
"bad words", and 2) ideally this algorithm could be tweaked to not require a
city to go along with it, so it becomes easier for a place that hasn't been
able to designate cities can use it more easily.

------
swehner
From the list of words at
[https://github.com/roberdam/Xaddress/blob/master/en/adj_en.c...](https://github.com/roberdam/Xaddress/blob/master/en/adj_en.csv),
I take it that some locations will be labelled DESPERATE, UNSPEAKABLE,
POSTDOCTORAL, OBSTETRICAL, GENEALOGICAL, ASSASSINATING,CORRUPTED,
PROGESTERONE, etc. etc., also RUSSIAN, UKRAINIAN, DUTCH, ...etc. Where did
that list come from?

------
parennoob
I have seen a lot of these co-ordinate based alternative address mechanisms
(in fact the author gives a list --
[https://github.com/roberdam/Xaddress#compare-
encodings](https://github.com/roberdam/Xaddress#compare-encodings)). But in my
opinion, one thing they all ignore or get wrong is _establishing some kind of
linking mechanism between real world and co-ordinate based addresses_. This is
a hard problem, but one without which it is not going to be able to gain
significant adoption.

How do we solve it? I am not sure. Maybe somehow augmenting regular national
postcodes with coordinates would work better than these (kinda like the
4-digit augmentation to US ZIP codes) – because those are things you use on a
daily or atleast monthly basis, and remember. Something like 98002-MAGICAL
PEARL would be more easily remembered, and not get rid of existing
information.

------
trekking101
But why? Forget about the tech. What does this accomplish? What3words is
nonsensical for the same reasons- Amazon Prime is not coming to Mongolia
anytime soon and it has a lot more to do with little disposable
income/economics than logistics.

~~~
yladiz
So the people in Mongolia, for example, that don't have a physical address in
the postal service's database don't deserve mail, or being able to more easily
communicate with their government where they're located? Just because Amazon
Prime isn't come somewhere doesn't mean that logistics problems don't exist
and don't need to be solved.

------
cgsmith
First, you have to teach long division and long multiplication to your 7B
people. Like the concept and idea and truly hope for adoption.

Is it possible to reduce to addition and subtraction? I feel that
multiplication and division is a high barrier for most.

~~~
roberdam
Thanks cgsmith, a pocket calculator will be great when decoding/encoding by
hand. Im guessing that low tech phones (even old nokias) can do the trick by
using it as calculator, but then that may not be as low tech as needed.

------
karussell
I like this comparison: [https://github.com/google/open-location-
code/blob/master/doc...](https://github.com/google/open-location-
code/blob/master/docs/comparison.adoc)

Which makes it also clear why open location code is really smart (disclaimer:
I'm not involved nor a google fan boy ;))

But e.g. the fact is lovely that you can combine OLC with a city name (or more
address information) making the code shorter

I don't like the fact that Xaddress depends on words and uses an image for a
visual hash.

~~~
roberdam
Great resource, thanks for sharing

------
Ocha
reminds me of [http://what3words.com/](http://what3words.com/)

~~~
dantudor
I don't see anything new here that isn't already part of w3w.

~~~
yladiz
It's the same, barring some differences like dictionary (this list isn't
curated very well, see other comments in this submission), but the big
difference is that it's open source unlike w3w.

------
slavik81
I'm surprised nobody has mentioned MGRS as a somewhat similar system.
Coordinates look like so; 4QFJ 1234 5678.

That means the coordinate is in the 100km grid-square named 4QFJ. At 12,340m
North and 56,780m East of the SW corner.

It's easy to reason about the coordinates if they're on the same square, and
given how big squares are they usually will be. You do need to memorize some
letters and numbers, but since the relationships between coordinates are
clear, you should only need to memorize the least-significant digits for
nearby locations.

------
Tharkun
Addressing is broken on a global scale. And this won't fix it. Addressing
schemes like street & block level addresses can be useful for finding your way
around. This is an important feature. I know how to get from 123 My Street to
150 My Street. I don't know how to get from Libres 2956 (Saxophone) to Libres
2900 (Other avatar).

Any physical addressing scheme that doesn't take routing into consideration is
doomed to failure IMO.

~~~
roberdam
Thanks Tharkun, did you try this?
[http://www.xaddress.org/takeme?from=40.7848694,%20-73.969670...](http://www.xaddress.org/takeme?from=40.7848694,%20-73.9696705&to=LIBRES%202956%20@PY-
ASU&lng=en)

------
gjem97
Love this. I couldn't see any deeper explanation of the encode/decode
algorithm. Is that written up somewhere?

~~~
roberdam
Thanks!, of course, you can encode/decode the Xaddress even by hand so it can
be used in low tech environments, the guide is
[https://github.com/roberdam/Xaddress/tree/master/by_hand](https://github.com/roberdam/Xaddress/tree/master/by_hand)

------
sharemywin
I got a oops something went wrong while clicking "try it now". using chrome on
a desktop.

~~~
roberdam
"HN Hug of Death", just resize the droplet, you can try again

------
jspekken
Is there any reason the code is written half Spanish half English? As I'm from
the Netherlands my understanding of the English language is great but because
this is in Spanish I have to use Google translate to read te code.

~~~
roberdam
The original code was written in spanish (my native language) and I translated
to english, let me know your particular problem with the code and I will
change it.

~~~
monkpit
None of it appears to be translated to English apart from the messages
displayed to the user. Without comments in your code and especially when you
abbreviate variable names, it's difficult to visually scan the code and have
any idea what's going on. You have to mentally process the program to try and
reason about what any variables or functions are actually doing.

~~~
roberdam
Thanks for the feedback, I will work to translate all the variables to make it
more readable, in the meanwhile you can check the logic behind the problem
here:
[https://github.com/roberdam/Xaddress/tree/master/by_hand](https://github.com/roberdam/Xaddress/tree/master/by_hand)

------
hasenj
Resembles a normal address? In the Anglosphere, maybe.

Have you seen how addresses look like in other countries?

For example, in some countries, the address is broken down into several
components:

City, District, Block, Street, Building

~~~
roberdam
good point... resembles a normal address compared with the alternatives at
least. [https://github.com/roberdam/Xaddress#compare-
encodings](https://github.com/roberdam/Xaddress#compare-encodings)

------
austinlyons
Address in South Austin, TX: "Grounded Bastard 1780"

[http://i.imgur.com/xgHFFJD.png](http://i.imgur.com/xgHFFJD.png)

------
losteverything
Isn't this a solution waiting for a (sponsored) problem?

Zone Improvement Plan solved a problem and where would shipping be without it?

------
nxzero
Missing how having a "Mail Address" makes an address deliverable; aka mail
service, legal mailbox, etc.

------
JoshGlazebrook
I was so confident you were using particles.js, but turns out you coded that
yourself!

------
uobytx
I poked around and found: 1861 TIME WHORING Nifty concept, could use some
work.

------
bradknowles
Doesn't seem to work on iPad. Have you tested various other platforms?

------
jbb555
Very nice. But nobody is going to use it as it's solving a non problem. Nobody
has any issue giving people an address.

~~~
SamBam
That's simply wrong, and assumes that everyone in the world lives in the
situation you do.

What3Words (the commercial equivalent) has only been around three years, and
look at its usage:

[https://en.wikipedia.org/wiki/What3words#Usage_and_awards](https://en.wikipedia.org/wiki/What3words#Usage_and_awards)

A single usage (Mongolia Post using it to deliver mail) is enough to discount
the idea that it's a non-problem:
[http://mongolpost.mn/more/156](http://mongolpost.mn/more/156)

------
csomar
8512 WANT ILLEGITIMATE

Not bad.

------
saalweachter
My biggest problem with this sort of schema (and the similar ones other people
have mentioned in this thread) is that it doesn't solve any of the difficult
problems an addressing system needs to solve.

At best, it's just a "maybe easier to remember than GPS coordinates" system --
but remembering GPS coordinates with this level of precision is not really an
insurmountable problem. I know its hard to remember, but up until a decade or
so ago, people used to remember dozens of phone numbers, which requires a
similar level of memorization.

It doesn't make addresses any easier to find than GPS coordinates -- you
pretty much need a GPS. It doesn't necessarily guarantee unique addresses --
you get a different address if you pick different points on the same building
or property.

It doesn't encode any routing information. So you're a delivery company asked
to deliver a package to 123 Wascally Wabbit. You can convert that to a GPS
coordinate easily enough, sure. But then what? Which delivery truck do you put
the package on out of which delivery center? You can easily compute which
delivery center is physically closest to an address, but that doesn't tell you
if there is a natural feature like a river or mountain between the two points.
On the other hand, USPS addresses encode the routing information -- the third
line is the name of the post office that the delivery vehicle for that address
departs from.

It doesn't encode any navigation information. How do you get to the address
once you're in the general area? Which road gets you there? If you're a
helicopter or a drone or a crow, you can just fly straight to the GPS
coordinates, sure. But if you're walking or driving, as most people will be,
you've just re-invented the sport of orienteering. This is the problem 911
emergency addresses were intended to solve -- you have a street name and a
number for every address, so if you need to find an address in a hurry, you
just navigate to the street (which is an easy amount of local knowledge to
learn), and then you have a linear ordering of addresses so that you know when
you've passed the address you're looking for.

It doesn't encode any service area type information. You want to order a pizza
-- does the parlor deliver to 123 Wascally Wabbit? You don't know, and neither
do they. You call 911 for a fire truck or ambulance -- are you served by the
Newtown fire department, or the Newburgh fire department? Again, your
emergency services need to plot your address on a map and then figure out
whose region you're in. They can't just say, "Oh, you're in Plymouth, a suburb
of Newburgh," and route your call appropriately.

(Essentially) saying "just use (masked) GPS coordinates" may technically
assign addresses to all of those billions of places which aren't on named
roads in recognized municipalities, but it doesn't solve it _usefully_.

~~~
roberdam
Did you try the "take me Here" option?
[http://www.xaddress.org/takeme?from=40.7848694,%20-73.969670...](http://www.xaddress.org/takeme?from=40.7848694,%20-73.9696705&to=LIBRES%202956%20@PY-
ASU&lng=en)

You can integrate third party services to do just that.

~~~
saalweachter
You can do a lot of things with computer systems loaded with rich geographical
datasets.

But how does this help the 4 billion people currently without addresses? Do
you think there are rich geographical datasets in places without addresses?

Even in places like the US where you do have rich datasets, it is still
enormously inconvenient to not be able to do anything without them. The
advantage of 911 & USPS street addresses isn't that they're easy to remember,
it's that they encode a lot of useful information into them. (And even then,
they don't include all useful information -- you typically need to know some
ill-defined political or social boundaries, like the name of a neighborhood,
to find out if someone delivers to your area or what the rate is for a taxi.)

------
jbb555
The page seems to forget to say what the point of this is.

~~~
sharpercoder
[https://www.mjt.me.uk/posts/falsehoods-programmers-
believe-a...](https://www.mjt.me.uk/posts/falsehoods-programmers-believe-
about-addresses/)

------
bumbledraven
Google's Open Location Code is better. [https://github.com/google/open-
location-code](https://github.com/google/open-location-code)

------
losteverything
Remember, addresses are very personal. They are reflective; they are metallic
and have a magnetic quality; they are outwardly expressive; they have a
perceived value; they are understandable; they are historic (having a history)

~~~
igravious
That's not what this is though.

~~~
losteverything
Directly no - you are absolutely right. Indirectly yes - if a human is
associated with it. As I'm making deliveries now with addresses on it there is
no way anyone with a current address will change it. Or should I say allow
anyone to change their address. People already have at least two addresses
(lat long ) and a third (parcel block for taxes)

