Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

thought experiment: Emoji geohash #1

Open
mapmeld opened this issue Jul 30, 2015 · 11 comments
Open

thought experiment: Emoji geohash #1

mapmeld opened this issue Jul 30, 2015 · 11 comments

Comments

@mapmeld
Copy link

mapmeld commented Jul 30, 2015

What is geohash
Geohashing divides the earth into 8x4 at each zoom level. When I add one of the 32 distinct alphanumerics, I go into that grid square. As a geohash gets longer, it gets more specific.

How many emoji in the geohash?
According to Wikipedia which has a loose definition of Emoji, 256 miscellaneous symbols, 192 dingbats, 766 Miscellaneous Symbols and Pictographs, 80 emoticons, 98 Transport and Map Symbols, 15 Supplemental Symbols and Pictographs make a total of 1407 symbols in Unicode 8. The first two categories were around before emoticons, so I drop them and arrive at 959 tru-moji (tm).

I'm going to thought-experiment 900 emoji in the address set, because it's 30^2 and there are probably a few (like pile of poo and love hotel) which we don't want to randomly assign to someone, especially North Korea. These are now "premium" paid emoji.

Can three emoji cover earth?
Yes, 900^3 gives you 7.29 * 10^8 addresses

What is the first emoji in my address?
My lat,lng right now is 19.6968708,96.1249349. If the origin is -90, -180, I'm 0.6094 of the way to the north pole and 0.767 of the distance to 180 E. This is where the 30^2 emoji come in. I am in the 24th row, 19th column. My address starts with emoji 709

What is emoji 709?
It's in the first 766 so it falls under Miscellaneous Symbols and Pictographs. Doing some rough calculation (including skipping the two empty codepoints) I think it's the little-known U+1F5C7 Empty Note Pad

What's your full address? What if you changed the origin?
I would need a script to continue this. Anyway if I change the origin to the top left because I'm north-west hemisphere centric, I switch to being the 17th row, so I'm emoji 499, 📲 mobile phone with rightward arrow.

@mapmeld
Copy link
Author

mapmeld commented Aug 1, 2015

hey I implemented this in Node during a long roadtrip yesterday: https://github.com/mapmeld/geohash-emoji

also I miscalculated my first emoji coordinate - real location was 🔳🏰💭

@louh
Copy link
Member

louh commented Aug 1, 2015

YUSSSSS

Let me push up my map front end and try to hook things up this weekend

p.s. WTFPL might not be a good choice because it lacks protection against implied warranty... do you have thoughts on this? I know it's stupid but part of me thinks someone may not get the joke

@mapmeld
Copy link
Author

mapmeld commented Aug 1, 2015

I can totally relicense it. MIT like this repo is OK?

@louh
Copy link
Member

louh commented Aug 1, 2015

Yep sounds great to me. Thanks! 👍

@mapmeld
Copy link
Author

mapmeld commented Aug 1, 2015

@louh OK I got you covered

@louh
Copy link
Member

louh commented Aug 1, 2015

So I hooked up geohash-emoji to the map. (Just copied it and commented out the console.log output for the web for now.) I'm also using Twitter's emoji library (https://github.com/twitter/twemoji) so that it normalizes the display of emoji across devices. Any reason why some emoji are not rendered? Are there emoji that's not actually widely used (or is Unicode 8.0)?

Example: http://what3emojis.com/map/#5/36.138/-77.300

@mapmeld
Copy link
Author

mapmeld commented Aug 1, 2015

https://en.wikipedia.org/wiki/Miscellaneous_Symbols_and_Pictographs says that it adds 24 symbols in Unicode 8 but there are significantly more Emoji missing (almost all of 1F57x down on my Android.

Im reluctant to use a web font. In practice, we could skip the rare Emoji and still have hundreds to use in coordinates... what do you think?

@mapmeld
Copy link
Author

mapmeld commented Aug 1, 2015

Ok I just read your link. Probably the 8.0

@louh
Copy link
Member

louh commented Aug 2, 2015

I traded Twemoji out for Emoji One (http://emojione.com/) because it has better coverage (see comparison: http://emoji.codes/family). But even then there's a bunch missing. I think we can skip rare Emoji, sure. Besides, it seems some good emoji are getting used in places that are off the map anyway (e.g. http://what3emojis.com/map/#5/88.629/-37.068)

@louh
Copy link
Member

louh commented Aug 3, 2015

I spent the weekend playing around with the map and gathering some thoughts. Thanks so much for kicking this off, @mapmeld. These are some follow up thoughts:

  • The algorithm for what3words makes it so that each 3-word combination is very different from its neighbors, as a form of error-correction (similar combinations are on different continents, for example, so it’s easier to tell if a typo went somewhere you didn’t expect). Also there is something really nice about browsing around and getting a random combination each time, which gives users an opportunity to nudge their point into a grid that gives them a slightly more appealing selection. You lose this when large regions share the same prefix emoji, and neighboring grid spots share the same first two emoji, like when huge areas of the US is just all clock emojis. (Interesting data point: most of Iceland’s first emoji is the Statue of Liberty, which I imagine will raise some eyebrows. At the same time, most of South-Central Australia is prefixed with a koala which is pretty cool.) Anyway, making emoji selections seem more random is probably where we should head towards.
  • One of the other things that what3words does is put longer, harder to spell words out in areas where there’s unlikely to be anyone, like in the middle of the ocean or in large swathes of uninhabited areas. Similarly we could decide to place rarer / less-well-supported emoji out in those areas.
  • One of the emoji we might consider removing is the middle finger, which a lot of vendors refused to implement (Google, iOS, Twitter… but not Microsoft, they included it in Windows 10)! Or we could decide not to arbitrarily remove sensitive emoji, if they don’t like it they can go to the spot next to it. I am actually pretty okay with that.
  • The skin-color-modifier “Fitzpatrick” emoji occasionally pops up, rendered as a large square. Is this intentional or should we remove those too? (Or use them intentionally in conjunction with the emoji they’re supposed to modify?) By themselves, they look out of place.
  • Perhaps do not allow emoji to repeat in a combination?
  • One thing I would like to do is potentially explore other forms of grids, trading off of @migurski's Faumaxion map (alternatives to investigate: gnomonic projection, hierarchical triangular mesh) since I’m afraid of expending a lot of emoji combinations out in the poles, assuming a square grid. I haven’t done the math though to know if this is a problem.

@mapmeld
Copy link
Author

mapmeld commented Aug 4, 2015

I hadn't really audited the Emoji list, which I think is important

I would like to see testing out a different grid. This was just a hack while I was on the road

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants