Hacker News new | comments | show | ask | jobs | submit login

I'm hoping with the ousting of Vic Gundotra, Google will reenable XMPP federation with Hangouts...

For those unaware, for years GTalk supported using XMPP/Jabber to talk to other servers. A handle of whateverwhatever@gmail.com could speak through GTalk to someone using a different XMPP server with somethingelse@personaldomain.com.

With the introduction of Hangouts, this is no longer possible. In order to talk to GTalk users, you might be using a Google account.

Now before there's too much confusion: yes, Hangouts/GTalk users can still use XMPP clients, like Pidgin or Adium, to talk to other Hangouts/GTalk users. But such users can no longer talk to people using the global federated XMPP network of servers that are not Google.

For years I enjoyed being able to run my own XMPP server, do some interesting things with it, and still talk to my friends and family on GTalk. Now I'm forced to use Google to maintain this.

In other words, they took a well functioning standard that was successfully decentralized, federated, and working extremely well, and deliberately neutered the decentralized aspects. Now there is the nice decentralized XMPP, and Google's XMPP, separate, distinct, broken. It's a damn shame. Gtalk federation worked great for years, and it's only been with the G+era strangulation that it's disappeared.

I don't share your hope, but oh yes. That'd be amazing. Currently it's a usability nightmare and entirely unclear who can reach you and who cannot.

As someone without Hangout or G+ people with a @gmail.com suffix might or might not be able to contact me, sometimes depending on the age of their mobile or whether they use GMail at this particular moment.

Their presence might or might not be accurate, because they are either away or use Hangout and stay 'away' forever (not offline, nooooo. They are away in G+ land..).

I hope you are right and I'm wrong.

> Currently it's a usability nightmare and entirely unclear who can reach you and who cannot.

Yes! Exactly this. I had started working on a Prosody server side plugin that would route messages for Hangouts users through a Google Account if they were on Hangouts instead of old-Gtalk, but the details of detection seemed flaky at best. When I have some time, I'll give it another look by examining the User-Agent the client sends. I'm not hopeful, but I guess there's a chance.

Know the worst part of Hangouts?

Using any client other than the crappy extension for Chrome, you can't do group text chats. Flamingo[0] is an amazing XMPP client for Hangouts, but is useless for work because we use group chats for everything.

Drives me crazy, and Google refuse to release an actual API for Hangouts, so it's not being fixed anytime soon. I'm trying to convince work to move to IRC or HipChat, or anything other than Hangouts (but my boss loves Google everything, so that's a losing battle).

[0] http://flamingo.im

> and Google refuse to release an actual API for Hangouts

In old good days we didn't ask for protocols. We just took the specs by force, by reverse engineering. Worked well with ICQ, AIM, MSN Messenger and loads of others, except for, possibly, Skype (which was reverse engineered, but late to the party)

And "alternative" messengers survived and even prospered (seriously outplaying the dysfunctional, overweight and ad-ridden "official" ones), even if they were actively fought by network owners. Given that official Hangouts "desktop" app is is nearly completely unusable - and even more for those who don't use Chrome - and even web messenging support is lacking (you just can't put a button "Contact me on Hangouts" on your site), I'm a bit curious why no one cared about Hangouts enough to play that game once again.

> I'm a bit curious why no one cared about Hangouts enough to play that game once again.

Maybe because Hangouts was created as an unwelcome product eating a completely functional service people liked.

Nobody wants to invest in a service which just told you to fuck off.

Well, anger may lead to various possibilities. I had reverse engineered certain cloud storage service client protocol when I was told there won't be any cake (properly functioning GNU/Linux client software customers were promised for a long time) for me and I have to fuck off. And I had not published it only because RE laws in my country seem to be totally messed up - they literally say I can't publish my findings. Wish I'd live somewhere saner.

Still, as I believe, quite a lot of people use Hangouts. Sure, there must be a hacker somewhere who's upset enough to mess with the software.

> In old good days we didn't ask for protocols. We just took the specs by force, by reverse engineering

In the good old days we wrote standard protocols and submitted them as RFCs (eg RFC 1459)

Uh... I'm too young for that, unfortunately. But as I get it that first they wrote the implementation(s), then - seeing it's reasonably good - documented the results for everyone to discuss and use.

The point is, they had an idea, hacked the software (without any standards, at that point, as I understand, this was the case with IRC which had RFCed only 10 years after the birth), then willingly shared the knowledge.

