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.
The 3 figures above are explained in the following 3 lines :
- First, perak has to run qtjim through the QPE/Qtopia environment. Then he just clicks the Cute jim icon as shown in Figure 1.
- 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).
- 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 :
- The location of a logged jabber user (e.g. home, office, etc.)
- A hardware resource (e.g. laptop, my PC, my PDA etc.)
- A software resource, that is the jabber client used to login (e.g. qtjim, konverse, gabber etc.)
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.
Now lets see what happens after perak has clicked the Connect button as shown in previous section Figure 3 :
- 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.
- 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 :
- Boulis has logged from two resources (home-office and lab). The online status associated with the first logged instance of boulis has an
extended away online status, while the second instance (the one with the lab resource) has an online status of value online.
This a apparently means that boulis moved away from his home-office and later logged from the university lab.
- Next buddy (siganos) logged in and then logged out, so we can see he is currently offline.
- As for tsiatsis, we don't have any info of his presence. As shown in Figure 6, right clicking on tsiatsis the Subscribe item is enabled,
which means perak has not subscribed to tsiatsis presence. For perak to be able do get tsiatsis presence, he should first subscribe to his presence
(we will examine this right is next section).
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 ...
The 3 figures above are explained in the following 3 lines :
- As shown in Figure 7 perak selects Roster Add User from Action menu.
- 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.
- 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 10 | Figure 11 | Figure 12 |
The 3 figures above are explained in the following 3 lines :
- Figure 10 shows xarhs logging in jabber.
- 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.
- 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 13 | Figure 14 | Figure 15 |
Here is the explanation for Figures 13-15 :
- perak doubles click on xarhs' resource (Zaurus) as shown in Figure 12 of previous section. A chat window pop-ups and perak writes
a message and is about to click the Send button (see Figure 13)
- Figure 14 : xarhs immediately sees a dialog informing him that perak wants to have a chat with him and asking him if he would like to add perak
to his roster, since xarhs isn't subscribed to perak's presence (while perak is subscribed to xarhs presence). Xarhs would like to do so, so he is
about to click on the Yes button.
- Figure 15 : After clicking the Yes button the Add User to Roster dialog pop-ups and xarhs chooses to add perak to his roster
with nick name perak at group classmates. Xarhs is now about to click OK button.
 |  |  |
| Figure 16 | Figure 17 | Figure 18 |
Here is the explanation for Figures 16-18 :
- After xarhs clicks the OK button (see Figure 15), perak gets a subscription request from xarhs (Figure 16) and accepts it.
- As depicted in Figure 17, xarhs tells perak how cool qtjim program is .... Then he selects My Roster from the Windows menu, to show
the roster in front of all the chat windows (in this case there is only one chat window, the one with perak; but there is no limit in the number
of chat windows).
- Figure 18 shows xarhs' roster. Now xarhs not only has added perak to his roster but he has also subscribed to perak's presence, since he gets
his online status (online, as indicated by the lamp icon)
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 19 | Figure 20 | Figure 21 |
Here is the explanation for Figures 19-21 :
- Xarhs is about to click the Send button (Figure 19). Unfortunately, he is very busy right now, so he would like to indicate to
perak he will not be available for some time, until he finishes an urgent job.
- Figure 20 shows xarhs to select the Set Status sub-menu and then the Extended Away status.
- Figure 21 depicts perak's roster having xarhs' status set to Extended Away.
Group Chat
Not Yet !!!
UI Changes
These are some screenshot from the new QTJim version :
 |  |
| Figure 22 | Figure 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.
- Fig 22 shows that now setting online status is easier by using the status icons discussed before
- Fig 23 shows that the Window Menu shown in all previous screenshots (which indeed manipulated roster and chat-editors windows) is now named View Menu to emphasize, that roster and chat-editors are now widgtes that can also can be raised to top(in front), just like their windows couterparts did. Now the View menu contains in the left of each item a status icon. For the roster it shows your current online status and for each chat-editor, your buddy's online status,
Manolis Perakakis <>
Last modified: Mon Feb 4 07:46:49 GMT-5 2002