Apparently as far back as 1996, https://packages.debian.org/sid/x-face-el via its X-Face-Xmas mode supported 3bpp (1bit per color component) RGB X-Face, 2-to-8bpp grayscale X-Face, as well as beyond-48x48px X-Face. You could also do stuff like make animated RGB X-Face headers, and they could go beyond 48x48 as well. The extensions were used in Japan.
Here's a one-of-every-extension X-Face made entirely of my own art:
https://stgiga.github.io/stgiga6.xface
https://stgiga.github.io/LushFace.gif
The first image is a conventional 1bpp X-Face, the second is an 8-bit grayscale one, the third is a Face header containing a 2bpp PNG (stuff complained about size when I didn't make it 2bpp), the fourth is a 5-frame 12bit RGB animation (done via Datula, which allowed up to 24bit but it wasn't needed for this artwork and wouldn't clear Datula's character limit on custom header sending), and the final thing is a 96x48 5-frame animated 3bit RGB image. One thing to note is that in XEmacs, these don't grid (Datula handles multiple X-Faces as a lightbox), that was done for the sake of modern UIs, and given how the original users of this went as far as 240x48 X-Faces, you can't rely on it being the right size. Of note is that getting beyond-48x48 to work with the other extensions starts to get into the limits of what you can do. I've more-or-less maxed out the entire thing.
Oh and on 56K, the avatar artwork loads in the first second (a bit over 6KiB), though the 12bit animation may be less-snappy and the 96x48px bottom banner loads in.
And yes, I've gotten Bad Apple to work via a monochrome animated X-Face, because you can use a decimal for the frame delay. The delay value of 2 in the header means that it is 2 seconds per frame. GIFski is essential for the GIF version to bypass the fact that the grayscale alone is the 256 colors of GIF without using GIFski. The version I used doesn't like FPS below 1. X-Face-el limits you to a delay value of 0.1 (10fps) without editing the Lisp files. Datula has no such limits, so if you sent an e-mail from XEmacs to Datula, you could ACTUALLY have a full-speed Bad Apple without any frame dropping or Lisp edits that involve changing a few 0.1s to 0s.
So yes, I with help from a friend who got X-Face seen by the IANA (I was the one who introduced this individual to X-Face, something I found accidentally, and this individual had found the Japanese X-Face extensions).
Also of note is that the X-Face-Version field is interesting in that X-Face versions were names of Beatles songs. I'm not joking. Well, that field because it is never actually read is optional, and it's been used by various clients as a way of saying what made it, even without the songs.
Apparently as far back as 1996, https://packages.debian.org/sid/x-face-el via its X-Face-Xmas mode supported 3bpp (1bit per color component) RGB X-Face, 2-to-8bpp grayscale X-Face, as well as beyond-48x48px X-Face. You could also do stuff like make animated RGB X-Face headers, and they could go beyond 48x48 as well. The extensions were used in Japan.
Here's a one-of-every-extension X-Face made entirely of my own art:
https://stgiga.github.io/stgiga6.xface
https://stgiga.github.io/LushFace.gif
The first image is a conventional 1bpp X-Face, the second is an 8-bit grayscale one, the third is a Face header containing a 2bpp PNG (stuff complained about size when I didn't make it 2bpp), the fourth is a 5-frame 12bit RGB animation (done via Datula, which allowed up to 24bit but it wasn't needed for this artwork and wouldn't clear Datula's character limit on custom header sending), and the final thing is a 96x48 5-frame animated 3bit RGB image. One thing to note is that in XEmacs, these don't grid (Datula handles multiple X-Faces as a lightbox), that was done for the sake of modern UIs, and given how the original users of this went as far as 240x48 X-Faces, you can't rely on it being the right size. Of note is that getting beyond-48x48 to work with the other extensions starts to get into the limits of what you can do. I've more-or-less maxed out the entire thing.
Oh and on 56K, the avatar artwork loads in the first second (a bit over 6KiB), though the 12bit animation may be less-snappy and the 96x48px bottom banner loads in.
And yes, I've gotten Bad Apple to work via a monochrome animated X-Face, because you can use a decimal for the frame delay. The delay value of
2in the header means that it is 2 seconds per frame. GIFski is essential for the GIF version to bypass the fact that the grayscale alone is the 256 colors of GIF without using GIFski. The version I used doesn't like FPS below 1. X-Face-el limits you to a delay value of 0.1 (10fps) without editing the Lisp files. Datula has no such limits, so if you sent an e-mail from XEmacs to Datula, you could ACTUALLY have a full-speed Bad Apple without any frame dropping or Lisp edits that involve changing a few 0.1s to 0s.So yes, I with help from a friend who got X-Face seen by the IANA (I was the one who introduced this individual to X-Face, something I found accidentally, and this individual had found the Japanese X-Face extensions).
Also of note is that the X-Face-Version field is interesting in that X-Face versions were names of Beatles songs. I'm not joking. Well, that field because it is never actually read is optional, and it's been used by various clients as a way of saying what made it, even without the songs.