I think that most people who design and work with online communities have, by now, learned that identity is an important issue. I’ve certainly been harping on about it for years, and have repeatedly found that it’s a tough nut to crack. People say that they get it, and that they realise that it’s important, but then they’ve repeatedly shown that they didn’t get it.

Now, I don’t know if this is normal behaviour or not, but when people repeatedly don’t get what I’m saying, I find it frustrating. I’ll keep digging around until I find out why they don’t get it, and I’ll keep trying to improve my mental model of the problem until I can find new ways to express it. After all, a clear and understandable expression of the problem is vital if you want to get past the blocks that are in the way.

Every now and then, getting past the blocks makes me realise a gap in my own thinking, and a lot of the time it comes down to language. I don’t mean that I’m writing in english and you’re reading in french (although you might be – I wouldn’t know!), but that the word identity comes with too many meanings. Particularly when you’re a fuzzy, imprecise UX guy talking to rigid, precise developers. Thankfully, having a fair bit of fairly arcane coding in my background (fast fourier transform code and neural networks – particularly Kohonen SOMs) I am often able to speak enough developer to get by.

It was stepping back from working on online communities to work on our product that brought me to something of a realisation about how I’d been communicating something about communities. Or more accurately, how I hadn’t been communicating something.

I’d been banging on and on about how identity was important, meaning one thing. The folks I’d been working with had heard me banging on about identity being important, but hearing something entirely different. Identity meant different things to different people on the team, and that was muddying the waters – I was saying identity was important and that we needed to focus on it more, and they kept going off and focussing on the wrong thing. What they were focussing on was what I’m going to call the system identity, whereas I was talking about what I’m going to call the self identity.

But what’s the difference?

To the developers, the purpose of identity was separation and identification of individuals. It was a means to say “this person in this system is the same as this person in that system”. A way to reliably tell who a person is, and to match up that person in one systerm with themselves in another. It’s how the software tells one user from another and can tell who people are. I’ve taken to calling this one the system identity.

To the social and community folks and the front end users, that’s not what identity means. To those people, “identity” is how each user expresses themselves. It’s a means to say “this is who I am, this is what I do and this is what matters to me”. It’s a way to express what it means to be who you are. I’ve taken to calling this one self identity.

So, using this terminology, you can make it clear what kind of identity you’re referring to.

System Identity is knowing that the UserID 1138 is Jed (and only Jed) and user 1149 is Bob (and only Bob). It’s how the system differentiates you as an individual from other individuals. It’s used by the system itself to differentiate users and associate them with other things.

Self Identity is Bob’s profile letting people know that he can help them file their TPS reports on time and that he likes skiiing. It’s also Joe’s profile letting people know that he likes muffins, playing squash and going out for drinks on friday nights. It’s an expression of what being Jed or Bob actually means.

Both are valid uses of the word identity, and both are extremely relevant in social or community software. You need a strong model for both forms of identity if you want your online community to thrive and be successful. You need to be able to reliably tell users apart behind the scenes, but you also need to allow users to differentiate themselves and present themselves in a manner of their choosing at the frontend.

You must be able to clearly distinguish users at the backend through their system-identity, but you also need to let users distinguish themselves from each other in the frontend through the way they choose to express themselves and present themselves. This latter method of distinction relies on the self-identity. It might be through personalised avatars and signatures, or it might be through and expressive username.

In a real world analogy, the system ID would be the passport or ID card. It’s an official document that states who you are. It’s typically reliable and is useful for proving who you are, but generally says little about you as a person.

In the same real world analogy, the self ID would be your skills, your personality, your fashion sense, your taste, your interests & your hobbies. It says a lot about you as a person, but doesn’t necessarily serve as a unique identifier.

One says “I am unique individual 1138. Nobody else is unique individual 1138. I am only unique individual 1138.”

The other says “I am bob, I like beer and fishing. My tastes are these and you should read what I say because…”

For an online community (or social network) to work, you need to understand both of these and have an appropriate approach to dealing with them. You need to be able to reliably differentiate between individuals, and those individuals need to be able to reliably express why you should care what they say.