4.5. Chat

4.5.1. Overview

The IRIS Chat Application handles real-time conversations with other people or software agents called chat sessions. In the left pane, the Chat Application displays a list of all chat sessions. In the right pane, the selected chat session is displayed. If requested, chat sessions can be detached into popup windows that are usable even if the Chat Application is not the currently selected application.

4.5.2. Setup/Configuration Requirements

4.5.2.1. Chat Server

The chat application relies on a Jabber/XMPP chat server and chat user accounts set up on the server. Currently the default chat servers chosen for IRIS are jabber.org for 1-on-1 chats and conference.jabber.org for group chats. These default choices are encoded in the iris_svc_config.xml file in the bin directory of this IRIS release.

Your chat user account on the chat server is automatically set up when IRIS is launched. Your chat user name is currently set to be the same as your IRIS user name. For example, if you log onto IRIS as user shardt, your chat id on jabber.org is shardt@jabber.org. For group chat, your nickname is also the same as your IRIS user name.

To find other public Jabber/XMPP chat servers to connect to, you can see a list of public servers on www.jabber.org. Use any server in the list that has "Group Chat" capability. In iris_svc_config.xml, set chatBaseServer to the server-name and chatGroupServer to conference.server-name.

4.5.3. Basic Chat Usage

The Chat Application consists of the Selected Chat Window with Input Bar, the Chat Tree, and optionally several Detached Chat Windows.

The Selected Chat Window is in the center and shows the currently selected chat, which consists of a list of messages among participants in the chat. An active chat is a conversation currently in progress. It has an Input Bar at the top to add messages. An inactive chat is a read-only view of a previously completed conversation. It has no Input Bar.

The Chat Tree is located to the left of the Selected Chat Window and contains a list of all open chats, active chats in bold, inactive in normal font. Click a chat to make it the Selected Chat. Chats are grouped by Chat Category, then by date.

Figure 4.44. Chat Tree Window

Chat Tree Window

When Iris starts, all chats for the current day are loaded into the Chat Tree. To see chats from previous days, choose "Open Chats on Date..." from the "Chat" menu. Select a day, and all chats from that day are loaded into the Chat Tree. The following shows a chat window showing a completed chat session conducted on a previous day.

Figure 4.45. Chat Window Showing Chat Session from Previous Day

Chat Window Showing Chat Session from Previous Day

When a chat is selected, you can establish connections for that chat session to other data items such as Projects or Tasks. To do this, see the section on Connections. The Selected Chat Window contains each message in the chat session and has a header with the name of the message's sender. Clicking this header will make that one message the Iris focal object. You can now modify the message's fields in the Data Item Viewer pane or establish connections to that message using the Connections pane in the Sidebar->Connections and Suggestions pane.

You may want to participate in a chat while performing some other task in Iris, e.g. reading your email, or updating your calendar. Since you can only see the Selected Chat while the Chat Application is the selected application, Iris provides Detachable Chat Windows. With a chat selected, press the "Detach Window" button and the chat becomes a separate independent pop-up window. You are free to use other Iris applications and still interact with this chat. Clicking the X button in the corner of a detached chat re-embeds it in the Chat Application like any other chat. A detached chat cannot be the Selected Chat, so it cannot be the focal object. If you want to make a detached chat the Selected Chat, you must re-embed it first.

Figure 4.46. Detached 1-on-1 Chat Window

Detached 1-on-1 Chat Window

If message arrives in a chat that is not currently visible, a notification will appear in the Notification window. Clicking the notification will bring you to the new chat message. The following shows that a message arrives in the notification window because the current chat focus is another chat session.

Figure 4.47. Notification Message While Another Chat Session is in Focus

Notification Message While Another Chat Session is in Focus

4.5.4. Categories of Chats

There are three types of Chats in Iris:

4.5.5. 1-on-1 Chat

This is a chat between two people, an instant-message service using the XMPP (Jabber) protocol.

To use 1-on-1 chat, you need a running Jabber chat server. Currently, the jabber server settings are specified in the Iris XML configuration file. Future versions of Iris will provide GUI elements for these settings. Iris ships with settings for a public Jabber server which may or may not be adequate for your needs. If you need to change the settings to a different Jabber server, edit iris/bin/iris_svc_config.xml, set chatBaseServer and chatBasePassword, and restart Iris. Currently Iris always uses your Iris login user name as your Jabber chat id.

On startup, Iris automatically logs in to your Jabber server making you eligible to receive incoming chat messages.

If your chat user name happens to be used by some one else on the chat server, an error will be displayed when IRIS is launched. This problem can be corrected by using a different IRIS account name, hence a different chat user name (see the Troubleshooting section).

Figure 4.48. Error Message - Unavailable Chat ID

Error Message - Unavailable Chat ID

To start a new chat with someone logged into the same jabber server as you, click the "Start Chat" button or menu item. Enter their chat user name without a hostname, e.g. "mrbill32" not "mrbill32@jabber.org". A new chat is created and set as the Selected Chat. Start entering text in the Input Bar to send chat messages.

The first message you enter will automatically be displayed on your buddy's IRIS Notification window. If he/she clicks on the message, a 1-on-1 chat window will automatically come up to enable the chat session. One can receive multiple notification messages if multiple chat sessions are going on at the same time. However, only the most recent notification message of each chat session is displayed in the Notification window.

Figure 4.49. Notification Window with Multiple Notification Messages

Notification Window with Multiple Notification Messages

4.5.6. Group Chat

This is a group of people having a shared conversation. a Group Chat is also known as a chatroom or a conference chat.

Similar to 1-on-1 chat, Group Chat requires a Jabber server and settings in the XML configuration file. Currently you may only join group chats hosted on a single server, the one set as chatGroupServer in iris_svc_config.xml. Future versions of Iris will remove this restriction and provide GUI elements to set the group server name.

To join a group chat, click the "Join Group Chat" button or menu item. Enter the name of the group chat, without hostname, e.g. "dog-lovers". A new chat is created and set as the Selected Chat. The server provides a number of recently posted messages. The Group Chat window displays the nicknames of users engaged in this group chat in a column next to the main group chat window.

Figure 4.50. Group Chat Window

Group Chat Window

4.5.7. Notes to Self

Notes to Self is similar to a daily journal and consists of messages to yourself. Add messages like any other chat with the Input Bar. Use the "Open Chats on Date..." menu to view notes from previous days.

Figure 4.51. Chat Notes to Self Window

Chat Notes to Self Window