PingIM Xpression
As mentioned above, PingIM is a feature-rich instant messaging and address
book PingTel Xpression. This section details the application from the
end user's perspective. All major functionalities and features are discussed
below. The next section, PingIM Internals, discusses the overall
implementation design as well as delineates the more technical details (e.g.,
LDAP, SIP, etc.).
The first time the user starts PingIM, s/he is prompted to enter information
about an LDAP server . The hierarchical
nature of LDAP services makes it especially well-suited for directory information
and particularly appropriate as a storage mechanism for PingIM's buddy list
data. The user must already have an account configured on the LDAP
directory, and s/he should already have two child nodes called "ou=pingim_phone"
(for PingIM buddies) and "ou=pingim_machine" (for X10-controlled devices).
When starting PingIM for the first time, the user is asked to enter
the hostname and port of the LDAP server, the username and password used
to bind to that server, as well as the base level of the LDAP tree. Upon
exiting and restarting PingIM, the same LDAP information is used, saving
the user from having to retype the same LDAP information.
Figure 1: Example PingIM node hierarchy for LDAP directory
Figure 2: Example LDAP tree showing the PingIM buddies and
X10-devices for uid=msherr
It is important to note that unlike most popular IM clients such as AOL
Instant Messenger, Yahoo! Messenger, or ICQ, PingIM does not have the notion
of a central repository for buddy-lists. That is, each user can store
his buddy information on a separate LDAP server. (Of course, if several
users wish to use the same LDAP server to store buddy information, that is
also allowed.) This design decision allows institutions or organizations
of any granularity (e.g., Columbia's computer science department) to have
their own organizational LDAP directory. Or, the more technically sauvy
PingIM end-user may wish to have her buddy list stored on a LDAP server she
runs off of her own computer.
Buddy List
Once the user successfully enters information about the LDAP server, she
is presented with her buddy list, as shown in the example below:
From the buddy list screen, the user has several choices. She can
choose which buddy she wants to communicate with by using the scroll knob
and selecting with the right-hand soft keys. In the above example,
the user with the nickname "Micah Sherr" is selected. The PingIM
user can then select one of the four actions displayed on the left-hand action
bar: IM (send an instant message), Call (place a SIP
call), Info (Show information about this entry), or Del (delete
this entry).
Next to each user's name is his status symbol. The status symbol
shows the current status of that particular user. The current set of
statuses and their symbols is as follows:
Status
|
Symbol
|
Offline, unknown
|
O
|
Present and available
|
+
|
Away
|
A
|
Busy
|
B
|
Do not disturb
|
U
|
In most menus, the status of the local PingIM application is shown in parentheses
at the top. In our previous screen shot, the local user set her status
as 'Available'.
The soft keys on the bottom toolbar (refering to the illustration above:
Phonebook, X10, and Refresh) are used to refresh the screen and toggle between
different modes. The Refresh soft keyrefreshes the buddy list, updating
the status display of each buddy. Pushing the Phonebook or X10
soft key changes the mode of PingIM.
Phone Book
In either IM mode or X10 mode, the user may press the Phonebook soft
key to switch to phone book mode, pictured below:
The phone book is very similar to the Buddy List. The major difference
is that the phone book contains all entries under the LDAP binding branch
that contain a SIP attribute. That is, the phone book displays not just
PingIM buddies, but also all phone book entries that can be found in the
LDAP directory. Again, pressing the Call soft key on the left-hand
toolbar will initiate a SIP call (send an INVITE) to the selected user.
X10 Mode
The final mode in PingIM is X10 mode, used to send commands to appliances
that are connected to X10 devices. The X10 menu may be accessed by selecting
the X10 soft key from either the IM or Phone book menus. For
X10 devices, the user has two primary options: turn the device on or
turn it off.
Menu Mode
At any time, the user may navigate into Menu Mode by pressing the MORE button
and selecting menu. The menu, shown below, offers several choices to
the user: Add Buddy, Delete Buddy, Change State, Reconfigure LDAP, or
Exit.
The user can return to his previous menu by once again pressing the MORE
button.