The Faces Project
|
Alan Coopersmith recently mentioned faces in a blog entry. I've been meaning to write this one up for a while. It's another in the series of fun things I've done at Sun which wasn't my RealJob(TM). |
Faces is a program for monitoring a list visually. Typically this is a list of incoming mail messages. For each element in the list, an icon is displayed.
It is based on the AT&T v8 face server called vismon written by Rob Pike and Dave Presotto, but is not derived from vismon sources.
Here's a pointer to the original Paper on vismon by Pike and Presotto.
Here's a simple screenshot of the last ten messages in my INBOX at that time (including X rated spam). And a little bit of trivia; the faceless image there is Peter Weinberger from Bell Labs (now at Google along with Rob Pike).
Faces now has three different modes of operation:
- The default will monitor for new mail. By default, only the last ten messages are displayed. Using the left mouse button it is possible to toggle the text in the faces window. This will either be the username or the time the mail message arrived. The icon shows the image of the last message to arrive.
- You can monitor the whole of a mail file. The open window will automatically adjust it's size to correctly show the face icons. The open window options are the username or the timestamp and number of message from that user. The icon will display the image of the last message, and a count of the total number of messages in the spool file or mail folder.
- Custom monitoring. You can specify a program or shell script to run. The standard output from this program will be read by the faces program, and the appropriate faces displayed using the information provided. The format of this face information is given in the faces manual page.
What makes this really useful is that, thanks to Steve Kinzler there are already huge databases of face picture icons (called picons) available to download and use with faces and a huge collection of programs and scripts that work with it too in custom monitoring mode.
What made this really innovative at the time (start of the 90's) was that the face for the sender of the mail message could be included in the message header. You still see these X-Face: header lines in messages today. Here's the one for Albert Einstein:
X-Face: }>Y~A__8Wg_4*D?SygbgH\#5+.:g"Ly4p5$v0Z[g5
&W&rbWfoCZ1a'9wsvc"i#-G'YA8pkGz<*9PiUvb=)|Qdg.;=le5J2KC".L_,XZDZI;um
Y(71}8l/|qj..m=We[]du);*&q,|_m5%2G%>IO#gkh)T4{EPa_RtjBRMau2D;(r6m\Lm
Y3
Faces could take this and turn it into a small 48x48x1 (Blit ikon) black and white image of Albert and display it. If I remember my history on this (and James can correct me if I get it wrong), the text above is a compressed representation of the difference between Albert's face and the "average" face created after combining numerous initial samples.
This compression and decompression to/from an image into a string of text in the X-Face: header lines was created by James Ashton, then a student at University of Sydney. See his link for more details on this. Urge him to create a color version. Even though he might have doubts, I think there is a useful need for such a thing and the reasons that are slowing him down aren't really relevant anymore.
Here are some galleries of screenfuls of X-Face's. [1] [2] [3]
You can find a great collection of X-faces (plus the X-Face: lines they use) here.
An incredible amount of software was created to use the picons and X-Face: file format. This included conversion utilities to get your favorite image to/from the formats supported by faces and the other similar software.
Here's an image of a message with an X-Face: in an Emacs mail reader(in Japanese).
There are even some enhancement requests in the Mozilla bug database to add X-Face: support (including patches to do this) [1] [2] [3]. The oldest one actually looks the most promising, but I've been seeing this for several years with no commitment by the Mozilla owners, so don't get your hopes up.
The original version of faces at the end of the 80's, early 90's had support for a lot of different graphical toolkits at that time. One of my favorites was the NeWS implementation (initially suggested by Heather Rose and enhanced by Andrew Nicholson and Pat Lashley) which read a file.ps file containing the PostScript code to display for the image. Alert readers will recognize that you could easily provide animation this way.
Then in 1992, I got interested in other things, and Chris Liebman took over for a while with a slightly different faces-like program called xfaces
In 2001, I decided to bring faces upto date. The latest version is a GNOME/Gtk+ program that uses automake and autoconf (thanks to John Kodis) and adds in support for the XPM graphics format and POP and IMAP remote mailbox formats (thanks to Robert Adams).
Numerous other people have worked on faces over the years (including Sun folks like Hal Stern and Rich McAllister) for which I'm very grateful.
If you are interested in this latest version, you can get the source code from here. Again, it's not being actively worked on, but it should be stable and useful.
( Jul 08 2004, 07:51:07 PM PDT ) [Listen] Permalink Comments [2]
Sunflowers
|
The house we live in now has a landscaped garden at the back. Lots of different kinds of plants, that flower at different times of the year. It's beautiful. In short, it's inspired an interest in gardening in me that I've never had before. Our son recently said he'd like some sunflowers, No problem I thought and about 2-3 months ago, went down the local nursery and got a couple plants. |
The snails got one of them and the other was outgrowing the 3 foot stick I'd bought to support it. So it was a return to the nursury to get two more plants, 3 long sticks and some snail bait.
Now, with the plants flowering we have one that's about 7 foot high with a large flower at the top. A second that got bent in the winds a couple weeks ago and lost the top half and the first flower. It's now got a second flower blooming half way up (about 4 feet off the ground). The third also got bent in the winds and is just starting to recover.
This morning, I took a closer look at the one that's in full flower. The flower (as of 8am) was facing towards the sunrise. Earlier this afternoon, it was facing south, and this evening it's almost tracked around to where the sun will set. I simply didn't realise they could do that. It's kind of unnerving. Brings back memories of reading Day of the Triffids.
(I hope you weren't thinking I was going to be writing about flowers at Sun).
( Jul 08 2004, 05:07:45 PM PDT ) [Listen] Permalink
What Sun RSS feeds would you like?
|
Ben Hammersley recently wrote about how to turn Fedex tracking into RSS. Now whenever a Fedex person so much as breathes on your package, you'll get to know about it. Instantly. If you read the post, you'll see that this was a hack, albeit a very clever useful one. It would be nice if Fedex now went out and officially provided the same kind of functionality. |
Taking this one step further, what stuff on our Sun webpages would it be nice to also see provided as RSS feeds? No promises here, I'm just asking. One that I'd like to see, is for the publically available bug reports. Wouldn't be it be useful to know when new bugs have been reported against your favorite applications or libraries?
Or when a new version or update of a Sun product becomes available. Or new technical tips for developers. Or new major initiatives that we announce.
But I suspect there are lots of little useful feeds that would make a difference.
What Sun supplied RRS feeds would you like to see? Please comment.
[Technorati Tag: Sun Microsystems]
( Jul 08 2004, 05:00:04 AM PDT ) [Listen] Permalink Comments [2]













