Monday 29 October, 2007

Invisible mode for Google Talk/ XMPP

You must have used the invisible mode on Yahoo Messenger. If you ever wished the same feature for Google talk or any such other XMMP protocol based chat service, the wait is finally over. There have been recent developments in this field and people are coming up with plugins or rather tweaks at this instant of time, which allows to be invisible, while you can still chat, see online people, learn about any new unread email and know when someone scrapped you on orkut.

The Plugin

Manual Way
Here is what you need to do if you want to be invisible. This has been an initial work of Siddharth Upmanyu and we are planning to extend it.

  1. First download Psi IM (0.10) or Miranda IM. For Psi versions later then 0.10 you'll need to modify the options.xml file to enable Invisible status. In order to learn about how to configure Miranda for google talk account see, this help, or for Psi IM, look here. For detailed instructions to configure PSI, click here.
  2. Now log in as Invisible status provided by the client.
  3. Open the XML Console and inject the following code through it
  4. Repeat the above step whenever you want to refresh the buddy list.. the last line of the code causes the server to return Email Notifications.

<presence>
<priority>5</priority>
</presence>

<presence type="unavailable">
<priority>5</priority>
</presence>

<iq type='get'><query xmlns='google:mail:notify'/></iq>


We are currently doing the alpha testing, and have plans to release a beta plugin soon.

Detailed configuration in PSI-IM

For those who are new to PSI-IM, here is a brief tutorial on how to be invisible in Google Talk.

For those who are using PSI v 0.11 or above, you need to modify the options.xml file. If you are on Microsoft Windows XP, then you can find the file at C:\Documents and Settings\username\PsiData\profiles\default. If you are on Linux, look into /home/username/.psi/options.xml. Look in for the string invisible and set its value to enable/ true.

Next, login as invisible in PSI.



Next, choose your google talk account and right click to get the XML Console Option. When the XML console is open, don't forget to check the Enable option in the bottom left. Have a look at images below.




Next, you need to copy the code given above into the input window. Open the XML Console window by pressing th XML Input button on the right bottom. And paste the code as shown below.


After you inject the above code click on "Transmit", you will see various messages. Don't worry, they are the status of your buddies. Now close every open window, except for the main window. Now start chatting with your favorite bussy, as normally. You can see the buddy, but s/he will see you as offline.

NOTE::
You have to repeat the above procedure, everytime, you want to get status updates.

The working

When you log in as Invisible the server replies with an error msg saying this mode is not supported. Although you wont receive any buddy list status or other notifications but the server doesn't disconnects you.

Now when you inject the the XML the server sees you online and replies you with the buddy status of your friends and immediately it sets your status unavailable. The server then sends this packet to your online buddies. GTalk/Other clients when get this packet they set your status On and Off. Usually this transition is so fast that practically you remain offline.

In this Invisible Mode you can start a chat with online friends. However there are some issues with the case when someone tries to send you a message in the first place. Most of the times you do get notification, and hence, you can start chatting directly, however there have been reported cases when it will go as offline message and you will only see it in Email Notification (Google puts an unread Email for the offline :-)

UPDATE

A way to get invisible mode in Kopete is demonstrated at my latest blog post.

