Connecting users is trickier than you might think

With social networking, one of the more important things is how users connect. It might be the defining feature of a social network. And usually, from the user's perspective, it's pretty simple. Usually. But what happens under the shiny surface of HTML, CSS, and JavaScript?

In the initial design for Taskerrific, things were amazingly simple. A single SQL table, UserToUser, was created which would allow one user to follow another, similar to how Twitter lets you follow other users. However, just thinking up that and putting it in the design was an arduous challenge; what if a reciprocal model, like Facebook's friends, would be better? (Well, to be honest, my UserToUser table could handle reciprocity as well, with just a little more complexity in the SQL queries.)

Then, after I started writing code for Taskerrific, things changed. Looking at other services, those that would compete against Taskerrific and even those that didn't, I began to consider questions that should have come into my head back when I first ironed out the issue. Questions like "how does a user find other users with similar tasks, skills, or ideas?" and "how can users organize the people they've connected to?" Obviously, the original design was too naive.

Groups are the answer to both these questions, but there are different types of groups, with different methods of organization. Going back to Facebook, that site offers two different types of groups: public groups, the ones your friends keep inviting you to join, and private groups (which Facebook calls "Friend Lists"), which let you sort out the people you know into categories only you can see.

Both of these can apply to Taskerrific. However, neither type does a very good job at letting users find people they may be interested in. The latter, being private, is only useful for people you already know and are following. And the former only works when you're out cruising for new people to connect with, which you probably won't want to bother with when you manage your task list.

Right now, I'm changing Taskerrific to add support to private groups. Of these two types, private groups are the harder type to add, as it changes something that already exists, rather than adding something that doesn't. I might add public groups at some point, but I think a better effort for helping users find each other would be to create some sort of "suggested user" feature, based on the profile and tasks of users. Which is a whole 'nother can of worms.

Reblog this post [with Zemanta]
Posted In