Cool minimalist forum 'Project Ivory'

RobinHood

Well-known member
This pretty damn cool, check it out.

Project Ivory

About the quality ranking system

About the quality ranking system - 5 lines of code! said:
Part 1: The Problem
Imagine we have a main feed, in which threads are sorted according to their scores in a descending order.​
What happens in most forums: (a) A thread is made ⇒ , so it appears at the top of the feed. (b) A thread is replied ⇒ , so it gets bumped to the top immediately.​
Two problems: (a) Spammers can quickly flood the board by making lots of threads. (b) Spammers can "stick" a thread by keep bumping it. Also, grave-digging is easy.​
Voting systems are created to address these problems, however they require keeping counts of the up-votes / down-votes / etc. and updating the scores using complicated algorithms. Moreover, clicking a small arrow requires much work :-)
Part 2: The Solution
Here at pivory.com we have a simple method: (a) Smooth introduction: a thread is made ⇒ . Therefore it appears at a position "1-hour-behind" the top of the feed, until someone find it interesting and reply to it. (b) Smooth bumping: a thread is replied ⇒ . The 1-hour factor is to make sure one can achieve some bumping even if the thread is very old.​
However, a spammer can reply to his thread multiple times to get it bumped to the top (albeit with much more work, and has to do this periodically). So we need a final rule: (c) The thread gets bumped only if it is the first time you reply to it. This is similar to the fact that one person can only up-vote a thread once.​
Now the only way out for a spammer is to create lots of bot accounts. Unfortunately this cannot be easily solved, though there can be a few methods: (a) paid memberships. (b) sign up using your ID card / License / Credit card account / etc. (c) sign up using a Facebook / Twitter account etc. (but as we all know, there are still millions of bot accounts on them). (d) complicated Karma system, in which we determine the "quality" of each user.​
Part 3: The Holy Grail - Anonymous Posting, with Quality Control
Let us turn to the nightmare of all site admins - anonymous posting without sign-up. (a) A thread is made by a guest ⇒ . We want to make sure it starts further back in the main feed. (b) Guest can reply to any thread, but will not bump it. A spammer can still pollute your threads, and this can be solved by a Flagging system.​
In pivory.com, we try something new: (c) Great power for everyone: you can delete any post inside your thread (Guest cannot delete post). This sounds insane at first sight, as it appears abusable, and the unfortunate user can lose hours of work if you delete his / her post.​
Here the second part can be solved, if the deleted post still stays in a recycle-bin-like environment for that user. It will merely be "disconnected" from the thread. And for the first part, there is a bright side: no more trolls and flame wars, only quality posts in a thread. For those who abuses this system, people will find out, and no one will post in his / her thread again. Will this work? It remains to see.​
Part 4: The Possible Results
There will be a virtual "1-hr-line" and a "1-day-line". After the first line you see the newly-posted-threads and the newly-bumped-old-threads. After the second line you are in the sea of chaos. And, most importantly, before the first line we have quality threads.​
Tips for smaller forums: adjust the parameters, and try "the thread gets bumped only if it is the first time in 24-hrs you reply to it". Tips for other sites: replace "replying" by your activity of choice (such as commenting, watching, voting, etc.) and this ranking algorithm works as well.​
  1. // Posting Thread
    $db->prepare('INSERT INTO topic(topic_text, topic_score) VALUES(?, UNIX_TIMESTAMP(NOW()) - '.(($user_level >= 0) ? ('3600') : ('86400')).')');

  1. // Bumping Thread
    if ($user_level >= 0) {
    $query = $db->query("SELECT post_id FROM post WHERE (post_topic = $topic AND post_by = $user) LIMIT 1");
    if ($query->rowCount() == 0) {
    $db->query("UPDATE topic SET topic_score = GREATEST((topic_score + UNIX_TIMESTAMP(NOW())) / 2, UNIX_TIMESTAMP(NOW()) - 3600) WHERE topic_id = $topic");
    }
    }

Part 5: TL;DR
I proposed a simple and quite effective thread quality-ranking algorithm, which can be easily implemented in every site. You can also sign up to try it here and let me know what you think. This site has a number of unique UI designs and functions (there are 14 functions hidden around the page borders, and a novel cross-reference system). Experiment to find them out. I'll write on them later.
 
That forum is making me feel very uneasy, I feel like I have no idea what I'm doing anymore, and it just seems to miss so much. Not even aiming at features, just plain navigation...

It's definitely not made for me. The quality ranking sounds interesting though.
 
It's experimental, so the UI is very much up in the air. Could be good candidate for a mobile forum wit the way it's laid out.
 
Concept is absolutely brilliant, but the UI needs to be more native - right now it's too slow (much like facebook) and things I use regularly like mouse3 scrolling don't work.


Other than that, for a forum based around a product or service rather than a topic (or any other similar scenario suited to a light forum), this could be a winner.
 
I like the attempt but the major failing is 1/2 the screen is wasted by listing the discussions.
If a site was only going to have 15 topics, this would be reasonable.

I like the idea, but the UI is a major failure.
Where can we talk to the author ?
 
Update: I see you can Toggle off Reading View.
reading.view.webp

That being said, non-reading view isn't better.
:(
 
Top Bottom