Switch from Gravatar to HTML/CSS letters for no-avatar users

Gravatars for users with no avatar specified use Identicons based on their IP address (or email), which can be kind of noisy – and it also means one image lookup per user.

What if we switched to a simpler approach where the first letter of the user’s name was displayed as their default avatar, ala esotalk and the Google GMail app on Android?

For conflicting letters (there are two users without an avatar that have “A” in their name, above) We could also color the blocks to reduce letter conflict ambiguity, either the letter within, or the background color:

We need to also make sure this scales down to the 32x32 avatars as well:


I like it. My only concern is the users who may have grown attached to their Gravatar. Would those users be able to keep using Gravatar if they wanted?

I think it would be weird to switch in a typographic element when the rest of the site is so icon-heavy.[quote=“codinghorror, post:1, topic:15336”]
and it also means one image lookup per user.
[/quote] so would any avatar?

I would like to keep gravatar, but with a twist.

  • On account creation we copy the gravatar avatar locally (if it exists - identicon is optional - we already have code that does this)
  • On the user page we allow people to update avatar from gravatar (in case they want to)

This solves some real big issues we have

  • We have no way of telling if someone has an avatar or not
  • We are performing way too many web requests to gravatar (1 every 5 minutes per user per gravatar)
    • We are participating in Gravatar’s global surveillance network. They know which sites I am visiting and what topics I am interested in, this is none of their business.

This simplification also helps us get rid of this business, which I am not a fan of: https://github.com/discourse/discourse/blob/master/app/jobs/scheduled/detect_avatars.rb

@zogstrip @codinghorror thoughts?

1 Like

I don’t really want to keep gravatar for users who have not specified an avatar. I much prefer the HTML/CSS avatars shown above.

I am fine with gravatar for logged in users who have provided some kind of global avatar to Gravatar, fine with copying their avatar here at initial account creation time for convenience if that’s better as well.

1 Like

I am really no following, when are we showing avatars for anonymous users? We only show avatars for logged in users.

Sorry, you’re right – I mean gravatar for users who have not specified an avatar.

For unspecified avatars, I want to use HTML/CSS.

Yeah, totally fine with that. I prefer the HTML/CSS solution. Once we have control of the avatar system this all becomes fairly trivial. The key here is to stop rendering img tags linking to gravatar.

1 Like

Getting rid of Gravatar as the default is probably fine, and the privacy gain would even be a nice benefit, but I think that colored letters will end up being more distracting then “noisy” Identicons.

More distracting? That seems… really unlikely to me.


It may be just me, but I keep getting drawn to the letter, trying to read something from it, whereas the Identicon is just a shape I can tune out to focus on the smaller text. :confused:

Also, I was thinking primarily of views with many downscaled avatars, such as the topic participation in the categories view.

Also also, Irma complains about something. Dave tries to help. Inigo has a better suggestion. Oscar points out a misunderstanding. Trevor closes the topic. Voilà, the categories page now spells “IDIOT” in large, colorful letters… :laughing:

I don’t think there’s a need to display an avatar for users who have not specified an avatar.
Usually I care about who wrote a post, so the first letter of his/her name wouldn’t matter all too much. One would have to read the name anyway.

I think you underestimate how good our brain/eyes are at detecting and identifying visual patterns. Humor me and disable images in your browser and use it for a couple days. You will definitely miss the images :wink:


True, but is a “random” pattern really that recognizable? Considering that many users use identicons (or whatever they’re called), the only property I might remember is their color, while a username is the only thing I could connect to a person. Of course this only applies to users who haven’t specified any avatar.

Users shouldn’t be forced to be identifiable by means of a Gravatar.

Have you tried reading threads like this one? Try to read that thread in its entirety and tell me you don’t get distracted, bugged, annoyed, SOMETHING by the random patterns.

On the other hand, I definitely recognize @diff by his identicon:


Anything that jettisons outside dependencies is good, IMO. Especially for a system like gravatar, which could (if Automattic decided they needed some additional advertising dollars) be used to collect and aggregate user browsing data across multiple sites for sale to advertisers.


The brain is amazing at image recognition. We can detect patterns in seemingly chaotic images far quicker and more efficiently then computers, and we can recognize these patters elsewhere (within a short timespan) almost effortlessly.

@riking, the thread you linked is indeed a good counterexample, and now I’m really curious to see what it’d actually look like with colored letters - especially considering that there are at least 11 different people whose names begin with a ‘J’. :grin:


can’t we use a “identicon” of our own? i pretty sure there are some open solutions out there… I don’t quite like the letters idea as they will eventually fail with “too many people using the same initial letter”…

this are two examples: GitHub - chrisbranson/ruby_identicon: A Ruby gem for creating Github like identicons, GitHub - swdyh/quilt: A Ruby library for generating identicon

(I agree with the “lets get out of the surveillance network” but I really like the identicons implementation… maybe letters be one of the possible options).

I really like everything that has been proposed both by @codinghorror and @sam. I’m not a fan of the identicons and think the letters a much more appealing as a default. It’d also be good not to ding gravatar all the time for everyone else.

I like identicons, but too many of them together is just noise, for example:

My eyes just want to leave that area without even looking at it. And can you blame my poor :eyes: ?

Yes, it is definitely better if every user has an avatar set, but how likely is that to happen, here, or everywhere else in the world that Discourse is installed? We need sane, safe defaults that work everywhere with minimal effort.

I believe a solid color + letter would look a lot cleaner there.