[sip-comm-dev] SIP, messaging and presence


#1

Hi,

at the moment a configured SIP account is always set to support also
instant messaging. This is not always the case (many servers just don't
support it - asterisk for example), and is leading to confusion at the
user side (my experience with colleagues): The user double clicks the
contact, the chat window opens and he tries to send a message. But as
soon as the message should be sent, a failed message appears.

What about adding an additional flag to the SIP account wizard (on the
advanced tab) "Messaging supported" or something similar. With the value
of this flag, the OperationSetBasicInstantMessaging could be set or not.
And with this operationSet not set, messaging won't be supported and the
user don't get confused any more.

A second point: If I setup my SIP account with presence disabled, all
the contacts of this account are always shown offline. Would it not be
better to show these contacts online as soon as I am registered with
this account? (I have many contacts on the contact list just with there
normal phone number, and those numbers are never offline....)

Sebastian

···

--
/**
* Sebastian Heib
* Software Developer
*
* Synyx GmbH & Co. KG
* Business in Components
* Karlstr. 68
* 76137 Karlsruhe
*
* phone +49(0)721 66 24 866
* fax +49(0)721 66 48 877
* eMail heib@synyx.de
* www http://www.synyx.de
* irc irc.synyx.de
*
* Sitz der Gesellschaft: Karlsruhe
* Registergericht: Mannheim
* Handelsregisternummer: HRA 4793
* USt-IdNr.: DE249264296
*
* Komplement�rin: Elatech Verwaltungs GmbH
* Sitz der Gesellschaft: Karlsruhe
* Gesch�ftsf�hrer: Markus Daniel
* Registergericht: Mannheim
* Handelsregisternummer: HRB 7250
*/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi Sebastian,

Sebastian Heib написа:

Hi,

at the moment a configured SIP account is always set to support also
instant messaging. This is not always the case (many servers just don't
support it - asterisk for example), and is leading to confusion at the
user side (my experience with colleagues): The user double clicks the
contact, the chat window opens and he tries to send a message. But as
soon as the message should be sent, a failed message appears.

What about adding an additional flag to the SIP account wizard (on the
advanced tab) "Messaging supported" or something similar. With the value
of this flag, the OperationSetBasicInstantMessaging could be set or not.
And with this operationSet not set, messaging won't be supported and the
user don't get confused any more.

Sounds reasonable. If I understand correctly the flag would be specified
in the account properties hashtable and depending on its value the sip
operation set would create (or not) an instance of
OperationSetBasicInstantMessaging. Right?

If this is what you suggest then we'd also have to make sure that the UI
would act properly when it comes across a contact that does not have
support for instant messaging.

We have just discussed the issue with Yana and we think it would be best
to implement this behaviour in MetaConcactChatPanel.sendInstantMessage()

You can add an error message in there that tells the user that instant
messaging is not supported with the current protocol.

We also thought about the possibility of presenting the error earlier,
and pop it right after the users clicks on a non-im contact. We
discarded the option though. We feel this is not the best way to go
because:
1) we would still have to implement the chat error message for cases
where the non-im contact is part of a meta contact where the rest of the
contacts support im and
2) because it would feel frustrating to click on a contact and get a
surprise error message.

Anyways, you have a good point so we'd be happy to have a patch if you
are interested in a fix.

A second point: If I setup my SIP account with presence disabled, all
the contacts of this account are always shown offline. Would it not be
better to show these contacts online as soon as I am registered with
this account? (I have many contacts on the contact list just with there
normal phone number, and those numbers are never offline....)

Yes, absolutely!

+1

Cheers
Emil

···

Sebastian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Emil Ivov schrieb:

Hi Sebastian,

Sebastian Heib написа:

Hi,

at the moment a configured SIP account is always set to support also
instant messaging. This is not always the case (many servers just don't
support it - asterisk for example), and is leading to confusion at the
user side (my experience with colleagues): The user double clicks the
contact, the chat window opens and he tries to send a message. But as
soon as the message should be sent, a failed message appears.

What about adding an additional flag to the SIP account wizard (on the
advanced tab) "Messaging supported" or something similar. With the value
of this flag, the OperationSetBasicInstantMessaging could be set or not.
And with this operationSet not set, messaging won't be supported and the
user don't get confused any more.

Sounds reasonable. If I understand correctly the flag would be specified
in the account properties hashtable and depending on its value the sip
operation set would create (or not) an instance of
OperationSetBasicInstantMessaging. Right?

Yes, that's the idea.

If this is what you suggest then we'd also have to make sure that the UI
would act properly when it comes across a contact that does not have
support for instant messaging.

I thought about that as well - otherwise it would be useless :wink:

We have just discussed the issue with Yana and we think it would be best
to implement this behaviour in MetaConcactChatPanel.sendInstantMessage()

You can add an error message in there that tells the user that instant
messaging is not supported with the current protocol.

This is similar to the behaviour as it is currently implemented. I get a
message that the message could not be sent, because of a network problem
(although this is not the real problem as it is more the messaging being
not supported by the server)

