[Pidgin] #5088: Offline contact detection

Pidgin trac at pidgin.im
Thu Mar 20 12:44:57 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:  1                |  
------------------------------+---------------------------------------------
Comment (by trisweb):

 Replying to [comment:3 deryni]:
 > pidgin does in fact present the fact that the user is offline in the UI
 (assuming the user is on your buddy list), this is what the infopane and
 the tab icon are for. If you turned the infopane then you deliberately
 chose to remove that notification method.

 We're talking about differentiating between "Offline" and "Invisible" in
 this case, which is '''not''' possible in 2.4. They both show as Offline,
 and there is no change (nor should there be) when going between invisible
 and offline. So, just to be clear again, the confusion occurs when the
 users' status appears as offline, but they may or may not actually be
 online.

 >
 > There is also the Buddy State Notification which can print messages to
 the conversation window when buddies sign on and off.

 Again, the Buddy State Notification does not notify whether the user is
 actually Offline or simply Invisible. It can't differentiate between the
 two.

 >
 > I personally don't understand the reasoning behind a 'delayed delivery'
 notification, even if the person was online you have no idea when they
 will actually sit down and read the message so sending an offline message
 has exactly the same characteristics except better in that they can sign
 in anywhere and see the message (which doesn't happen with online
 messages). Can someone explain to me what benefit you get from that
 notification?

 Sure thing. 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.

 The use cases are actually quite different. In one case (when notification
 of delayed offline-message delivery is given), you know the user is away
 and may not receive your message for quite some time. You may "leave a
 message" and not have an expectation of immediate delivery. This is more
 like E-mail than Instant Messaging, with all the expectations thereof.

 In the second case (when notification of immediate delivery is given), you
 know the user is signed in '''somewhere''', and the messages are being
 delivered to a screen where both you and the recipient expect them to be
 delivered immediately. This goes along with the use of Invisibility, which
 is a way to send and receive messages and still be 'online' without
 notifying anyone of your status.

 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.


 As one further explanation, let me give you an example of a conversation
 before and after the Offline Messaging change.

 ----

 '''Before: (no Offline Messaging)'''

 ''Instant message with Jenny (Offline):''
 Me (Online): Hey Jenny?
 '''The message could not be delivered because Jenny is not currently
 online.'''
 ''[I now know that no messages will be recieved. I decide to call Jenny
 instead.]''


 ''Instant message with Joe (Offline):''
 Me (Online): Hey Joe
 ''[no notification of failed delivery, so Joe must be Invisible and
 receiving messages]''
 Joe (Offline): Yo.
 Joe (Offline): I'm invisible because I'm at work, but I can still talk to
 you.

 ----
 '''After (Offline Messaging on):'''

 ''Instant message with Jenny (Offline):''
 Me (Online): Hey Jenny?
 Me (Online): Hello? Are you invisible or Offline?
 Me (Online): Are you receiving these now or will you get them next week?
 Me (Online): Have you accidentally left yourself signed on but invisible?
 Me (Online): If you're invisible and not at your desk, you may never get
 these! Someone could close the window, anything could happen. It's not as
 reliable as e-mail.
 Me (Online): And if you're offline you might receive these later, but
 you'll be very confused, because I expected them to be instant.
 ''[I am very confused, and Jenny will be very confused when she gets these
 as offline messages later.]''

 ''Instant message with Joe (Offline):''
 Me (Online): Hey Joe, are you offline or invisible?
 Me (Online): You're not answering, so I assume these are offline messages.
 Me (Online): I expect you to get these when you sign on next, so I'll just
 leave a message...
 Joe (Offline): Yo. I'm actually invisible.
 Me (Online): Oh.
 ''[I am still confused. I expected Joe to receive those much later, so was
 going to leave a message, but Joe was actually there. The methods of
 communication are much different if someone is present in a conversation
 versus not present, and it can be awkward when the the wrong assumptions
 are made.]''

 ----

 '''New Offline Message Suggested implementation'''

 ''Instant message with Jenny (Offline):''
 Me (Online): Hey Jenny?
 ''Jenny is not currently online, but she will receive your message when
 she signs in next.''
 Me (Online): Cool. Hey, I just wanted to ask you this question, but I'll
 call you instead.
 ''[No more confusion. I know my messages are delayed, so I will use a more
 immediate form of communication.]''

 ''Instant message with Joe (Offline):''
 Me (Online): Hey Joe, are you offline or invisible?
 ''[Since there is no notification of delay, I know Joe is invisible.]''
 Me (Online): Sweet, you're there. Hey are you going to the party tonight?
 Joe (Offline): Hey, I'm invisible because I'm at work. Yeah, I was
 planning to.
 Me (Online): Cool, thanks. I'll let you get back to work.

 ''[No more confusion. I know Joe is actually online, even though he shows
 as offline. I know my messages are being delivered somewhere where Joe
 expects to get them (as he is signed on as invisible). This is all very
 important information.]''

 ----

 Hopefully that example clears things up.

 It is very important to know the difference between a message which is not
 Instant and one which is, especially when in an '''Instant Messaging'''
 program. The expectation is that all messages are instant, regardless of
 status, if they go through successfully. The "Instant" nature of messages
 (versus delayed, such as e-mail) actually affects how we converse and what
 we expect, and not having that information can lead to awkwardness, false
 expectations, or misunderstandings.

 Of course, all this is based on the fact that people "lie" about their
 status by being Invisible, but it is still the responsibility of Pidgin to
 notify the sender of delayed sending if it's possible, since the
 expectation of an Instant Messenger is Instant Delivery.

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


More information about the Tracker mailing list