The interaction between Google Talk via Gmail and Google Talk via the Android client seems confusing. Here's my understanding of how things work:

  • If a chat is started in Gmail, it will sync in (near) real-time to Talk.
  • If a chat is started in Talk, it will show up in the chat history in Gmail, but will not spawn a new chat in Gmail (so the chat is confined to Talk).
  • If a chat is started in Gmail, and continued in Talk, messages will stop being sent to the chat in Gmail, and new messages will be sent to Talk (as well as the chat history in Gmail). In my (short) experience, this transition can be a bit flaky.

Is this basically how it works? What I'd love to see is a perfect 1:1 sync between Gmail and Talk. That is, if I start a chat in Talk, it will create a new chat tab in Gmail, and everything will get pushed to both, and vice-versa.

Anyone know if that's in the pipeline, or even possible now? How does everyone else handle moving as seamlessly as possible between Gmail and Talk?



2 Answers 2


To provide some background on this question, google talk uses xmpp (aka Jabber) which is an open Instant Messaging standard. As a part of this standard, every instant messaging client (chat in gmail and the android talk app) is assigned a Resource. The server then uses the resource to know which client is communicating.

This is how the interaction works: Say your gmail account is [email protected]. Then gmail chat might be [email protected]/gchat and the talk app [email protected]/talk

When your friend Sue ([email protected]) wants to send you a message, she simply sends it to [email protected]. At this point, the server either sends the message to whichever client you used last, or sends the message to all currently connected clients (google does the latter).

When you reply to Sue using the talk app, she receives the message from [email protected]/talk. Now, instead of sending further messages to [email protected], Sue's client now sends messages directly to [email protected]/talk and will continue doing so until a message is received from some other client.

This means that what Saiboogu said should work. That is, to switch between clients, send a message to the person you are chatting with from the desired client.

tl;dr: This happens by design, Saiboogu's workaround works.

  • Thanks for the explanation. I was somewhat aware of how Jabber works, but I had assumed that Google had a web-facing Jabber layer, then routed the messages to clients using their own internal system. The fact that they're pretty much just using stock Jabber makes a lot more sense.
    – unused
    Oct 27, 2010 at 3:33

I don't know if what you propose is under consideration -- it would be nice.

Your summary of how it all works sounds accurate. I handle the transition by sending a new message from whatever new location I'm continuing the conversation in, to manually force it to redirect. As you say, you won't get the history but it's the simplest method.

  • Agreed, I get greatly annoyed by the way it currently works.
    – Bryan Denny
    Oct 25, 2010 at 15:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .