💾 Archived View for thebackupbox.net › ~epoch › blog › avatars captured on 2024-12-17 at 10:11:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-07-09)

-=-=-=-=-=-=-

so many standards

and which I have added support for.

gravatar (will not support)

not decentralized, so fuck em. including them here so you know I didn't miss them.

libravatar (supported)

inspired by gravatar and falls back to it, but also allows me to host my own.

The avatars serve from /avatar/${sha256} or /avatar/${md5sum}

The hashes are of the user@host that is being looked up.

The resolution method is a bit of a pain in the butt though with checks and fallbacks.

https://www.libravatar.org/

webfinger (supported)

webfinger doesn't specifiy a location like libravatar does, it just lets me return a url of the location.

So I host at the libravatar location, and point at it with webfinger.

https://webfinger.net/rel/#avatar

activity pub actors (supported)

Similar to webfinger, it has a property named "icon" that is used for supplying a URL to the avatar.

so that's what I do. point it at the libravatar location.

https://www.w3.org/TR/activitypub/#icon-property

https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon

h-card (supported)

This is also a way of identifying a URL as the location of an avatar, and works pretty decently as just an extra class that can be added to

what would otherwise be a normal HTML page containing information about a person.

like: <img class="u-photo" rel="me" src="/avatar/27fa0ea7b3af88c22e64aaba2e27509d5df85df56a0b1a96abbc23d9342e5d02" />

https://microformats.org/wiki/h-card

rel=me (supported)

I think this might actually be a thing... or maybe I made it up.

any page that is used as the identity URL of something /and/ contains an img tag with rel="me", would get assumed to be a profile-picture like thing.

... I really do think I accidentally made this up.

rel=icon (supported)

This is kind of what favicons already use, but someone suggested using this.

https://indieweb.org/icon

https://www.11ty.dev/docs/services/indieweb-avatar/

a site-wide avatar proposal (will not support)

If you're hosting a whole domain for only your own use.. favicon.ico might be a better idea.

https://blog.jim-nielsen.com/2023/well-known-avatar/

FMRL (supported)

FMRL specifies a method of updating avatars using an HTTP PUT to a specified location

/.well-known/fmrl/user/${user}/avatar

The response from a PUT will contain a Location: header indicating the now uploaded resource's location.

In my server-side fmrl implementation, I have it copy avatars into the libravatar location.

https://github.com/makew0rld/fmrl/blob/main/spec.md#set-avatar

CTCP AVATAR (lol)

I've added support for this to my IRC clients before, but I don't seem to have it anymore.

Seems like it would be fun to support automatically though.

You can either respond with a filename, or a URL. I figure some clients would hesitate to download a picture

from a URL and use that. I'd probably just return the libravatar URL I use for everything else.

if I could get it short enough, a data URI of the whole image would be nice. no extra fetch step for other clients.

http://www.kvirc.net/doc/doc_ctcp_avatar.html

X-Face (partial support)

Used in mail headers.

I've abused it before to send it over HTTP because... the MIME and HTTP look similar.

Has a really weird format that I haven't even tried to implement parsing. Also only allows monochrome 48x48 images.

It is nice that the avatar is kind of nice that the avatar is forced to be sent inline instead of a URL reference.

Now you know why my robot avatar looks like it does. I drew it with these limitations in mind.

https://en.wikipedia.org/wiki/X-Face

picons (might support soon)

this is for avatars what a hosts file was before DNS became a thing.

a decent amount of the icons are also capable of being used as x-faces.

https://kinzler.com/ftp/faces/picons/

VCard (might support soon)

I don't have any VCard support in anything that I know of... I guess XMPP does, but I dunno how to hook into that stuff to make it useful.

the VCard uses a URI, so you /could/ use a data URI.

https://www.ietf.org/rfc/rfc6350.html#section-6.2.4

not just 2D

nice post by jin about various 3D avatar formats and creation tools.

I'd like to find some way to combine some of the 3D stuff with the previous 2D stuff

and self-host my 3D avatars as well

https://hackmd.io/@XR/avatars