Friday, July 31, 2009

A Gadget to Embed a Configurable Google Wave

In a previous post "How to add a gadget to your blogspot blog", I used the Google Wave Embed API to embed a wave into my blog by editing the template. This is not very difficult at all, but then Ratscillion asked me about possibly creating a gadget to make it easier to setup and embed a Wave into the blog by using Layouts and editing the page elements.

I am very familiar with gadget development, so I thought the project would take me about 15 minutes. However, because of one very simple error that I just couldn't catch, it took me about 4 hours to finally get it working. Anyway, now any container that can host a google gadget (e.g. orkut, myspace, blogger, ning, etc.,) can easily embed a configurable gadget that will automatically embed the wave. If you'd like to see the wave embedded on this blog, just scroll to the bottom. Of course, keep in mind that if you don't yet have access to the sandbox, not only are you unable to see the functionality, but you're also missing out on a world of fun!

Anyone interested in embedding the gadget can just use this gadget spec

If you do use this gadget, let me know either in wave, or by commenting here so that I can stop by your blog or page and see it in action :) Also, please let me know if you have any suggestions for enhancements or find any errors :)

Ratscallion: My first friend on this blog!

Because Ratscallion is the first friend to join my blog, I just wanted to write a post to thank him for joining :) Also, I wanted to thank Ratscallion for giving me the best idea for my next gadget. Essentially, I am going to work on a gadget that will allow one to embed any wave directly into a blogspot or blogger blog by adding a gadget, as opposed to having to edit the XHTML template. Should be a great project for starters!

Thursday, July 30, 2009

How to add a Google Wave to your Blogspot Blog

If you scroll to the bottom of my blog, I have embedded a Google Wave for you to take a look at. Of course, this only works if you have access to the wavesandbox, so if you don't have access yet, you'll only see a canned Google Wave Developer Release notice. For those of you who do have access to the wave, however, you should be able to see the wave. I am going to try to add some functionality to allow one to join the wave right from the blog. However, if you want me to add you to the wave, just drop a note in my comments. The more the merrier!

Here is the process that I followed to embed the wave in the blog.

From blogspot dashboard, I clicked on 'Layout-->Edit Html'. Then, I put the following code into the template (in the <head> section).


<head>

<script src="http://wave-api.appspot.com/public/embed.js" type="text/javascript"></script>
<script type="text/javascript">


  function initialize() {
var wavePanel = new WavePanel( 'http://wave.google.com/a/wavesandbox.com/' );
wavePanel.loadWave( 'wavesandbox.com!w+waveID' );
wavePanel.init( document.getElementById( 'waveframe' ));
}

</html>




Note that I had to replace the 'waveID' with the actual ID of the wave I want to embed. The easiest (only?) way to get the WaveID is to open the wave-client at the wavesandbox, click on the wave, and then click on 'debug-->Get waveID'.

Next, I scrolled down to my Main Wrapper section of the template and added the following <div> snippet of html


<div id="waveframe" style="width: 500px; height: 100%">



Finally, I modified the <body> tag to call the initialize function, like so:


<body onload="initialize()">



And that's it! Now the wave is embedded at the bottom of my blog.

Note: I'm not sure if I absolutely had to add blog-wave@appspot.com to my wave for this to work or not, so I am going to do some more testing to see what I come up with. My sense is that one can embed the wave into the Blog without having to use the blog-wave robot.

Finally! Google Wave Access

As I posted earlier, I received an invitation to join Google's Wave Sandbox yesterday. So I filled out the invitation response form and today I received access. What's really cool is that they not only give you an account setup to access the wave, but they also give you a test account, as well. Therefore, I have two accounts on WaveSandbox.com: nolybab@wavesandbox.com and nolybab-test@wavesandbox.com. How great is that?!

I have to say that the UI is not quite as responsive as I had hoped, but it is fairly stable and I'm sure that performance will increase over time--keep in mind this is in very early beta release at this time. I tested the wave in Google Chrome, but it doesn't appear to work in that browser very well, but runs OK is Firefox (3.5.1 beta). Below is a screen-shot of my wave-client in the Firefox:


My next steps are to learn to embed a wave and then write a couple wave gadgets for testing. I am hoping to embed a wave here on this blog, so check back soon. Also, if you have access to the wavesandbox and would like to collaborate, get in touch with me and let's see what interesting functionality we can develop!

Wednesday, July 29, 2009

Twitter Phishing Scams

In my research this afternoon, I came across this interesting article on PCWorld.com. The article describes a phishing scheme wherein a sea of users all sending the same message: "Want to know whos stalking you on twitter!?: http://TwitViewer.net."

According to the article, "The site, whose domain was registered today through an Arizona proxy service, promises a photo-gallery-like display of the last 200 people that came to your Twitter page." The so-called 'service' is FREE, but the catch is that to use the 'service' you must give up your Twitter username and password to a shady third-party service.

After providing your authentication detailes, the site automatically sends the aforementioned message through your Twitter account sans permission and auto-follows you to the Twitter accounts of any of the random photos you click on--people who you're led to believe visited your account. It works like a huge cascade, perpetuating the phishing scam to more and more users.

The article states that the domain was registered yesterday (July 27th, 2009), but is now offline, just one day later.

This reminded me of something interesting that I saw earlier today myself, a message from thousands of users stating "You are looking for new followers? Here a FREE Tool to help you. http://www.follower-power.com Please, Send your List!" I researched this a little bit and realized this is also a phishing scheme!

