Introducing IncarnateDec 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:
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.
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.