You are reading a MIX Online Opinion. In which we speak our minds. Karsten Januszewski Meet Karsten Arrow

Lab Notes

21Comment Retweet

Introducing Incarnate

Dec 14, 2009 In News By Karsten Januszewski

Our latest lab, Incarnate, finds your avatars around the web, so you don’t have to upload a new one every time you join a service or leave a comment

We’re excited to release Incarnate, a new lab from Mix Online. Included with this lab are a great set of articles that deal with how to design web forms and—a first for Mix Online—how we built a Word Press plug-in for a better experience handling avatars on the web.

So, what exactly is Incarnate? It’s a service that you can incorporate into your blog or website that allows your users to associate themselves with an avatar they’ve already published on the web. Try it out now.

The Genesis of Incarnate

So, what motivated us to build Incarnate? Well, first off, avatars are ubiquitous on the web today. Humans are "visual creatures," and we make associations quickly and assign meaning by processing visual data—especially faces. Using avatars, users can establish a consistent visual identity to associate with their "virtual selves." So, if you run a website, supporting avatars is a good thing.

But, have you ever been to a webpage or blog and looked at the comments and seen an array of “default” avatars next to the comments? Maybe something like this:

noavatar  default_gravatar d41d8cd98f00b204e9800998ecf8427e thumbnailCA02FK7D thumbnailCAMLGGEA

Annoying.

Most often, these “default” avatars show up when a user doesn’t actually register an avatar with the website (or with the avatar service that website uses).

Now,have you ever been asked to upload an avatar when trying to register for an website? And you are thinking to yourself,haven’t I uploaded this same avatar to Twitter, MySpace and YouTube already? Can’t I somehow reuse that avatar?

Again, annoying. These were the scenarios that kept us up at night and inspired us to build Incarnate.

I was working with microformats when it hit me: all the big social networking sites support the hCard microformat on their publically available profile pages. And, most support vanity urls, where the username is part of the friendly url. Thus, we could write a service that parsed these profile pages. Then we could present these avatars to users, and let them pick the avatar they want. We’d solve both the problems discussed above: users would be more likely to use an avatar, which would result in fewer “default” avatars and make for better-looking web pages. And, users wouldn’t have to keep re-uploading their avatar to the same services; instead, they could use their social network of choice as an avatar provider.

Why did we call it Incarnate? Well, the word incarnate is closely tied to the word avatar. To incarnate means to give something bodily form. In religions, an avatar is the human incarnation of a deity. So, in order to help manifest avatars on websites, our service was aptly named Incarnate.

Using Incarnate

It’s easy to incorporate Incarnate into websites and blogs. If you’re using WordPress, you can add the Incarnate WordPress plug into your blog, and users will be able to use the service immediately. If you’re using another engine for your website, download the simple sample we put together, which demonstrates how to incorporate Incarnate into an existing website. You may have to write a little code, but it shouldn’t be too bad. (And if you’re struggling, don’t hesitate to contact us!)

If you deploy Incarnate to your website, let us know and we’ll feature you!

You also have the option of interfacing directly with the Incarnate service. The Incarnate service supports JSON and JSON-P through a very simple REST syntax. You can read about the end points and data structures supported by Incarnate here. And, if you write a user interface using the service or a plug-in that works with Incarnate, let us know so we can feature it.

The Technical Details

Incarnate is a REST-based service that uses people’s usernames to find their avatars on the web. It supports JSON with Padding (JSON-P), so it can be called from any domain. It’s written in Windows Communication Foundation (WCF) using the REST Starter Kit in combination with the JSON-P encoder that ships as an extensibility sample with the WCF samples.

We have deployed an instance of Incarnate to Windows Azure, so it scales well. This instance is hosted at http://incarnate.visitmix.com. You also have the option of deploying an instance of Incarnate to your own server. You can download the source code here. You’ll see that the Incarnate infrastructure supports a provider model, so new providers can be easily added—as long as they conform to the very simple IProvider interface. So, for example, if someone wanted to make a Flickr provider (Flickr has publicly accessible avatars), they could do so. (If you write a new avatar provider, let us know so we can deploy it to our instance of Incarnate).

Additional documentation about writing a provider is available in the source code to the Incarnate service itself.

Incarnate On Channel9

Check out this interview Tim Aidlin and I did for Channel9 with the venerable Charles Torre about Incarnate.

Follow the Conversation

21 comments so far. You should leave one, too.

Simon Bruce Simon Bruce said on Dec 16, 2009

How is this any different to Gravatar?

Matthew Matthew said on Dec 16, 2009