Beware! This doesn't just apply to services like twitter, but also any social services. Of course, there are some companies that are trying to be legitimate that use similar techniques of prompting and storing user credentials, but this is NOT a good practice.

One example is Power.com, which asks users to provide login credentials for Hi5, Orkut, MySpace, Twitter and other services. The problem is not that Power.com is a phishing scheme. The problem is that using this type of a technique creates havoc throughout the social web. Right now, Power.com is engaged in a legal battle with Facebook regarding scraping data from Facebook's social network and prompting and storing Facebook user credentials.

Of course, the problem is that users are looking for social data portability. Who wants to create yet another username and password on yet another social site? But the solution is NOT to ask users for their authentication credentials, but to use OAuth.

OAuth is an authentication protocol desktop and Web applications that's designed to keep your login credentials secure from third parties. Applications that support OAuth don't ask you for your user name or password directly. Instead, they send a request to Twitter and ask it for permission to access your account. OAuth is an emerging technology that addresses the problem of social graph data portability and is supported by Internet giants such as Google, Yahoo!, AOL, Bebo, Hi5, Orkut, YouTube, Blogger, ICQ, Groovy, MapQuest, Twitter and the list goes on and on...and on!

The lesson here is to NEVER give your login credentials to a third-party site. Rather, learn about the advantages of using OpenID and OAuth.

Right now the social web is like an awkward teenager trying to find itself, but it is growing up quickly. I expect that over the next year, more and more users will start to shun any site that asks for credentials and embrace sites that leverage the power of the portable social graph through OAuth!

Now, back to my research...

Google's Wave! Email, Docs and IM, Goodbye!

I'm very excited that I received an Invite from Google today for access to the Wave sandbox. I'm anxious to get started. For those of you who haven't yet heard of Google Wave, the technology is described as "new model for communication and collaboration on the web." You can think of a Google Wave as part communication and part document. The technology combines remote, near real-time collaboration and communication for live sharing of richly formatted text, photos, videos, maps, and more. There are also Developer APIs that allow us to extend Wave functionality with robots and embed nifty gadgets.

What's even more impressive is the fact that Google has made this technology open-source (well, not quite yet, but they are slowly rolling it out as completely open-sourced over time). Already PyGo has created their own beta Wave-Server There is even a Wave Federation Protocol that allows third-party Federated Wave servers from different providers to communicate in near-real-time with one-another.

As I said, I just received my Google Wave Sandbox invite today and should have access within the next few days. I can't wait to Wave! You Want to Wave? If you do sign up--or already have access--post a comment here and maybe we can meet in the wavesandbox and do some testing.


Check out the Google I/O 2009 Wave Video:



The Google Wave technology was created by the same team that created Google Maps, down under in Sydney Australia. Essentially, they realized that Email, IRC, IM, etc., were all created decades ago. So they wanted to take a fresh look at these technologies using modern approaches and incorporating more modern technologies such as gadgets, ajax, documents and then to redesign from the ground up.

I can't wait to see how Federated Waves influence the next generation of online content development. Just as OpenSocial has transformed how social networks interact with the Web, now Federated Waves will also tear down traditional 'walled garden' communication and content publishing boundaries. For the first time, we'll be able to realize both real-time synchronous and asynchronous collaboration, simultaneously creating and distributing (streaming) content within many contexts throughout the web. For instance, I see OpenSocial converging with Google's Wave to reinvent how we use social networks, blogs, personal websites, and even twitter...to name just a few.

To summarize my thoughts...Maybe I'm wrong, but I see Federated Wave Technology as being the next step in evolution of how we use the Internet. Forget surfing the Web. Webs are sticky and filled with spiders and relatively static, stale content. But surfing Google's Wave, now that's exciting! Granted, the World Wide Web refers to the interconnectedness of all the world's computers. So the analogy holds true despite the emergence of the wave and in a sense, the Web is synonymous with the physical of the web (i.e. Internet). Indeed the physical limitations of the web were present in the interactions of the software systems implemented on the architecture.

Email is a perfect example, modeled on the archaic Parcel Post system, allowing for document attachment, but separated from content publication. In another example, IRC and IM operated as a means to synchronous communications through the web, but also remained separate from web content publication. As the Web evolved, documents and spreadsheets, as examples, migrated from the confines of the desktop, liberated onto the web. It became possible to collaborate on a central document, even in near-real-time, without having to email copies of a document or maintain several copies. However, the work on the document was still essentially estranged from communications about the document. Granted, sometimes notes within the document itself might indicate communication points, but overall, communications around a document still involved email, IM, or even voice, which all happened outside the context of the document.

But now it seems that a new Application, Presentation and Session Layer Paradigms are changing all that. Now communications, collaborations, content and distribution are all intertwined within a Wave. From the quasi-static Web model, we now see the evolution to a very fluid Federated Wave model. The major difference is unified context. With the old Web-based content model, every form of communication had it's own context and required some automated or manual process to transform data from one context to another (e.g. copy text from an IM, spreadsheet or email and paste into a blog post). However, now we have a universal context that allows for synchronous and asynchronous communications to take place, with accountability, within a single context, and full control and extensibility.

Well, I've gone on long enough, but I guess it shows how excited I am about the Wave. I can't wait to see what becomes of this game-changing technology!

Go Google!