August 2010 - Posts

Every day we come across millions of blogs and social networking websites. Whenever we’d like to make a conversation, we comment or reply to the thread. If we do that as an anonymous user, we probably have to be happy with the default avatars like the one you can see on the screen right now. I am sure not all of us are the biggest fans of these avatars. Even if we register, our avatars might be one of these, until we upload one. We visit so many social networking websites that uploading your own avatar again and again is sometimes very annoying. Slide1


If you are a web developer or blogger, and would love to drastically change the situation, and improve user experience of your visitors, this post is just for you. I am going to talk about a neat service called Incarnate that can help your visitors reuse the avatars they might have used in some other popular social networking websites.

Incarnate is a free service that can find social avatars for your users from MySpace, Facebook, Xbox Live, Twitter, YouTube, and Gravatar. It’s an open source project from MIX Online Labs. It includes fairly easy JavaScript sample to integrate in your website. It also has Wordpress and BlogEngine.NET plugins. We are using Incarnate in our CodeTV website. To give you an example, a user can type his social networking handle and click Find to get a list of avatars he has used in other websites, and choose one of them.


Incarnate is a WCF REST Service and hosted on Windows Azure. It supports JSON-P. That makes it possible to make cross-domain invocation of the service. It also uses ASP.NET Cache. So, every time it is invoked there’s no guaranty that the result is up-to-date. It has three endpoints as of now, which you can use to get avatar URL for a given provider and username, Gravatar URL for an email address and to get a list of providers Incarnate currently supports:

To make it a little bit easier for you to use from .NET code, we have built a very tiny wrapper for Incarnate. We have four methods you can use. All of them are synchronous, but if you want you can write asynchronous version of them as well, because it’s open source. It also includes a Test class powered by xUnit, which you can use to verify whether Incarnate is functioning as expected. It is particularly useful when you’re in doubt with your code whether the bug lies on your code or theirs.

Wrapper methods:

  • string[] GetProviders()
  • string[] Incarnate(string username)
  • string Incarnate(string provider, string username)
  • string IncarnateEmail(string email)

Incarnate Wrapper: 

The complete episode is on CodeTV:

There are lots of buzz going on around Windows Azure and Cloud Computing that beginners have started to ask me whether it’s another version of Windows or Microsoft has invented Cloud Computing or not.

Cloud computing is here with Windows Azure! Well, that’s not true. Microsoft may have the largest community of developers, and Windows Azure is a major blow in cloud space. That doesn’t necessarily mean they are the inventor of it. The main concept of Cloud computing dates back to 60s. Even we have been using Cloud computing daily probably even noticing it.

Gmail, is a perfect example of cloud computing. It was launched in 2004 offering 1GB storage for free. To take email to the new level from its competitors that used to offer 2-4MB back then, they had to employ a very clever technology. And that is cloud. It currently offers over 7GB of free storage and hosted email solution for organizations. Offering 7GB does not mean it allocates full 7GB space for each email account, rather it scales its storage as required. That level of optimization was possible by the cloud.

So, we’re not talking about cloud that causes rain, rather it’s the cloud on the internet where mighty web-based applications live. You can consider cloud like a matrix of servers virtually connected to each other, waiting for your command to fulfill your request. It is also known as utility computing.
Now, let’s talk about Windows Azure which is Microsoft’s cloud offering. How many times have you seen Microsoft’s sites go down? I have seen only once or twice in my entire life. Their datacenters are extremely reliable. Who wouldn’t love to host her website in Microsoft’s datacenters? Windows Azure allows us to do just that. And yes, Microsoft is in hosting business!

With Azure,
•    You can write your apps in scalable fashion
•    Your apps get necessary infrastructure support that you can very easily configure anytime
•    There’s no maintenance nightmares
•    No worries about distributing database across the datacenters
•    And Leaving all those hassles unto Windows Azure, you can focus on your application

What does it mean to a developer who doesn’t use Microsoft tools? Well, Windows Azure is for all. It is available to not only .NET developers, but also non-Microsoft languages and tools users like Python, PHP, Java, Eclipse, and so on. It also provides an interoperable environment with support for common internet standards such as HTTP, REST, RSS, SOAP and AtomPub to consume, integrate and expose services to the applications. I hope this gives you an introduction to cloud computing and Windows Azure. We will dig deeper into Windows Azure in future episodes.

Transcript of the video:

CodeTV is a video podcast for the developers who work with Microsoft tools and technology. Most podcasts are focused on advanced usage of Microsoft tools and technology, therefore a large community who are in beginner/intermediate levels do not find anything for themselves. Unlike those, in CodeTV there will be something for everyone. No matter if you are beginner, intermediate or advanced level developer, you will always find something interesting in our tiny clips. The clips are very short, quick and precise. You may want to rewind a few times if something seems difficult to grasp for the first time. The clips are are short because they are meant make you feel more interested about the topic which is being delivered. Starting with a very brief introduction to Windows Azure, many videos are being produced and will be added shortly.

Subscribe to iTunes

Subscribe to RSS

Our Facebook page

More Posts