@Simon Well, for one thing, you have to register your email with Gravatar (or have a WordPress.com blog) before your email will be associated with your avatar. Incarnate, on the other hand, is automatically pulling avatars from many different social networks, so the chances you already have an associated avatar are much greater. At least that''s what it looks like to me right now!

Sevki Sevki said on Dec 16, 2009

i think its a good idea and its definently in the right direction however did you consider buidling a repository of images for open-id

marti garaughty said on Dec 16, 2009

One thing really missing at this point in time on WordPress is easy integration with other social media sites, this is an excellent step.

Tim Aidlin Tim Aidlin said on Dec 16, 2009

Thanks for the comments. As for the Gravatar question, you''re right, @Matthew, in your response. I just wanted to add that we do, in fact, also support Gravatar with Incarnate, and think that Gravatar is fantastic. We simply wanted to provide a wider array of potential avatars from which you can choose, and not force you into one service versus another.

We hope people like Incarnate and will extend the service to include even more providers and services. Please let us know if you do!

Imran Hussain Imran Hussain said on Dec 16, 2009

Sweet! I''ll be adding incarnate to my blog for sure!

Imran Hussain Imran Hussain said on Dec 16, 2009

One issue I''m having is that once I started using incarnate on my blog, the already present comments don''t show the old gravatars anymore.

Karsten Januszewski Karsten Januszewski said on Dec 16, 2009

We just released version 1.1 which resolves this issue. Thanks for letting us know.

Neytiri Neytiri said on Dec 26, 2009

Thanks, this is just what the Na''vi people wanted!

Mike Mike said on Jan 11, 2010

Very cool way to add avatars; I''ll be adding this to my blog. Thanks!

Sam Sam said on Jan 11, 2010

Awesome! I''ll definitely be using this in my next project. Gravatar gets on my nerves.

One question though: what happens if a user changes their avatar on their service of choice?

Say I was using my current Twitter avatar with my comments, but then changed my avatar, does Incarnate pull the users'' new avatar, or try to pull the old one?

Matthew Matthew said on Jan 11, 2010

I was going to implement Incarnate at my new site http://www.techinch.com, but was very sad to see that the plugin''s styling isn''t anywhere near as nice as the implementation here. Is there a way we can get a comment form just like this one with Incarnate integrated?

Karsten Januszewski Karsten Januszewski said on Jan 13, 2010

@Sam - The way Incarnate is implemented (both the sample we ship and the wp plugin) is to just store the URL to the image from the provider, aka Twitter, so that if you update your avatar on Twitter, it will update anywhere it has been used by Incarnate.

@Matt - Yes, it is a todo item we have to ship an example of using the UI we used on Visitmix.com so others can use it. Stay posted on that one...

Ansi Ansi said on Jan 19, 2010

Simply the BEST concept. No pushy sign ups needed. Users pick what avatar they like!

I implemented this on on a wordpress, it shows up fine on the comment box. I am using a theme called icompany theme. I need a little help to as the avatars are not being displayed after I submit the comment. Must be something minor, any thoughts?
here is the site: http://thasneen.com/cooking/

ansiguy ansiguy said on Jan 19, 2010

this was an issue with my wordpress theme. When I tried to edit the comment template from wordpress admit interface it wasn''t doing anything.

I had to go directly to the file server and change it there. works! Thanks!

Karsten Januszewski Karsten Januszewski said on Feb 21, 2010

We''ve addressed many of the issues with WordPress themes in version 1.2, so please try that one now!

Adil Abbas Adil Abbas said on Mar 5, 2010

Oh.. This thing is really incredible! i wonder how could i didn''t even heard about it before..
This is far much better than the Gravatar, will definitely be adding this in my blog.

@Matthew
Thanks so much, you made my day!

- Adil

thor thor said on Mar 26, 2010

Great plug-in! I wonder how I can set z-index order to display the search panel over the name, email and website input fields. In this moment the search results display is below them. Thanks in advance!

Blue Blue said on Aug 10, 2010

This is so cool.
Tried accessing the xml , but unreachable.

Would like to see how this is created please, and data parsing to see if we could integrate with other systems.

Excellent, we will BLOG this on our site, to say thanks.

Karsten Januszewski Karsten Januszewski said on Aug 10, 2010

@Blue -- Glad you like it. Not sure what you mean about accessing the xml. The service itself only supports JSON as a format. You read more about it here: http://incarnate.visitmix.com/incarnate.html

Tanzim Saqib Tanzim Saqib said on Aug 23, 2010

CodeTV has covered Incarnate in this episode: http://fb.me/GnxYWrbA