Somehow, messaging’s really hard to get right. There are so many wants and needs from so many varying types of users. Unfortunately Google has taken a “my way or else” approach on most of their products, and while it has worked well in some places, it has really backfired in others. Some might say that Hangouts is one of them. I’m in between – I’m not sure if Hangouts is one of them, but I can certainly see why people think so.
When Google I/O 2013 hit, everyone was wondering what big messaging changes Google would bring to the scene. Google made a huge disruption in the IM industry in 2004-2005 when it launched Gmail and Google Talk. People still used AOL Instant Messenger (popularly known as “AIM”) as their primary messenger, having to work around screennames and other limitations. Google Talk was an improvement in the sense that it worked with email addresses and a “universal” protocol, XMPP. However, it did have many feature limitations, most of whom people ended up not caring about. It also pushed the concept of being available on multiple devices at once – primarily, your phone, directly competing against the piece of shit that is SMS and MMS.
Google Talk’s main disadvantage was that it was simple IM. It didn’t support picture or group messaging, but it had the typical IM “online”/”offline” status that everyone was used to (and could accordingly configure, naturally, on their phone), and people could use IM clients of their choice, because of how close it’s tied to XMPP. However, Google couldn’t stick to XMPP forever. You really can’t push features on a product when restricting yourself to XMPP, so they finally introduced Talk’s replacement: Hangouts.
Actually, Hangouts replaced Google+ Messenger as well. I don’t really know why Google+ Messenger existed (or rather, I don’t know why it was limited to mobile, and existed separately from Talk, which confused people), but it did support photo and group messaging, and used Circles/google+ users as IDs, instead of email addresses as XMPP usernames, which had to add each other to communicate. (Actually, once Google+ started rolling, Google automatically allowed two users who mutually circled each other, to have “added” each other, though by a Google+ reference and not an email address reference.) This is the direction that they needed to go, but they didn’t get enough velocity on it. They also confused users with the multiple services. I’m all for separation of concerns, in the sense that I should be able to reach someone on all endpoints via one resource, regardless of what device they’re on, what their phone number is, if their phone breaks, etc. Such is key for ensuring easy communication, regardless of situation. This is actually a key topic of my life recently, and thus I have a lot to say about it, so I’ll write more on this in detail in a later post, since this post is for Google+ Hangouts.
My overall response from Google’s announcement of the Talk replacement at I/O was “great”. We really needed Talk to expand past XMPP (while working backwards with it), use Google+ circles (though many will disagree), support group and photo messaging, and stick an axe into Google+ Messenger. I would’ve liked for my Google+ Messenger conversations and photos to be converted to the Hangouts format, but that didn’t happen :(. Google hit all of these marks, in a sense. Thus, it was a big hit for me. Others will disagree, saying that it needed to be baked into the stock Messaging app for Android. Some even said that Hangouts should even integrate with Google Voice.
While these two things should happen, I can already imagine that the implementation would not be easy, and understand why Google left these things out of the initial release. Android is Google’s operating system with Google-y things removed – though I guess that installing Google-y things on top of Android would enable the functionality. How would the Messaging functionality even work? Would Google start associating IDs with phone numbers, and then presenting a list of send-methods, once you select a contact? Would Hangouts just “know” that your text is going to a Google Voice number, and just intercept? I really don’t want to think about these things right now – honestly, to me, it seems easier to just make sure the other person has Hangouts – and then always reach them over Hangouts.
I used Talk full-time with my closest friends, such that I could have long conversations with my IM client of choice. When Hangouts came out, they extended the functionality of their flagship messenger (Talk), while still allowing backwards-compatibility with XMPP – used by a lot of people – and still used by myself. This was great. But how did it work?
Contact presence is about the same. Available and Away states are still around, and when you’re signed on from a desktop client or a third-party application, your status is probably Available, and set to Away accordingly. On Google’s new web design, “Offline” is gone for good once you install Hangouts, so perhaps, that’s how they detect whether or not to present you the “user is not on Hangouts yet” message. The Away state no longer exists, but instead, a green bar appears when the user is available. Unfortunately, I can’t see the green bar on my mobile client, which is probably a design decision, but IMO, a flawed one. I should be able to see that kind of information on my phone, if I can see it on my browser. Plus, many people (including myself) use Google Apps, which doesn’t have Hangouts yet, and thus, presence is still important over there. I can no longer see if my coworkers are online, since I updated my phone to Hangouts (which I use for both my personal and work [Google Apps] accounts.)
Another significant flaw is that my Mobile resource’s presence no longer updates to Available when my screen is on, even if I’m actively messaging someone. I am available, so my presence should signify such – it doesn’t matter that I’m on my mobile device – who is Google to say that I’m as unavailable on my phone (when I’m on my phone) as when I’m off my phone?
The worst flaw is that a mobile resource’s presence continues to be Away, even after the device is powered off or disconnected. This can be confusing for others who haven’t switched to Hangouts yet, and can actually be quite devastating. In the event that you sell your phone or wipe/reinstall Android (ROM junkies, beware!), you will have a hanging “Messaging” (Hangouts) instance shown on XMPP every time you sign in, if you don’t sign out first. This deserves its own post and PSA.
The implementation of photo messaging for classic/XMPP clients is not surprising – Google recognizes those capabilities, and instead sends a link to the photo on the album of that particular Google+ Hangout. Group messaging doesn’t have this kind of signaling system though – there’s no real solution to that kind of problem.
Group messaging is done by creating a conversation ID (say, a “Hangout”) with those users, instead of defining it based solely on the user. This way, you can add users to an existing Hangout, and continue the topic properly in the same room (or vice-versa, remove a user), and also, you can have multiple Hangouts with the same set of users, which is unnecessary for most. Personally, I actually like the group MMS model, where the participant-list defines the group. If someone composes a new message with the same participant-list as an existing Hangout, it would create a new Hangout, but in group MMS, it would continue the existing thread. While it is useful to be able to have separate Hangouts, I think that it becomes more complicated for general users than it helps the specific users that need it. By the way, with this logic, shouldn’t I be able to have separate one-on-one Hangouts? If I start a new Hangout with one person, it just uses the existing Hangout with that person. I think I have seen the ability to have multiple one-on-one Hangouts with the same person, but I’m actually not sure how.
And now for flaws on a smaller scale..
Sometimes people don’t get notifications. Some users in particular, don’t get many of their notifications. I assume that this is a bug in Hangouts for Android, but I’m not really sure. The desktop client seems to work well, and the Android client has been solid at notifications for me, so far. I haven’t heard any complaints about Hangouts for iOS notifications dropping, but maybe I don’t know enough iOS users (or iOS Hangouts users…)
Whenever you send a message, it doesn’t appear in the message history instantly. It lags now (and based on latency, it seems.) It should’ve preserved the old Google Talk functionality, where the message appears in the thread as “sending”. Instead, it looks like it has to process some amount of network data before it even appears as “sending”. So there’s like two tiers of sending. Sometimes I can even queue up a series of messages and send them all, and it would be a while before they even display as “sending” on my device.
Some people are mad about the lack of voice calling. I personally don’t find it to be too much of a nuisance to start a Hangout and disable the video part, but obviously there’s a demand (and a market) for voice over data. Google could market this to be a useful feature. People could stop paying for minutes and get higher-quality calls for free… but I’ll save that point for another blog post, I guess.
The desktop client is really under-featured. It looks like someone started writing an app.. and then left it alone after they stubbed out basic functionality.
Signing in to Hangouts signs me in to all instances of Hangouts on all Chrome windows I have. This might be okay. However, it also signs me in on other browsers, too – say, I sign out at work at the end of the day, and sign in at home. Suddenly, I’m online at work again. This is not okay.
Selecting contacts is really weird. I’ll start typing a name and then I see a bunch of people who I haven’t even circled yet, before seeing my own name. I went on my mom’s computer the other day, who only had me and my sister on Google Talk. Since she hasn’t messaged me in a while(?), I’m not even on the list. When I started typing my name, I saw a bunch of other random people on the internet. It wasn’t until I actually typed all 5 letters of my name that my name showed up.
Fuck, that was long. I probably have more, but I’ve kept this post drafted for way too long, and need to move on. If anything, I’l just append via edits.
Edit 8/26: Looks like there was a recent update in the past few days, and the message queueing is snappier now.