[Pidgin] #5088: Offline contact detection

Pidgin trac at pidgin.im
Thu Mar 20 13:45:12 EDT 2008


#5088: Offline contact detection
------------------------------+---------------------------------------------
  Reporter:  jimmyjoefredbob  |       Owner:  lschiere
      Type:  defect           |      Status:  new     
  Priority:  minor            |   Milestone:          
 Component:  unclassified     |     Version:  2.4.0   
Resolution:                   |    Keywords:          
   Pending:  0                |  
------------------------------+---------------------------------------------
Changes (by deryni):

  * pending:  1 => 0

Comment:

 You connected the right dots in your first post being able to tell the
 difference between "offline" and "invisible" defeats the entire purpose of
 invisibility, if you need a state that means "don't bother me unless it is
 urgent", use a protocol with a Do Not Disturb state, or make your away
 message indicate that fact, and ignore (or reprimand) people who don't pay
 attention to it, abusing invisibility and then complaining because that
 makes things harder is a bit silly.

 "The benefit is that it gives you more information about when the message
 will actually be delivered as well as whether or not the user is signed on
 (and invisible) or not at that moment." My point was exactly that delivery
 time is an utterly useless fact given that read time is all that actually
 matters and in both cases you can't know when that will be, and as I said
 above being informed of invisibility breaks it entirely.

 "The base problem is that regardless of online/offline status of a
 contact, delivering messages to them all the time without notification of
 delay is essentially lying about their ability to receive them. The IM
 paradigm is in its acronym -- Instant Messaging. Users (like myself and
 the OP) expect messages to be delivered instantly, and if this is not
 possible then users should be notified of the delay." That is one
 particular view of how offline messaging works and what it means, and for
 people coming from the AIM world where it was not previously possible I
 can even see it as being a reasonable view, however much of the IM world
 has supported offline messaging for years. ICQ had it even before AIM
 existed for example, XMPP has had it since it was created, etc. I, for
 one, come to expect offline messaging and use it exactly as it was
 designed, as the ability to send a message to someone that they should
 receive when they are next able to receive messages (which is identical to
 sending a message to someone who is online, I should point out). I never
 expect an immediate response, even from people who are online, because I
 know many people are often doing things other than sitting on IM and thus
 my response may take a minute or two or ten to respond to.

 My point is further that the delivery time in the offline messaging
 scenario is essentially instantaneous because it is delivered to the
 server at that moment and will be delivered to the client the instant they
 sign on (it is essentially a buddy pounce at that point, and I have always
 believed that a large impetous for the buddy pounce feature as a whole was
 the fact that AIM never supported offline messaging).

 The use of invisibility you describe as "a way to send and receive
 messages and still be 'online' without notifying anyone of your status"
 doesn't change depending on whether your buddy knows you are offline or
 not. Their decision to send you a message might though, and that is
 precisely what you are counting on, that moments hesitation "is my message
 really important enough that it can wait, is it unimportant in the long
 run, or is it too timely to wait?".

 I don't believe pidgin ever did the "Before: (no Offline Messaging)"
 scenario on AIM, if it did that was broken, it shouldn't have.

 The "After (Offline Messaging on):" case is only confusing and awkward
 because the person making contact assumes one or the other must be true
 and proceeds on that tack, if you instead don't make the assumption and
 give the person time to respond you can in fact either leave your message
 or get a response correctly. I don't believe catering to what seems to me
 the unhealthy expectation of instant response from all parties (even those
 who have intentionally made themselves appear unavailable) is a good thing
 to be doing.

 The "New Offline Message Suggested implementation" just breaks
 invisibility entirely and will prompt people to send single messages to
 'offline' buddies constantly (and the creation of plugins that do the same
 to 'mark' them as invisible in the buddy list) and is entirely
 unacceptable.

 It is not possible to indicate that a person is "really offline" versus
 "invisible" because as I've now said a number of times that breaks
 invisibility entirely (well ok, not for this one usage but there are
 plenty of other uses it does break). Even if it were possible (which I
 believe some protocols do in fact leak) I would strongly resist adding any
 such detection to pidgin under the idea that the person chose to be
 invisible for a reason and breaking that is bad practice. Once more, I
 think the 'problems' here are entirely based around years of given usage
 patterns on a service without offline messaging and as such I am loathe to
 make any general changes to cater to it, a plugin could be written (in the
 same vein as the Offline Message Emulation plugin) to present users on AIM
 (or in general) with a notification saying "Your message was sent but your
 buddy appears to be offline, this might mean the message will not be
 delivered until they sign on next time or it might mean they are being
 invisible to avoid talking to you. Have a nice day!".

-- 
Ticket URL: <http://developer.pidgin.im/ticket/5088#comment:5>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list