Re: thoughts on faces

Jamie Zawinski (
Mon, 6 Jan 92 01:38:08 PST

In message <9201060413.AA15991@Sun.COM> Rex Monty Di Bona wrote:
> Faces is for displaying the icons associated with people in the network.
> Now, the way these people are identified is through their network address.

Well yes, but one of my points was that I think it should be for more than

> This is a pretty tall order. You have a lot of mappings here, and are trying
> to implement most of X-500 for the local domain. I'd love this sort of
> generality, but it is hard to achieve, and retain some sort of efficiency.

Well that I don't buy at all. You're just mapping a large set of keys to
a large set of values; it's not a hard problem.

>> I would then modify my mail reader to send a command to this program each
>> time a new message was selected. In this way, I could have a small window
>> always displaying the face of the sender of the current message. (Since I
>> use VM inside Emacs to read my mail, this would be pretty trivial to do.)
> But do you not wat it on delivery of mail? Or does your mail reader scan
> your mailbox for new mail? In that case you have a duplication of scanning
> between faces and your reader.

As I said later, I'm talking about two things; the first (which I talked about
second) is essentially what faces does now: show me what's in my inbox waiting
to be read. The second (which I talked about first) is that I would like the
interface of the mail and news readers extended to show me bitmaps
corresponding to the message I'm currently reading, regardless of whether it's
a new message or not.

> My mail reader is very dumb, and is little more than more on mail boundaries
> (I like it like that too). So having faces scan the mail box is a nice
> option. It also means I don't need modifications to the mail deliverer or
> the mail reader.

I'm not proposing that the existing functionality be removed or even changed
in any user-perceptible way; I'm just talking about some extensions and
reorganizations that would make much more applications possible for those of
use who use more sophisticated message agents.

> If your address keeps changing (at the local level, or at the global level,
> ie your address from this message is
> Jamie Zawinski <>
> What changes? changes, or jwz changes? In eithercase I'd say this
> is a problem with your administrators. Consider your network address like
> a postal address. It is annoying when that changes, and has similar
> ramifications.

It is annoying, but unfortunately true. My address hasn't changed here at
Lucid because our sysadmins are competent; but at other jobs I have had,
random permutations have been made to my address as our connectivity to the
net changed, or as machines were added or decomissioned and my "home" address
changed, and so on. In an ideal world people would have one mail drop all
their lives, but this is not that world. People change jobs, machines get
renamed. Consequently, I think that real names are better keys than network
addresses. Some combination of the two is even better; for example, some kind
of regexp where you say "John Doe" at some machine in the ""
domain. Granted, this should *be* the address: "" should
work; but it doesn't, because most sites don't have it together to that
extent, and won't in the forseeable future.

> Whilst I think these would be a good idea, I disagree that these should
> be in the mail reader. I want a mail reader to read mail, not to tell me
> about the time, or the weather, or anything else.

Well there's no point in our arguing about this; we're not going to convert
each other on such fundamental matters, and this isn't the forum to do so

> I'm also of the opinion that these would be better handles by a change to
> the X-Face line of the mail item. I share a room, and we share a telephone
> line. If one person sends a message "from the telephone" they use a
> different X-Face line, and I know where the message is from before I read
> it.

I'm not sure I understand what you mean by this. Do you mean that the bitmap
associated with a message should be solely in the province of the sender of a
message? As a reader, I want more control than that. Faces should be first
and foremost a tool for *me*, not for the sender of the message.

> NO NO NO. The X-Face should NEVER be stored in the database. See above,
> the X-Face from a person can change according to the message type, if
> you want to change the "default" icon for yourself that is an explicit
> action, and should be done explicitly.

Ok, that makes sense. I was under the impression that the current
implementation did store it in the database, but maybe I'm wrong.

> DNS takes approx 20% of the bandwidth of the network in Australia (the
> only place I have data for).

I am absolutely certain that the number of people using a face server will
never approach the number of people who ever need to resolve host names.

>> If you think about it, this is exactly the same as having every user of
>> "face" ftp a new copy of the bitmap tree from iuvax every couple of weeks,
>> but more efficient, and more to the point, automated.
> But why? Why not grab the faces you want, and keep them. Faces don't change.
> It is far more efficient to have small messages for infrequent occurances
> (a face changes, you know, you were in a disfiguring car accident etc..)
> than for the common thing (getting the same data over and over and over)

The example I'm thinking of is the large set of bitmaps for organizations and
newsgroups that Steve Kinzler has been collecting. Every time he sends out a
message saying "I've got N hundred more pictures for you folks" a lot of
network traffic is going to be generated. If a face server consumes more
bandwidth than the file-transfers that would be happening in its absense,
then it's not doing its job.

> elisp? One monolithic program relinking on each invocation?

-- Jamie