Yes! It's really frustrating because if you are using another chat client (e.g. Apple messages), everything seems to work except you won't see any sign of group chats. This has caused plenty confusion for me with friends wondering why I'm not responding to messages.

What's even worse is that Google's hangouts app is pretty much unusable. For some reason it doesn't list all of my contacts, won't show if anyone is available and gives no indication about who I could chat with.

Yep. And it refuses to use Mavericks notification centre, and it hates multi monitor setups as well. Sigh.

We don't we just stop using google hangouts if they are such a PoS? Is it the screen sharing? Everyone is already logged in? I find them infuriating, and only use it begrudgingly.

I'd recommend checking out slack for your work - we started using it and it's the best chat/collaboration software I've ever used.


I wish they would support open protocols too, but that just isn't Google any more. They are closing down lots of APIs besides XMPP compatibility after all.

I am confused. I use DuckDuckGo's Jabber/XMPP service (dukgo.com), and I can easily talk to Google Accounts through Bitlbee, even if they are using Pidgin, GMail's chat interface or whatever.

The only obstetrical I have encountered so far, is that it requires at least 3 or 4 tries to add a Google user. But afterwards, it's not a problem.

Edit: One of my friends using dukgo.com also confirms this behaviour.

If they've switched to Hangouts, you will no longer be able to reach them. Google users using the old non-plus-ified gchat, which is being phased out, will still work as before, but for people who get upgraded to Hangouts, they'll be cut off. So this basically includes everyone on a smartphone, or everyone using video chat, and soon it will be just everyone entirely.

Aha. Maybe I just keep good company for failing to notice that.

Apparently they plan to end support for the "old" hangout version at some point in the future. Hopefully it's not soon.

Well that's certainly interesting, but me too, I haven't really noticed that.

Because while in the past, my primary reason for installing Pidgin was connecting to Google's excellent XMPP service, I now only have it hooked up to my Facebook account. I don't see any value in Hangouts. That's right. As creepy and closed as Facebook is, I still find it a much higher value service than Hangouts. Plus it actually lets me connect to people I know reliably.

Hangouts is the perfect example of taking a good service and throwing it in the shitters. I can barely use the official Android-client. It's just gone completely downhill.

It may not be too late for Google to recover from the terrible slope they've taken on ever since the persisted, user-hostile G+ fiasco, but I can't imagine the tarnish their brand has taken to ever have been worth it.

That is not my observation. It is also not clear what you mean with "get upgraded to Hangouts". I use Hangouts extensively, but I use also Gajim as client for my Google account and still I'm able to add XMPP contacts from non Google XMPP servers to my Google roster.

So I basically can confirm that Google did not turn off XMPP federation for their XMPP service. It appears that there is simply no UI to add users from federated servers over hangouts, but it works with standard XMPP clients. So you could say that "Google dropped support for XMPP in their UIs". But you can still use your Google account as plain XMPP service (which doesn't mean that I would encourage it or think that it's a good idea).

But I can't rule out that e.g. some servers can't federate with Google, for example because of policy restrictions.

Presumably the defederalisation was to enforce chatting (a) such that google knew your real name and (b) such that you were subject to surveillance.

What did the XMPP change have to do with Vic?

Nothing at all; this was a decision made by the Hangouts team. The XMPP change has to do with the NIH syndrome a lot of Google engineers suffer from, combined with the incompetence of the Hangouts PM, Kate Cushing.

Disclaimer: I work for Google.

It is my understanding that XMPP also presents a problem with regards to mobile due to inefficient design from a power usage point of view. I could certainly see how that would be reason to look into fixing or outright replacing XMPP but not opening the replacement protocol is just shameful.

They are still supporting XMPP for c2s connections, though; i.e. if you are on a phone, you can use XMPP to connect to Google. What they don’t support is s2s, which – unless you somehow run your own XMPP server on your phone – has nothing whatsoever to do with mobile :)

FWIW, they could “easily” build a mobile client that connects to Google via some nonstandard protocol which preserves energy on the phone while being mapped to the standard XMPP protocol from Google onwards.

Funnily enough, that's exactly what they did do, back in 2008 :)

Originally Android included an XMPP API that applications could use to connect to Google and other XMPP services. This got replaced by a Google Talk-specific API at the same time they switched to a proprietary protocol.

