The last time I wrote about Hyperkitty here, we talked about the overall information architecture of the app, reviewed the UI as it is right now, as well as thought about how to list all of the lists on the mailman server in a nice, browseable way that gives you more information about each list to let you know what kind of list it is.
One of the points that came up in the UI review was that it might be a missed opportunity to not have user profiles in Hyperkitty. Right now Hyperkitty provides a list of participants in a thread along the side of the thread view:
It also provides a little avatar for the poster of each above right above the post content – another place to link to a user profile maybe:
Okay but why would someone want to visit the profile? Let’s talk about this a bit.
Mailing lists lack non-verbal cues that could tip participants off to a person’s intended tone – if there was some way to fill the void of those missing cues, perhaps it would help diffuse argumentative situations before they crop up. Part of misunderstanding comes from not knowing where somebody is coming from – so if you can get just a little bit more information about a given user, it might make it easier to understand the intent behind a post they’ve written.
You may also want to simply understand better what a given person’s expertise and background is so you can weigh it against other advice you’ve received in a mailing list thread. If you know the user has expertise of value to you and you like what they say, you might even want to have an easy way to find other things they’ve posted – maybe even on other mailing lists on the server.
Trolls and spammers do happen too. One of the reasons I think mailing lists are vulnerable to trolls and spam is that every list member individually sets up their own list of folks whose posts are best redirected to /dev/null, but that filtering – call it a ‘downvote’ if you will – isn’t shared communally. Now, the list administrator can block spam and everyone benefits from that – but it’s not considered quite fair to simply block a troll in the same manner. One person’s troll is another person’s treasure, maybe? I’m not sure, but different people have different tolerance levels. Sometimes I get a message on a mailing list directed to me that is upsetting – and I can usually find out by asking people about it if the person who sent it is a known troll or if they are normally quite reasonable and probably just having a bad day. If I’m completely new to a community though, I’m not so hooked in and don’t know who to trust to get this kind of friendly advisement. I may end up leaving the community because of a message sent sarcastically by a known troll because I thought they represented a wider view of the community when that wasn’t the case at all.
So thinking about all of this, here are some simple goals that user profiles might be able to help users achieve:
- Get to know the people you are conversing with a little better so you can have more empathy for them and understand where they are coming from.
- Determine if a given user knows what they are talking about.
- Find more posts written by a user you like to read posts from.
- Figure out if a given user is a known troll or just having an off day.
What do you think about these goals? Do you think they’re valid? Did I miss any?
What information should the profile have?
In order to help users meet those goals (assuming they’re valid 🙂 ), what kind of information should the user profile offer to the user? Let’s go through, goal-by-goal:
Get to know the people you are conversing with a little better so you can have more empathy for them and understand where they are coming from.
- Since we don’t have facial cues or even a face to identify with others on mailing lists, why not provide an avatar to represent the user so we at least have in our head that we’re talking to another person – not just responding to words coming out out of the ether.
- What about some basic demographic information? The country the user is from might be useful to provide a hint of the user’s cultural background and what times of day they might be available. Their timezone is even better in determining when they might be available.
- How about showing the user’s interests? Now, this is a mailing list server – we’re not going to ask users to fill out the equivalent of an online dating profile here. We do know what lists a user is subscribed to. If you assume a person participates more in the mailing lists about topics they’re interested in, then a list of mailing list in order of their highest participation to lowest participation can serve as a list of their interests, in a way.
- Give some hints about the user’s personality. Again, this is a mailing list server. It’s not a robotic shrink, so let’s work with the data we might have. There are some traits of mailing list posts that can give some clues as to a person’s personality though:
- Chattiness – How long are the messages they write, on average? Do they tend to be short or wordy? How often do they post – quite frequently or not often?
- Initiative & responsiveness – Do they start new threads, or prefer to reply to already-running threads? A mix?
- Congeniality – Does the user post things that other members of the list agree with, or do they tend to have a dissenting opinion among the group? Hyperkitty has a thumbs up / thumbs down system so we can gauge this using the votes across the user’s posts.
- Engagement – How do others on the list engage with the user? Not at all, very deeply, somewhere in-between? One way you could potentially measure engagement is how many replies the user incites per post on average across their posts. Now, you have to be careful here, because I think high engagement could be a sign of a flame war starter too 🙂 But if the user seems to be congenial and highly-engaged, they’re probably not a fire-starter.
Determine if a given user knows what they are talking about.
- How long has the user been involved? Just because someone has been around for a long time doesn’t mean they’re an expert, but they might have a better chance of knowing something than someone who is new.
- What badges has the user earned? You gain expertise from experience, and you gain experience by doing things. You also gain badges by doing things! 🙂 I do have badges on the brain because of Fedora Badges, but generically we could check the user’s email address against Mozilla Backpack and see if they have any open badges.
- Do others listen to what the user has to say? As Aurélien has already pointed out, there isn’t a ‘follow’ capability in Mailman – but that doesn’t mean it’s out of the question. If we did have some ‘follow’ capability, this could provide some measure of how widely the user is listened to which could speak to their authority.
Find more posts written by a user you like to read posts from.
- Show the user’s recent posts. Pretty self-explanatory. You want to see more? There it is. The difference is that we can show the user’s most recent posts across all lists, not just on a single list.
- Show the user’s posts per list. We’re showing the lists the user is most engaged in already – why not show the users posts to that list specifically when you click on it?
Figure out if a given user is a known troll or just having an off day.
I think probably the things we’ve already talked about for achieving the other three goals will help here. For example, if plenty of people follow a user, their posts are generally well liked, and they’ve earned a lot of badges – they are probably not a troll.
Do these seem like reasonable ideas? Do you have any more suggestions?
Goody, I was hoping you would ask that. I posted an initial mockup last week on Twitter* and got some initial feedback, did some deeper thinking, and tweaked some things based on that. Okay, here it is (thanks to Ricky for volunteering to be my sample user for this exercise!):
For the record, GitHub was an inspiration here – I really liked how they had the sidebar with the little bits of info about the user with the little icons. But maybe it’s too heavily inspired? I don’t know, what do you think?
One thing I put perhaps too much time into was coming up with little personality traits based on the user’s mailing list activity. Ricky’s profile here has samples of each, but on the side of the mockup in my Inkscape window I built up a little library of potential statuses for these categories:
The icons probably don’t make too much sense and should be dropped… but I wanted some kind of easily way to visually scan without having to read everything. Maybe some more clever icons for each trait would be possible?
Overall, what do you think about this mockup? Any ideas? If you were trying to scope out another user on a mailing list to see where they are coming from, would this sort of view into their list activity be helpful to you? If a profile like this was auto-generated based on your list activity, would you be okay with it? Are there any pieces of this you’d like to see fleshed out more with further examples?
* Dear Lazyweb, I would love to use identi.ca again – I do not like relying on Twitter – but I’m not really sure what’s going on with identi.ca lately. Are there microblog clients that still support it?