Opened 9 years ago

Last modified 8 years ago

#11433 new enhancement

Support Google Talk Shared Statuses

Reported by: Ecnassianer Owned by: darkrain42
Milestone: Patches Needing Review Component: Google Talk
Version: 2.6.6 Keywords: google buzz gtalk shared status
Cc: onlineapps, moxfyre, ayanc


The shared status features of gtalk update your Google Buzz status. Currently pidgin doesn't update gtalk shared status, and so it can't contribute your status messages to Buzz.

I think my status messages are clever and posting the to Buzz is a narcissistic indulgence that I'd like Pidgin to support.

There's a patch for Shared Status support pending review in ticket 4509:

But I'm not sure if that is sufficient for Buzz so I made a new ticket.

Change History (15)

comment:1 Changed 9 years ago by QuLogic

  • Resolution set to duplicate
  • Status changed from new to closed

Closed as duplicate of #4509.
Buzz imports stuff all by itself.

comment:2 Changed 9 years ago by deryni

  • Resolution duplicate deleted
  • Status changed from closed to new
  • Summary changed from Support Google Buzz (by implementing Shared Status) to Support Google Talk Shared Statuses

Given the original posters comment on #4509 I'm going to re-open this as a "support Google Talk shared status" ticket. (I feel like we may already have one of these but I don't have time to search for it right now.)

I don't know anything about Buzz or how/when it gets status messages, but I would be somewhat surprised if it required shared status support (only because the server knows when you send presence regardless of whether you use the shared status stuff or not).

comment:3 Changed 9 years ago by darkrain42

  • Milestone set to Patches Needing Review

The patch on #4509

comment:4 Changed 9 years ago by moxfyre

ayanc, deryni, darkrain, etc: I think there are several issues here.

On the one hand, Google's implementation of XMPP is slightly annoying. The way Google Talk uses XMPP status is confusing for interoperability ("Busy" means XMPP's DND, "Idle" means XMPP's Away). And their implementation of invisibility as part of Shared Status isn't ideal either... although perhaps this was chosen because it's hard to implement invisibility in XMPP on a per-resource basis.

Secondly, Shared Status is a useful feature to some (ayanc and me, at least), and unwanted by others. That's okay. Google Talk's XMPP service works fine even with a combination of supporting/non-supporting clients.

But Ayanc's point, I think, is the most important issue: whatever you think of them, Google Talk supports these mechanisms, so Pidgin probably should too. It appears that Pidgin has gone out of its way to implement features of IM protocols that are much more poorly-designed and badly-documented.

If ayanc's Shared Status + Invisibility patch is accepted into Pidgin, it could be enabled by default for Google Talk accounts, and disabled for other XMPP accounts. Google Talk already has its own account configuration type, so this would probably be pretty easy to do. This would more-or-less match the semantics of Pidgin to Gmail's Chat client, and probably put a halt to the endless stream of bug reports complaining that Invisibility doesn't work with Pidgin!

comment:5 Changed 9 years ago by Ecnassianer

Toward the justification of this patch:

GTalk works in a specific way that people expect (Shared Statuses instead of the multi-status model of vanilla jabber), so even if the model is ugly from the dev/RFC perspective, a change is behavior is uglier from the user's perspective.

My uninformed guess based on which services offer jabber makes me think that there are significantly more people using gtalk than all other jabber servers combined, so it makes sense to me that gtalk's tweaked version of jabber might deserve some special treatment.

@deryni: Buzz doesn't get updated in Pigin 2.6.6, and no Shared Status support is the only clue I could find toward that end. If I update my gmail chat status manually, Buzz gets updated, if I update my Pidgin status, neither gmail nor Buzz get's updated. I could be wrong, but it sounds related. Either way, I'm still pro-shared status.

comment:6 Changed 9 years ago by dlenski

@Ecnassianer, very well-put. +1 on user expectations.

I too would guess that GTalk constitutes the vast majority of XMPP users, based on the fact that no one besides FLOSS developers have ever given me a non-GTalk XMPP address :) That might be changing now that Facebook Chat offers an XMPP interface, but it's a good point.

As for Google Buzz: I don't normally use it, but I tried it out and I can confirm that Shared Status is required for Gtalk->Buzz updates. With ayanc's patch, changing Google Talk status in Pidgin will update Buzz. Try my Pidgin 2.6.6+GSS-patch builds if you're running Ubuntu.

comment:7 Changed 9 years ago by dlenski

I wrote up a summary of the issues with XMPP, Shared Status, and Pidgin. I hope it seems reasonable and useful.

comment:8 Changed 9 years ago by deryni

I doubt most of the people who use Google Talk even know they can be logged in more than once as they just use the gmail interface, so the sheer number of Google Talk users is largely irrelevant.

Without actually doing a meaningful survey I'm not at all confident that the people who expect shared statuses to work outnumber people who don't want them to work and more importantly I don't think you can confidently assert either case either.

