Archive for May, 2014

Emulating the “Available” status when using Hangouts on Android

May 22, 2014

If you don’t know already, Google+ Hangouts works with Google Talk on the backend, which uses XMPP (well, I suppose a variant of it) at its core. The thing is, as I mentioned in a post last year, an installation of Hangouts keeps one instance of your login (XMPP supports multiple logins) that’s always “Away”, regardless of whether your device is screen on, screen off, or even offline!

Many of us are aware of “status” in the old Google Talk. This still exists at the core, since the core (XMPP) has not changed. Hangouts does two things on the frontend, to shift towards an “just send the message” mentality:

  1. Hiding “offline” status from your “buddy list”.
  2. Your device no longer reports its XMPP instance as “Available” when your screen is on. In the past, this was an option that defaulted to “on”. It is useful to know when someone is “available” on their phone.

Since XMPP shows you as the “most available” out of all of your instances’ statuses, if you can make yourself Available on one instance, you can make yourself Available at the account level. I don’t think anyone (except me..) really pays attention to which devices you’re away/available from, so this is “good enough”.

I’ve come up with a ghetto, not-rocket-science method to emulate #2. By using a second IM client on my phone, which also features “away when screen off” (and thus implying “available when screen on”), I can get back the old behavior that Hangouts should really have.

I’m using Xabber. It’s not in the notification bar, and if I swipe away the application, it eventually gets closed (OS garbage collection of sorts.) However, on boot, it seems to stay persistently open, even without being present in the notification bar or recent-applications list.

This is good enough for me, and if I happen to ever bring up the application for some reason, I can’t swipe it away, so I just reboot.