The QTJim Project : Manual

[ Up ]

[ QTJim Home | QTE requirements | Download | Manual ]

[ NOTE ] : These are the screenshots for QTJim version 0.3.4 (for QPE) which used the MDI (QWorkSpace) approach (roster and chat-editors are windows). As from version 0.3.7 both roster and chat-editors are widgets, not windows and a QWidgetStack is used to manage them, so these screenshots are much like but not exactly the same as they are in 0.3.7 version. I will replace them soon. Until then keep reading; it is essentially the same stuff. See in the bottom of this page (section UI Changes) to check some UI differences.

About this Manual :

  This is a short manual showing some of qtjim functionality you need to know in order to effectively use the program. It is separated into small sections each explaining briefly a specific topic. For each topic many screenshots are provided to make it easier for you to understand the topic by explaining what each screenshot is about.
  To further explain the topics as a whole, a scenario is rolled out while moving from one topic to the next. The scenario is a simple showcase of what may happen when online with jabber. The scenario assumes that I log as perak(from Chania Greece) in jabber to talk to some of my classmates from the 93 graduate class in the Technical University of Crete. These friends are : boulis (in Seattle), siganos (in Riverside), tsiatsis (L.A.) and xarhs (Pittsburgh). We need to meet online through jabber, so we can talk on an daily basis.

Logging in Jabber:

  In this section the first scene of the scenario takes place, in which perak logs into a Jabber server.

Figure 1Figure 2Figure 3

  The 3 figures above are explained in the following 3 lines :
  1. First, perak has to run qtjim through the QPE/Qtopia environment. Then he just clicks the Cute jim icon as shown in Figure 1.
  2. To log in the jabber server, he chooses Connect from Action menu as shown in Figure 2. It is also possible to create a new account to the jabber server, you will later use to log in with (In that case just click in New Account button).
  3. Then a dialog shows up prompting him to enter all the needed information such as his Login ID, his password, the resource he logs in from/by and the name of the jabber server he wants to connect through, as shown in Figure 3.
  The resource item usually indicates one of the following : Login ID, server name and resource together form what is called a jabber ID (JID). For example perak's JID is : perak@localhost/dell-laptop. Resource as a jabber feature, is very useful, because among others, it allows a user to concurrently keep more that one open sessions to a jabber server (see perak's classmate boulis in next section).

Examining the Roster :

  The roster is a list (usually visualized as a tree) of other jabber users, a jabber user has a presence relation with. These jabber users (called buddies) are usually organized into groups. Each buddy is identified in the roster by a name called nick name, which usually is the login name of the buddy (although this is not mandatory). By looking at the roster we should also be able to indicate who of our buddies are online (logged in jabber) and what their online status is (are they online/away etc).
  A handy way to do this is to use the resource the buddy used to log in for the first case and an icon (for jabber, a jabber-like lamp icon) whose color will indicate the online status for the second case. The online status values and the icons used to indicate these values are :
unknown
offline (not available)
online (available)
available for chat
away
extended away
do not disturb
Unknown, is in fact a special value i use to indicate that a buddy's online status is not yet known and not a value specified by jabber.

Figure 4Figure 5Figure 6


Now lets see what happens after perak has clicked the Connect button as shown in previous section Figure 3 :
  1. Perak logs in the jabber server and the roster (contact list) retrieved, is shown up as depicted in Figure 4. The roster as shown in Figure 4 is totally collapsed. All we can see is that it contains one top level item (classmates) which is the group to hold his classmates.
  2. We can expand the roster by clicking to all + signs and then the roster will become as in Figure 5 (totally expanded). According to Figure 5, classmates group contains 3 buddies in it (boulis, siganos and tsiatsis). Lets examine each of the three buddies :

Adding users to roster :

  Populating the roster with new buddies is an essential functionality of a IM program. In this section we will see how this can be done according to the next scenario scene, in which perak will now try to add xarhs in his roster (perak had invited xarhs -another classmate of him- to join jabber so they can talk all the time). Lets see how ...

Figure 7Figure 8Figure 9

The 3 figures above are explained in the following 3 lines :
  1. As shown in Figure 7 perak selects Roster Add User from Action menu.
  2. As shown in Figure 8 a new dialog shows up prompting perak to fill in all elements in the form. Perak selects to add xarhs to classmates group with nick name also xarhs . After filling all data perak clicks OK button.
  3. The roster (shown in Figure 9) now includes a (potential) buddy called xarhs.

Accepting/Rejecting subscription requests :

  As we saw above perak added xarhs to roster but he doesn't yet gets his presence. Adding a user to roster means you try to subscribe to that user's presence. The other user will receive a subscription request from you as soon as he gets online and will either accept or reject your request. If he accepts you will always receive his presence, else you will just have passively added him to your roster as you would with an email address. (unless you try resubscribe some times and he eventually accepts the subscription request).
  We will now see the next scene of our scenario, in which xarhs will accept perak's request to add him to his roster :

Figure 10Figure 11Figure 12

The 3 figures above are explained in the following 3 lines :
  1. Figure 10 shows xarhs logging in jabber.
  2. As shown in Figure 11, immediately after logging in, a dialog asking xarhs to accept/reject perak's request is shown. Xarhs would be very glad to allow his old classmate receive his presence, so he clicks the accept button.
  3. Now as depicted in Figure 12, perak indeed gets xarhs' presence (which is the online status).
Now as far as perak is concerned, xarhs has been turned from a potential(as being before accepting the subscription request) to a real buddy.

Talking to a buddy :

  To talk to a buddy you just have to double click on his resource item. For example for perak to talk to xarhs he just needs to double-click on the Zaurus item (see Figure 12). Then a chat window will pop-up, containing 2 text areas (as shown in Figure 13). You just write your messages in the bottom text area and click the Send button to send the message. The upper text area is used to display messages you have sent as well messages your buddy has sent to you. For each chat session a new chat window is used with a caption of the chatter JID and an icon indicating the status of the chatter.
  If the buddy you talk to, hasn't subscribed to your presence, there is an easy way for him to do so, every time you open a chat session with him. We will now see how this can be accomplished by having perak talking to xarhs :

Figure 13Figure 14Figure 15

Here is the explanation for Figures 13-15 :

Figure 16Figure 17Figure 18

Here is the explanation for Figures 16-18 :

Setting online status

  In this scene of the scenario, xarhs after having a long talk with perak decides to return back to work, so he sets his online status to extended away :

Figure 19Figure 20Figure 21

Here is the explanation for Figures 19-21 :

Group Chat

Not Yet !!!

UI Changes

These are some screenshot from the new QTJim version :

Figure 22Figure 23


From the 2 above screenshots you can see that there are not any windows inside the QTJim main window! Now QTJim main window only contains a stack of roster and chat-editor widgets, not windows.
Manolis Perakakis <>
Last modified: Mon Feb 4 07:46:49 GMT-5 2002