I'd love to see official documentation about shared statuses affecting Google Buzz, that'd be fantastic (though I'm not going to hold my breath for it).

Google Talk already has "special treatment" it has an account type entry of its own, no other XMPP service has that at the moment (despite many of them having been around far longer). We are considering adding a similar entry for Facebook in the future as well. But special treatment only extends so far, the problem with the patch is that it makes the situation with other XMPP services not supporting invisible even worse (in that when only XMPP accounts are enabled it will show up in the specialized status selector and in the per-account status selectors).

Let me make it clear, I am fully in support of allowing clients to manually sync their status messages together (and would be more than happy to help someone write a pidgin plugin to do that either by default (that is on any status change) or at specific request (either a "sync" button or a special "set synced status" feature)). I specifically do not like Google Talk's implementation because it is enforced server-side and a client cannot get around it and mostly I dislike that it encompasses invisibility (though I understand that as well, in a universe where status is always shared having a single invisible resource is mental-model breaking).

As an aside, dlenski I found your blog post rather dismissive, insulting, and biased. Not to mention that only one of the "reasons" you listed at the end even remotely resembles an actual reason.

Oh and there hasn't been an endless stream of bugs about invisibility not working, in fact I'd wager that the recent AIM breakage caused more tickets to be filed in the course of the week-plus it was a problem than there have been tickets filed about Google Talk invisibility ever.

comment:9 Changed 9 years ago by deryni

Responding to comments on #4509 here:

moxfyre: Yes, Google Talk only supports invisiblity via Shared Status support. But Google Talk is not equivalent to XMPP, so a ticket requesting XMPP invisibility is technically a separate thing than a ticket requesting Google Talk invisibility (especially since a fix for one is not a fix for the other).

ayanc: I'm going to give you the same answer I've given people for years when they ask about how to get invisibility or better invisibility, etc. in pidgin/other places which is to teach your friends to actually be respectful human beings. If they don't understand that "Away - Busy" or "DND - Meeting" means "Don't talk to me now unless it is really important" and you cannot simply ignore the fact that they are sending you messages you need to get better friends. Yes, I realize that is not exactly helpful but neither is lying to your friends/etc. since you can't actually expect them to act like adults.

As I said in my previous comment, I have no problem with opt-in, on-demand, and avoidable shared status systems, I have problems with the Google Talk system (and the baggage bundling it with invisibility forces on us if we want to support invisibility).

pidgin has always chosen not to support bits of protocols that simply do not fit the way pidgin is designed and/or are seen as too broken (take for example the current lack of support for MSN named chatrooms). Popularity and user-base have never been the sole (or even particularly major) driving factors in pidgin development (as a whole, individual developers can be motivated by anything they want to be motivated by).

How would you present a configurable option for something like this? Where would you put it? What would you call it? "Enable shared status support and invisibility"? No one will understand that. It is exactly the conjoined nature of these two features that I dislike the most.

The fact that Google Talk decided the choices of available statuses in the XMPP protocol were too great and "simplified" them down thereby breaking things like DND and XA is most unfortunate, but not exactly a greatly motivating factor for working around that brokenness by introducing as many side-effects as problems one removes.

comment:10 Changed 9 years ago by dlenski

deryni, I'm sorry that you found my blog post unhelpful. I was trying to present the issues as I've seen them discussed here, and will try to update it as I learn more. I'm not sure why you didn't like the list of reasons I gave for not including support in Pidgin. I thought all were significant and worth considering, and I've heard all of them mentioned here.

I understand that Google's combining of shared status and invisibility is annoying, especially.

Here is how I would describe the relevant Preference in the UI: "Share status updates from other clients, if you are logged in from multiple locations." As I mentioned before, this could be enabled by default for accounts created via the Google Talk option, and not enabled for accounts created via the Jabber option... I am guessing that users of the latter choice are more likely to be familiar with standard XMPP behavior.

As for invisibility support, perhaps it could be fairly seemless... Pidgin could support standards-track XEP-0186 invisibility where supported by the server, and Google-style as a second choice where available. This wouldn't require any user intervention.

(Lastly, I am the same as moxfyre. Not sure how I ended up with two accounts. Sorry!)

comment:11 Changed 9 years ago by onlineapps

On a different note...

@dlenski, I think your patch is causing a conflict with Pidgin's idle setting. I have Pidgin set to go away if it detects idle time. When I come back, Pidgin switches back and forth between the away status and my regular status. Quitting Pidgin and opening again fixes it temporarily, as does simply disabling the away setting (though you can keep the idle time).

comment:12 Changed 9 years ago by dlenski

@onlineapps, hmmm... I'm having trouble reproducing this. If I go away and come back, things look normal for me. What steps exactly do you do to cause this to appear?

comment:13 Changed 9 years ago by zx2c4

Can we get this patch merged finally? Gtalk is one of the most widely used jabber servers, and the lack of shared status support in pidgin (particularly with invisibility) is quite frustrating). The patch has been written. It's about time someone merges it.

comment:14 Changed 8 years ago by brodock

This ticket is somewhat related to #5828. I'm join all the other here asking if it could please finally be merged.

I agree that if it's a Google Talk account, use Shared Status and if it's a fully Jabber compliant use the other one.

Also a plus is, even if Google does not follow XMPP, it does provide documentation of all the diferences of their protocol. It's a way better then MSN that simply does not provide anything, and is supported by pidgin.

comment:15 Changed 8 years ago by pear

I am waiting this features for years, please support the users and marge the patch.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!