开发者

UX Solution for Potential Activity Stream Spam

My app implements an activity stream for different types of activities. One of the activity types is related to the different virtual currency a user can accumulate. For example, a user can accumulate "Points" for posting a comment, voting on a topic, etc. If I were to do no filtering or aggregating, you would get a lot of self-generating spam over the course of a mere hour, for example:

  • Earned 5 points for commenting (total points = 505)
  • Earned 10 points for voting (total points = 515)
  • Earned 5 points for commenting (total points = 520)
  • Earned 5 points for commenting (total points = 525)
  • Earned 5 points for commenting (total points = 530)
  • Earned 10 points for voting (total points = 540)
  • Earned 10 points f开发者_开发技巧or voting (total points = 550)
  • Earned 10 points for voting (total points = 560)
  • ...
  • ...
  • ...

How would you go about preventing this potential for self-generating spam but also present the stream of activities in such a way that invites your friends to see what you've been doing?


I can think of a couple options. The first being an aggregation of the data. I don't know how many activity types you have, but you could distill what you have posted down to 2 items:

  • <Name> made <x> comments and scored <x * 5> points!
  • <Name> voted on <x> things.

You could make each of these list items clickable to expand and show the details. So, after a click on the summary of comments user would see this:

  • <Name> made <x> comments and scored <x * 5> points!
    • Earned 5 points for commenting (total points = 505)
    • Earned 5 points for commenting (total points = 520)
    • Earned 5 points for commenting (total points = 525)
    • Earned 5 points for commenting (total points = 530)
  • <Name> voted on <x> things.

You could use something like jQuery UI accordion to implement this.

The approach Facebook takes is that it uses a sample post and then lets users know that more items are available, like this:

  • Earned 5 points for commenting (total points = 505)
  • Made <x> more comments

Then when the user clicks on the "Made <x> more comments" the user can see every comment (within a certain span of time).


Presuming you want to see in one glance if the user was recently active and how recent, I would propose something like the following:

I am not sure where you would want to show this, but maybe in the profile-page, or in the list of "friends". I would show an aggregation, that would show the most recent time-frame the user was active, and what she did:

E.g.

  • has just commented on
  • has made comments and votes in the last hour
  • has made comments and votes today
  • has made comments and votes this week

And you would only show the most recent of those. So if a user has just commented (within the last five minutes), show the first line. If she was active in the last hour, show the second line. And so on ... This clearly shows the user was active and how long ago. I think that is the most important.

You could combine this with showing the total score, showing how active the user was overall.

Maybe something like:

<name>[<total_score>] has just commented on <x>

or

<name>[<total_score>] has made <x> comments and <y> votes in the last hour.

Mmmmmm i want the message to be shorter:

<name>[<total_score>] has earned <x> points in the last hour.

Is that clearer? Not sure.

This message would then be clickable, and that would link you to a pop-up chart/graph showing the activity (votes/comments/points) over the last week/month. A chart because it is very compact and very understandable.

What do you think?


I'd personally go with an alert like Stack Uses for instant notification of immediate activities. They quickly alert and then get out of the way. If you make them clickable, the user can drill down for detail if they like.

Then, somewhere like in an account section, I'd list all activities using jQuery DataTables, so they could be sorted, paged, filtered, and delivered via pipelined Ajax. Simple, efficient, and user friendly!

UI is about commonality, making a user feel comfortable in an environment they haven't already been by presenting familiar interactions. You'll see this same pattern used on sites like StackOverflow, Swagbucks, MyPoints, etc.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