Google Talk in Yahoo Messenger

4 min read >

Google Talk in Yahoo Messenger

Engineering Insights

Some time ago, when I first saw the Google Talk gadget is being released, I got this crazy idea of embedding the gadget in Yahoo Messenger as a plugin.

Once logged in, the gadget was displayed just fine as a plugin, but if the user was not logged in, he’d be taken to the google login page. So I started hacking and chopping and after half-hour I finally got this version working.

The plugin is quite simple: it contains one simple HTML file with some Google styles and the HTML code for the login page. On page load – a request is made to http://www.google.com/ig to check if the user is already logged in. This is achieved by parsing the response and checking for the “Sign out” string – which means the user is logged in.

Surprisingly, from all the Google pages, the http://www.google.com/ig page was the only one (after 4 or 5 unsuccessful attempts) that could give me an indicator of whether the user is logged in or not.

In case the user is logged in, the page is redirected to the URL containing the embeddable flash gadget for Google Talk: http://talkgadget.google.com/talkgadget/popout.

Unfortunately, the administrators of Yahoo Messenger plug-ins at http://gallery.yahoo.com/messenger have rejected the application so far, so in order to use it, every time you start Yahoo Messenger, you need to select “Load Test Plug-in” to load this plugin.

Here are some images with the plugin:

gtalk


And here’s the code for the plugin:

<form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth" method="post">&nbsp;
<p>&nbsp;</p>
<div class="loginBox">
<p>&nbsp;</p>
<table id="gaia_table" style="display: none;" border="0" cellspacing="0" align="center">
<tbody>
<tr>
<td colspan="2"><img alt="Google"></td>
<td valign="middle">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;
<p>&nbsp;</p>
<div><span class="gaia le lbl">Email:</span></div>
</td>
<td><input id="continue" name="continue" type="hidden" value="http://talkgadget.google.com/talkgadget/popout"> <input id="service" name="service" type="hidden" value="talk"> <input id="skipvpage" name="skipvpage" type="hidden" value="true"> <input name="GALX" type="hidden" value="aa3Jml3aMHk"> <input id="Email" class="’gaia" name="Email" size="18" type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="left">&nbsp;</td>
</tr>
<tr>
<td align="right"><span class="gaia le lbl"> Password: </span></td>
<td><input id="Passwd" name="Passwd" size="18" type="password"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="left">&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top"><input id="PersistentCookie" checked="checked" name="PersistentCookie" type="checkbox" value="yes"> <input name="’rmShown’" type="hidden" value="1?/> </td> <td> <span class=">Remember me on this computer.</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="left"><input class="gaia le button" name="signIn" type="submit" value="Sign in"></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
</form>