E.g. http://blog.kosmokaryote.org/2008/02/google-cannot-be-my-cha...

Naive implementations of XMPP on mobile can indeed get quite power hungry, but it doesn't have to be that way. Thankfully I've seen quite a bit of interest lately from mobile clients who wish to improve on this - all the resources are out there.

Some links:

- http://xmpp.org/extensions/xep-0286.html

- http://xmpp.org/extensions/xep-0273.html

- http://xmpp.org/extensions/xep-0198.html

XEP-0198 is currently gaining adoption quite nicely for example, it allows for reliable streams (resume them without message loss or the need to re-sync everything if you get disconnected).

Yes, XMPP is power inefficent as the server can send presence notifications at anytime to the client even though the mobile user is probably not interested in notifications about who of his 200 contacts just went away or came back. Unless he looks at the roster.

BUT this can be solved easily, when you control the server and the client. And this was already solved by google for years with gtalk. So this is not an excuse to stop federation.

I don't think XMPP is necessarily power-inefficient.

Every Android device with the Google services installed actually has an XMPP connection open the whole time (albeit with some protocol changes); it's how push notifications work on Android.

Indeed. Take a look at this insightful blogpost:


But google invented Jingle, and in the XMPP space I can't imagine they didn't have a dominate authority. And you can add whatever extensions you want to XMPP, standard or not.

Google did start Jingle and large part of their work ended up in the Jingle standards at the XMPP Standards Foundation. However, Google Talk and the old Hangouts took quite a while to move to the standardized version, and were never fully compliant. Also, in other areas, Google never quite interacted with the community and left major issues unresolved.

Basically all of the issues, perceived flaws or missing features attributed to XMPP in the old implementation of Hangouts were either misinformed or have seen development or new specifications in the XSF. Google never contributed to such discussions, with the exception of individual Googlers helping with Domain Name Associations (DNA, http://tools.ietf.org/html/draft-ietf-xmpp-dna-05).

> the incompetence of the Hangouts PM, Kate Cushing

Thanks for the pointer to here. Letter writing campaign to Kate Cushing worthwhile?

Remind me to never be a PM for Google.

I've dropped her a message (kcushing at google dot com) and I suggest you do the same.

So far as I can see, the Hangouts implementation still uses XMPP, and even sends some federated messages to other servers. It looks like there has been some kind of code added to specifically block the functionality for which code already exists.

How are you able to sniff Hangouts traffic?

This is interesting. Could you publish your findings, going a bit more with details?

Google is totally messed up. Complete lack of communication of their plans, weird betrayal of XMPP efforts and etc. I gave up on them completely.

That would be awesome, but I don't have high hopes - Google probably wants to have ability to modify protocol as they wish for new features. It seems they practically have no will to build a translation layer :/

That doesn't make a lot of sense though. There are already lots of places where that stuff is falling back to "Sorry, can't do this".

Ignoring hardware limitations (running hangout on a phone without a front facing camera maybe?) you already have the 'user runs a browser that needs a plugin to fullfil the request, but plugin is missing' case. Which is reported as a failure to both users (with a somewhat helpful message).

Using anything hangout-y over xmpp can fail for all I care. That's not the problem. The problem is that they broke the parts that _map well_. You cannot text me if you're using hangout (unless you're on gmail.com and use the 'gtalk' chat widget). I cannot see your presence.

There's a difference between 'not building a translation layer' (for oh-so-awesome new features) and deliberately breaking things that work since, like, forever.

I agree with the sibling: It's deliberate and just another Google 'Move to out platform and never get out' move.

(Other examples: »"Upgrade" your browser to Chrome.« »Install a "modern" browser to get automatic translation of websites.« - ignoring all the 'Join G+' nonsense)

In short, it is very unlikely the reasons for abandoning federation, or dropping XMPP altogether with Google Voice, are technical in nature.

One case I think you left out (although I may have misread what you wrote):

You can talk between GTalk and a federated XMPP server if the the GTalk user is logged in via XMPP. So if I send a message from my work XMPP server to my google address, it shows up in Adium, but not in the hangouts client.

It's almost as if Google's XMPP network is separate from hangouts, and they only allow messages directly to/from the Google XMPP to propagate between them.

For the past couple weeks I have been able to IM from inside the hangouts app to non-google XMPP users this includes the reverse, wherein I get notifications from them too.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact