Signin
Identicon Explained

To help people undersand why and what of identicon, I hoisted up one of my comment to previous posts.

I originally came up with this idea to be used as an easy means of visually distinguishing multiple units of information, anything that can be reduced to bits. It's not just IPs but also people, places, and things.

IMHO, too much of the web what we read are textual or numeric information which are not easy to distinguish at a glance when they are jumbled up together. So I think adding visual identifiers will make the user experience much more enjoyable.

I think identicons have many use cases. One use is embedding them in wiki pages to identify authors. Another is using them in CRM to identify customers. I can go on and on. It's not just about IP addresses but information that tends to move in 'herds'.

 

Comments
It reminds me a tiny bit of Tuft's sparklines, but for identification rather than data. https://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&topic_id=1
test
test without proxy
MuteThis   at 2007/01/22 05:49:56 AM
Test
MuteThis   at 2007/01/22 05:54:16 AM
Bummer, NAT = Shared identicon
At least it's all in the family, no? :-)
What's my Identicon?
I like it, although the smaller sizes could make it a little hard to see the subtle differences between them.

At work (where I'm posting this from), we all have the same IP just like at home my wife and I share the same, but it's a good indicator of location nonetheless.
Macuyiko   at 2007/01/22 09:56:41 AM
Nice
As I said on another blog, this represents a security risk to posters. I can easily "reverse" an Identicon and get someone's IP address.
Hi Matt. Would you mind either explaining how or where you explained how you can 'easily reverse' identicon? Also, once you've gotten someone's IP address, how you would go about using it?
Interesting concept.
Howard Weisberg   at 2007/01/23 10:18:49 AM
So if my Identicon is similar to yours (the casual reader won't notice the difference), I am now you.
Howard, that happens less often you think and the chance of such event coinciding with one of the two people with similar identicons being an a..hole is even lower I would think, even in NY.
What about IPv6.

Currently I understand you are using a hash to secure the information about a person's IP address.

How would you expand the these icons to include the IPv6 space. I'm thinking that keeping the IPv4 icon as is and adding additional information so that an individual could quicky visually see every matching IPv4 IP address in the IPv6 space. Did that make sense?

So perhaps

[4][3][2][1]

with each [x] being a 32 bit range being represented by a differnt icon. The [1] represents the IPv4 space. This would work as it assumes that everyone sharing the IPv4 space would be semi-related.

What are your thoughts?
Howard, I just ran through the calculations for the chance of an overlap (or tried to at least, hopefully no stupid math mistakes). The chance of anyone exactly overlapping Don would be 1/2^32 (1 out of 4 billion). I think the chance of <em>any</em> two users overlapping is less than 1% for less than 9000 users and less than 10% for 30,000 users. Of course, you're right in that some symbols could be confused for each other but even if we assume only 10 million distinguishable symbols, there is still only a 1% chance of any overlap with 450 users (and of course only a 1 out of 10 million chance for an indistinguishable match with Don).
Oops did manage to do some stupid math. The chances for an exact match with Don were for only one user. For X number of users it would be 1-(9,999,999/10,000,000)^X so only a 1% chance with 100,000 users assuming 10 million identicons.
ScottS: actually I think visual similarity would cut the number down fairly significantly. But the chance of two similar identicons appearing in the same 'context' (page, comment thread, etc.) is fairly low even if birthday effect is taken into account (365 days is rather small, no?)

Ted: one way is to add more shapes (my implementation needs just vertex parsing code to do this via a simple configuration parameter) and expand the color set a bit to use the extra 16 bits. If IP4 bits are left as is, mapping to old patch shapes, then only the IP6 will have the new shapes and visually distintive. Another way is to introuce a completely new quilt type for IP6.
I like the ideas in the RFCs for IPv6 that cover backwards compatibility. Also perhaps for the extended IPv6 space I could use the full bitspace for the colors for each sub-glyph that makes up the enitre glyph. This could be visually problematic with glyphs that are compressed in size to fit within a line of text.

You have given me a couple ideas.
Sure seems like there should be plenty of identicons to go around. Just out of curiosity how many visually different possibilities would be your best guess?
Hmm, my bellybutton's guestimate is 0.5G to 1G.
My identicon looks the best so i wanted to share it with you all
Nice idea :)
Unfortunatley (as someone already said), there icons are too small to be enough distinguishable for the human eye in the case of similar glyphs.
Maybe a vectorial implementation of the rendering engine would help in the creation of zoomable and more rich glyphs
Good idea! I like it!
NinjaCross: Identicons don't have to be small but, like sparklines, smallness is necessary for inline use cases.

Re distinguisability between similar glyphs, a key identicon glyph algorithm criteria is rare similarity, meaning that the need to distinguish between similar identicons will not arise normally.
Don,

I wrote a PHP port of the JS code you posted. The advantage of this port is that works on PHP servers that have an old gd library (<2.0).

The code can be freely downloaded from:
http://www.calcugator.com/personal/identicon_test.php

Jose
Gooseman   at 2007/02/09 03:46:29 AM
Cool - that look great!
Gooseman   at 2007/02/09 03:46:49 AM
Cool
Reminds me of Fractals, I suppose it just depends on the ammount of information you need to encode
Very neat idea. I guess the problem is indeed for those of us who use multiple addresses (in my case, at least 4 on a regular basis).
(from VPN -- I think I prefer this one!)
ha! looks your identicon could guess my favorite colour too :p tough I'd like the image to be more complicated. :D
nice work!
Wah! I wanted a prettier color!

Seriously, cool trick.
Nice script, cool effect.. and I love blue :-)
Nice script, cool effect.. and I love blue :-)
I don't like my identicon, but the idea is neat.
oooh I like mine!
proxy test
proxy test
proxy test
proxy test
proxy test
test
jarrettv   at 2007/08/04 11:57:33 AM
test
how would it looks like?
Interesting...
Very interesting!... great!!
great blue!   at 2008/01/23 05:37:55 PM
great my favorite colour: bue!
I also like mine~

Great stuff!
Janice Collins   at 2008/05/15 01:44:21 PM
Very interesting,
yeah! Kinda cool but what is this good for?
Your Identicon:
Name: * required
Email:
Website URL:
 
Comment:
HTML not supported