Google Talk

Mark Doliner mark at
Wed May 23 04:01:26 EDT 2007

On Tue, 22 May 2007 16:11:17 -0700, Sean Egan wrote
> Specifically, XMPP defines five presence states: available, away,
> extended away, do not distrub, and chatty. Pidgin allows you to set
> all of them yourself. XMPP does not offer the concept of 'idle,'
> although I think iChat has introduced one.
> These presence states are vaguely defined; clients are pretty much
> left to decide what to do with them.
> Google Talk uses 'away' (defined as "The entity or resource is
> temporarily away") as a timeless idle state, like MSNs. We use 'away'
> as our "away" state, like AIM's. This is certainly a valid
> interpretation of the spec, but differs from what we do.
> Google Talk allows you to set only two states: available and busy

What does Google Talk show if someone in your buddylist is extended away? 
What do other Jabber clients do for idleness, and how do they use away, dnd
and xa?  How does Google Talk show users whose status is 'away'?  Does it say
"idle"?  Does it say how long they've been idle?

> We can tell what buddies are using the Google Talk client at runtime.
> Would it be reasonable to show buddies using that client as 'idle,' 
> as that's what 'away' means for those clients?

If Google Talk clients set the 'away' state automatically when the computer
hasn't been used for a period of time, then yes, I think it makes sense to
detect Google Talk clients and show those users as idle within Pidgin.

> Additionally, it should be possible to define an idle state that only
> gets set if you're connected to a Google Talk server. This would make
> Google Talk users go 'idle' as other Google Talk users would expect.
> I don't think it's possible to tell, at runtime, what statuses a
> protocol supports, but if it were possible, would it make sense to
> match Google Talk's? Further, if it's not possible at runtime, would
> it be too much to add a new prpl to enable it?

Adding a new prpl doesn't sound like a good idea... I'm in favor of the
smallest amount of changes needed so that things don't seem severely broken. 
I'm vague!


More information about the Devel mailing list