Looking for software experts?
Need an expert advice on software development? Need consulting work done in time and at high standards? Tremend has the right solution for you.

We can provide expertise in:
  •    » high traffic and complex content website infrastructures using Java, PHP or .NET. More here ...
  •    » mobile applications for iPhone, Android or J2ME. More here ...

For an enquiry, send an email to contact [at] tremend [dot] ro.

Google Talk in Yahoo Messenger

September 23rd, 2008 by Marius Hanganu in General, HTML, Javascript, Tools

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. Click here to download the plugin.

After downloading it, unzip it into the C:\Program Files\Yahoo!\Messenger\Plugin\Test\ContentTab\ folder. UPDATE: after unzipping, rename the folder to test.plugin (thanks Tudor) The final path should look like: C:\Program Files\Yahoo!\Messenger\Plugin\Test\ContentTab\test.yplugin\.

Restart Yahoo Messenger, log-in and select Actions -> Load Test Plug-in, and the Google login page will show up in the plug-ins area. You can select the “remember me” box, so that after restart you will be automatically logged in.

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 “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 on whether the user is logged in or not.

In case 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:
Google Talk in Yahoo Messenger

Google Talk in Yahoo Messenger
And here’s the code for the plugin:

    <!--
<!–
        body,td,div,p,a,font,span {font-family: arial,sans-serif;}
        body {margin-top:2}.c {width:4; height: 4}
        body { background-color:#E8EEFA; }
        A:link {color:#0000cc; }
        A:visited { color:#551a8b; }
        A:active { color:#ff0000; }
        .form-noindent {background-color: #ffffff; border: #C3D9FF 1px solid}
        .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
        .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
        .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
        .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }
        .body { margin-left: 3em;margin-right: 5em;font-family: arial,sans-serif; }
        div.errorbox-good {}
        div.errorbox-bad {}
        div.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;}
        font.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;}
        hr {border: 0;background-color:#DDDDDD;height: 1px;width: 100%;text-align: left;margin: 5px;}
         div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
         font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
        .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
        .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
        .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
        .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
        .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }
    –>
-->
    <script type="text/javascript"><!--mce:0--></script>
<form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth" method="post">
<div class="loginBox">
<table id="gaia_table" style="display:none" border="0" cellspacing="0" align="center">
<tbody>
<tr>
<td colspan="2">
                        <span>
                                    <img src="https://www.google.com/accounts/google_transparent.gif" alt="Google" />
                                </span></td>
<td valign="middle">
                                    <span>
                    </span></td>
</tr>
<tr>
<td>
<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></td>
<td align="left"></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></td>
<td align="left"></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?/&gt;
                    &lt;/td&gt;
&lt;td&gt;
                        &lt;span class=" />Remember me on this computer.</td>
</tr>
<tr>
<td></td>
<td align="left">
<input class="gaia le button" name="signIn" type="submit" value="Sign in" /></td>
</tr>
</tbody></table>
</div>
</form>
DZoneGoogle ReaderYahoo MessengerRedditEmailDelicious

Related posts

  • Online AJAX based dictionary
    Check out the first Romanian online AJAX dictionary: www.123dictionar.ro. Similar to Google Suggest, the AJAX dictionary will provide instant word definitions as you type, or, in case no matches are...
  • Rightsflow acquired by Google
    Congrats to the Rightsflow team for the recent acquisition by Google. We are glad that we were able to bring our contribution to this success. Tremend provided software services for implementation of Limelight...
  • Windows cannot find “url”
    If you've encountered this message: "Windows cannot find url" when clicking links in external applications (like for example Yahoo Messenger, Adobe Acrobat, etc), here's the solution as stated here: 1....
  • Firefox Extensions
    To make your browsing experience a pleasure and also benefit from a great development tool, Firefox is key. Here is my list of must-have extensions: - DOM Inspector - inspect browser dom, really good...
  • Intellij Idea versus Eclipse – part II
    >> 10 reasons why Eclipse is better Most of the following are not checked in Idea 6.0 which is anyways in beta. They refer to 4.x and 5.x Idea versions. 1. The visual editor - one feature that...
.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.