Metafinger modifies it's behavior based on "who" is using it. The default way that it filters, sorts and displays the information it retrieves may be determined by the individual user using it. Personal (and private) user groups may also be defined. The personalization information is stored in a user profile in a user's home directory.
Another level of user customization is provided by the video
interface to Metafinger. This interface uses a second configuration
file, written in Isis, a variant of Scheme used for structured video composition
by the Cheops Project , and now extended to general purpose computers.
Within this file, the user is able to define both how they are
represented in other users's video and how their video is generated
from the information gathered from the finger servers and the other
user's video configuration files.
Metafinger supports the concept of online communities, or groups,
which change over time. These groups may be user specific, or defined
at the system level. For several reasons, the system groups are defined as
being the public mailing lists at the local site:
Metafinger generates either text or image output upon user request and
medium availability. To easily support the largest variety of computer
systems, a WWW interface is provided which supports both text and image
formats. A Unix command line version which directly replaces
The text display medium is the one traditionally supported by the
finger application, with two
variations: a "long" format and a "short" one. Both of these are
supported by Metafinger, with some customization allowed. Given the
extension to multiple machines, an additional text formatting
variation was introduced: summary . This new format
condenses all information about a single user into a single report.
Here are two examples of the summary format showing the same
information, using different user profiles. The first is still long,
showing all information :
The second example filters out multiple user logins per machine
(showing the most active) and only shows some of the information
retreived from the servers in order to condense the presentation.
As is traditional in simple Unix applications, and WWW interfaces, the
actual choice of font and font size is made by the program (terminal
emulator or web browser) used at the interface between the user and
the application.
Text is also used as the default output format if Metafinger was
not able to interpret the information returned by a finger server.
Oftentimes this is an error message, or a response to a request for
the "long" format.
Video is a term used loosely here, as the refresh rate is
typically 0.2 - 1 frames per minute. This is an intentional design
decision, as the Isis renderer is capable of several frames/sec using
a networked X display interface. I feel that since the finger
information is by it's very nature "slow" changing (the server system
is designed around the assumption that information up to two minutes
old is acceptable), a slow refresh suffices. It also makes
the system more accessible - it works fine over low bandwidth network
connections, such as 28.8K dialup.
The video output utilizes an additional database of video objects
representing known users at the local site. The actual image is
synthesized by executing a rendering script specified by the viewing
user, which is provided with the same information given the text
display routines. The rendering script in turn executes scripts
(provided by the users being displayed) to provide the image
information for each user. Users who don't have a video object
defined are represented using a generic user object with a "nametag"
of their username.
The default renderer places the user objects in a 3D space
defined by the background selected. In order to indicate the
amount of time a user has been idle, transparency is used. The
more transparent a user, the longer they have been idle. Additional
visual cues remain unexplored at this point.
At the deepest level, we have the construction of an executable
application for different flavors of computer systems. Any
application like Metafinger, which intends to build community in
today's heterogeneous computing environment, must run on most
computers at a site. This requires that all the instructions on how
to compile and link the executables are themselves written in a higher
level language and compiled down for a particular architecture.
To some extent, I failed at this, for although generating the
command line executable for a UNIX (or POSIX) operating system is
pretty easy, I provide no native Metafinger application for most
personal computers. Instead, I rely on the ubiquity of the WWW
browser to provide an acceptable interface with a minimum of effort,
at the cost of maintaining an additional server.
Knowledge of Community
Multiple Display Mediums
finger
and only supports text output is also provided.
Text
wad (John Watlington) active on cyrano ( ,Thu 20:31,*p1,dynamic-56)
idle on cyrano (2:33,Thu 20:31,*p2,dynamic-56)
swensens (3 week,Thu 13:25,*co)
John Watlington working on cyrano ( ,dynamic-56)
idle on swensens (3 week)
Video
Multiple Architectures
Meta Finger Top Level
wad@media.mit.edu