We also thought about the possibility of presenting the error earlier,
and pop it right after the users clicks on a non-im contact. We
discarded the option though. We feel this is not the best way to go
because:
1) we would still have to implement the chat error message for cases
where the non-im contact is part of a meta contact where the rest of the
contacts support im and
2) because it would feel frustrating to click on a contact and get a
surprise error message.

I guess you mean if a user double clicks on the contact to open the chat
window?

Anyways, you have a good point so we'd be happy to have a patch if you
are interested in a fix.

I'll have a look at it, here some more thoughts:

Basically we would have two different cases resulting of this change:
- Contacts with (at least one) protocol supporting IM
- Contacts without a protocol supporting IM

The first point is the one we have at the moment. The only differences
are that we may have also contacts, that don't support IM. If we make
sure that those contacts that don't support IM are not shown in the
ProtocolContactSelectorBox (in the chat panel), nobody would send a
message with the non-supported protocols (I think at the moment all
contacts of a meta contact are added to this selectorBox).

Btw: what is the real difference between the
net.java.sip.communicator.impl.gui.main.call.AccountSelectorBox and
net.java.sip.communicator.impl.gui.main.chat.ProtocolContactSelectorBox?
They both show "the same" select box, where I can choose which account I
want to use for a specific action (chat, call). Would it not be better
to use just one class doing this task, by selecting the appropriate
contacts by their supported OperationSets?

For the second point: I think this is the point you mentioned above. The
main part is here as a user double-clicks on the contact (the menu item
on the right-click menu is disabled if the user has no IM support as far
as see). In my opinion a user should (in this case - as the whole meta
contact has no IM support) directly get a message that IM is not
supported for this (meta) contact (this could also be in the chat
dialog, as it shows that there is no contact to send the message - the
"send" function should be disabled in this case)

Sebastian

···

A second point: If I setup my SIP account with presence disabled, all
the contacts of this account are always shown offline. Would it not be
better to show these contacts online as soon as I am registered with
this account? (I have many contacts on the contact list just with there
normal phone number, and those numbers are never offline....)

Yes, absolutely!

+1

Cheers
Emil

Sebastian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
/**
* Sebastian Heib
* Software Developer
*
* Synyx GmbH & Co. KG
* Business in Components
* Karlstr. 68
* 76137 Karlsruhe
*
* phone +49(0)721 66 24 866
* fax +49(0)721 66 48 877
* eMail heib@synyx.de
* www http://www.synyx.de
* irc irc.synyx.de
*
* Sitz der Gesellschaft: Karlsruhe
* Registergericht: Mannheim
* Handelsregisternummer: HRA 4793
* USt-IdNr.: DE249264296
*
* Komplementärin: Elatech Verwaltungs GmbH
* Sitz der Gesellschaft: Karlsruhe
* Geschäftsführer: Markus Daniel
* Registergericht: Mannheim
* Handelsregisternummer: HRB 7250
*/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Sebastian Heib написа:

We also thought about the possibility of presenting the error earlier,
and pop it right after the users clicks on a non-im contact. We
discarded the option though. We feel this is not the best way to go
because:
1) we would still have to implement the chat error message for cases
where the non-im contact is part of a meta contact where the rest of the
contacts support im and
2) because it would feel frustrating to click on a contact and get a
surprise error message.

I guess you mean if a user double clicks on the contact to open the chat
window?

Right.

The first point is the one we have at the moment. The only differences
are that we may have also contacts, that don't support IM. If we make
sure that those contacts that don't support IM are not shown in the
ProtocolContactSelectorBox (in the chat panel), nobody would send a
message with the non-supported protocols (I think at the moment all
contacts of a meta contact are added to this selectorBox).

Yes, I like this.

Btw: what is the real difference between the
net.java.sip.communicator.impl.gui.main.call.AccountSelectorBox and
net.java.sip.communicator.impl.gui.main.chat.ProtocolContactSelectorBox?
They both show "the same" select box, where I can choose which account I
want to use for a specific action (chat, call). Would it not be better
to use just one class doing this task, by selecting the appropriate
contacts by their supported OperationSets?

Sounds reasonable but I have no idea how easy it's going to be. Perhaps
Yana could share some insight.

For the second point: I think this is the point you mentioned above. The
main part is here as a user double-clicks on the contact (the menu item
on the right-click menu is disabled if the user has no IM support as far
as see). In my opinion a user should (in this case - as the whole meta
contact has no IM support) directly get a message that IM is not
supported for this (meta) contact (this could also be in the chat
dialog, as it shows that there is no contact to send the message - the
"send" function should be disabled in this case)

Yes this is what I was referring to above. The part that I find
frustrating is double-clicking on a contact and getting an error message
instead of a chat dialog. I think it would make me feel the client is buggy.

However, I do like the idea of opening a chat dialog with a disabled
send button and a message in the upper panel explaining to the user why
they won't be able to send text to the current contact. Good idea!

Cheers
Emil

···

Sebastian

A second point: If I setup my SIP account with presence disabled, all
the contacts of this account are always shown offline. Would it not be
better to show these contacts online as soon as I am registered with
this account? (I have many contacts on the contact list just with there
normal phone number, and those numbers are never offline....)

Yes, absolutely!

+1

Cheers
Emil

Sebastian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net