33 comments:

  1. I tried using Psi 0.11 but I can't find any options.xml file to update...where is it located?

    I couldn't even get Miranda to connect!

    ReplyDelete
  2. Hello Tommy,
    If you are using Microsoft Windows XP, try looking for options.xml file in %SystemRoot%\%ProgramFiles%\Psi. It should be there only. I have never used Win XP, so i can't exactly pinpoint the location. In case you don't get it there, try searching for the file in Psi folder. In case of Linux, the location is /home/username/.psi/options.xml.
    As far as Miranda connection is concerned,
    this official Google Talk help should do it.
    If you still are unable to connect, notify us.

    ReplyDelete
  3. Thanks for the help so far.
    I manage to find options.xml in "C:\Documents and Settings\username\PsiData\profiles\default", is that the file that i paste the code into? If not, where does the code go and how do I edit options.xml?

    ReplyDelete
  4. Hello Tommy,
    I have updated the blog entry as a whole to provide step by step instructions, with relevant images, to help in proper configuration. Hope this will do the job. In case of any query, feel free to contact us.

    ReplyDelete
  5. pranavv...... thxx yaarr..... i9ts workinggg........ thx a lotttt........ especting more from u..... rock u.....

    ReplyDelete
  6. I tried using psi 0.11 and did every possible changes but when i try to sign in as invisible it keeps on saying connecting but doesnot show me as invisble and
    then i copy pasted the codes in xml screen but it showed mal funtioned code and then i was not able to see nething xept the codes in red on the black screen plus i cannot see ne frndlist or ne online frnds :( plz suggest...

    ReplyDelete
  7. Hello Anonymous,
    I think you are having issues with the configuration of Psi. You should make sure of two things. First that you have enabled the invisible mode from the options file. And secondly, you have configured Psi properly for google talk. details for both the issues are mentioned above.

    ReplyDelete
  8. so you have to wright this down into xml-console every time you want to refresh your contact list in miranda im?
    no way to save the xml console with this feature?

    ReplyDelete
  9. Unfortunately, yes, you will have to write down the code on the XML-console everytime.

    ReplyDelete
  10. Ya, this feature has been added into gMail chat. However, this is the base of how these things are being worked upon. This was a post at the time, when the feature was not available through google services.

    ReplyDelete
  11. @Pranav: I had visited your blog before and agree that you had posted this method before Google added the invisible mode feature. The reason I commented on your post is that I knew about your interest in this subject. I thought to add a value to your blog by telling you about Gmail chat feature.

    ReplyDelete
  12. yes
    i can do it now
    and can use successfully Psi software.
    but i also can't see
    the other people who are online.
    how can i solve this problem.
    help me ..please

    ReplyDelete
  13. In order to see who are online among your buddies, you have to copy the XML code, and then paste it into XMLCOnsole and then transmit it. It will fulfill your need.

    ReplyDelete
  14. @ Upma_Sharma

    Thanks for your comment. :-)

    ReplyDelete
  15. yes
    i do it

    it had done the step of Xmlconsole input..
    but doesn't work ..
    :(
    whatever thanks to you
    :)

    ReplyDelete
  16. hi,
    i have added google talk gadget in my igoogle. can something be done to have an invisible mode in it..

    ReplyDelete
  17. Well, we have not tested this yet, but, will be testing it too soon. Till then stay connected. If you want a notification of the completion of this thing, then let us know your email id here.

    ReplyDelete
  18. Hiii, I am using miranda.. and it works great for me....
    But im able to set invisible in gtalk but... but my status is showing online in orkut...any thing to do.???...please let me know. thanks..-----

    ReplyDelete
  19. I used this code snippet with Miranda on the XML console and it works for me. Thanks for posting the hack. Google should be providing this by default, if this is to be so easy!

    ReplyDelete
  20. Hi Kusuma,..
    Just logout from Orkut...Just like in gmail there is an option in orkut also... @ the top(Sign in/out from chat)

    ReplyDelete
  21. Kusuma and Shreekanth,
    Thanks for your replies. I am willing to work on a gtalk plugin to enable the invisible feature, its just that there are only 24 hours in a day.
    Anynomous,
    I'mm glad it worked for you. Keep visiting for more hacks and stuff.
    Regards,

    ReplyDelete
  22. Followed all the described steps in blog, but I did not obtain to connect me, nothing message refuge the connection was shown, I noticed that some of the options are in different places, has some incopatibilidade that with the version of Miranda IM that I am using?

    ReplyDelete
  23. i have downloaded psi and try to sign in but it is like forever. can't login to my gtalk. do you know why?

    ReplyDelete
  24. Boss thank u soo much i used the Miranda its working fine fot me...Thanxxx Allllooottttt

    ReplyDelete
  25. Hey thanks for the post. But can we trust this application,because safety our account is important.

    ReplyDelete
  26. Karthik,
    Surely there is no (known) security flaw with this method.

    ReplyDelete
  27. Is there a way to have the buddy list refresh without having to re-enter the code everytime? How does the invisibility in gmail do it?

    ReplyDelete
  28. Rayzxr,
    As of now i am not aware of anything that could make it automatic. However, what can be done is a perl/shell script that could keep on sending this code snippet to the server everytime, so we don't have to do it manually.

    ReplyDelete
  29. And yeehah.
    I hacked kopete source code and made it set the xmpp status as unavailable instead of invisible when the invisible mode is selected.
    Thanks pranav. :)

    ReplyDelete
  30. hi..i tries psi 0.14 and at first I was successfully chatting using my gmail account with my friends by being invisible. I login into gtalk with my other id & one on psi. Still in invisible mode, when I'm sending message to gtalk, it goes successfully, but when I sent from gtalk to psi, it isn't received on psi. How come? Please help!

    ReplyDelete
  31. I want to thank you for writing this article.This is great Article for me. It also more very informative & awesome. I expect more articles from you in future.
    XMPP

    ReplyDelete