Skip to content

Instantly share code, notes, and snippets.

@AquariusPower
Last active March 1, 2016 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AquariusPower/ee2b7fc44e674296a324 to your computer and use it in GitHub Desktop.
Save AquariusPower/ee2b7fc44e674296a324 to your computer and use it in GitHub Desktop.
Flexible voting system for applications and websites: Favorites, Kudos and Sub-scores. Also Bookmarks and Hashtags considerations.
**Definitions**
What we have today, in many applications and sites, [is a bookmarks system miscalled as "favorites"](http://meta.stackexchange.com/a/26304/222324).
- Like/Dislike, Up/Down: so here we have the current voting system, simple, fast (concerning how long we decide on casting a vote), but limited, we cant do much more other than comments that can't be properly queried/quantified.
- Favorites: should mean something you like more then other things, something that comes before others. [This query](http://data.stackexchange.com/stackoverflow/query/132181/most-favorited-questions), unfortunately, has dubious significance nowadays.
- Bookmark: is something you intend to look at, at a later time, and within the bookmarks you can have your favorites, but, despite being on a similar context, they are clearly two different concepts. You can have thousands of bookmarks but you only like or need to revisit a handful of them.
- Finally we have kudos, when you want to praise someone for their great work. It is not necessarily a bookmark, you may not even bookmark it. It is not necessarily something favorite you want or need to revisit. But you want to give the other user some valuable, and recognizable by others, feedback saying he/she did a really good work, much more than a small upvote. Each kudos would have its linked question or answer validating them in the database.
- Additional sub-scores, is another way to more specifically classify the question/answer, which can be used like in query filters.
**Unobstrusive Sub-scores:**
*The concept*
What is a "vote up" or "vote down"? A simple number/amount showing how many people agree and probably were helped by the question/answer, useful indeed, but we could have more.
Would vote at sub-scores, only who really care on casting their votes that way, is a more precise level of communication. If you understand that a question or answer deserves a sub-score voting, you will have the option of doing so. Otherwise simply ignore it.
We already do this "sub-scoring" on the comments, when we praise someone, but so complex typed comments cannot be easily quantified/tracked/filtered by the query system, unless, I believe, something like I explain below have a chance of being implemented.
So, each question and answer could have several sub-scoring values, like we see in games ex.: playability, sound quality, music quality, graphics quality, etc. Calm down, this is just a very serious example of something that works.
Each could have up to 5 stars (as we see everywhere).
*Sub-scores suggestions:*
- well written (I can improve my written clarity by reading preferably such ones)
- ingenious idea (I can think the way they thought, and I have a greater chance of knowing about it if more people hi-score this, [example as he did not use math](http://stackoverflow.com/a/13634855/1422630))
- objective and clear (fast to comprehend or read, one-lined commands, I may be in a hurry!!!)
- newbie friendly (like many people use to do when referring to `sed` commands, really helpful when you are a newbie in anything)
- etc.
So basically, it can help on filtering/prioritizing q/a that have high specific sub-scores.
Alternatively, hashtags in the comments, could work too, but to be gradable it should be more complex like: #Ingenious:5 (from 0 to 5)
*Unobstrusivity:*
You wont be bored about being encouraged to vote. I imagined a small icon that by hovering over it would expand into a box with all sub-scores (optionally a click could be required instead of hovering). Could be placed just to the left of the current simple voting count number.
So who like the hovering can easily hover over it, with the objective of being surprising/interesting.
*System implementation "friendly":*
Why a complex code? only developers can really tell. My initial thought was a single database field with a string, where each char would represent a sub-scoring value. This could be only further talked about with developer's specific feedback tho for each application/website.
**The problem keeping things as they are (concerning favorites)**
Basically, as I read, many people are misusing favorite as kudos, not only here.
When you look at the amount of favorites your question/answer have, you can realize it is a good one, as it was "favorited", but it can just be a simple bookmark...
In the other hand, the ones that set the favorited q/a because they consider it as actually being a good one, that deserves recognition, they will have a huge mess in their bookmarks list (currently called as favorites), not being able to really differentiate/prioritize what is a real favorite "something I want/need to revisit soon" from a simple bookmark "something I may revisit one day, just to not lose track".
*Read below, you will see some of the confusion this causes:*
- Some say how they consider their favorited questions -
http://meta.stackexchange.com/questions/26297/shouldnt-a-user-who-favorites-a-question-up-vote-it
- Another one, showing some people wants to show they liked the question more than a simple upvote - http://meta.stackexchange.com/questions/19946/if-you-bookmark-a-question-shouldnt-you-also-be-encouraged-to-upvote-it
- Another one - http://meta.stackexchange.com/questions/40399/questions-favorite-vs-upvote
PS.: Comments for improving this document are appreciated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment