Stumpers(website)

From The Order of Her Noodly Appendage
Jump to: navigation, search

I needed to find an experemnt from I belaive a Royal Institution YouTube video where the speaker swings a ball on string around then releases the string and askd if the ball went in a straight line or did it curve. Over half said it curved(If I remember correctly it was around 2/3rds). Some old smart guy that did the experent and also saw it curve so you shouldn't feel bad that you saw it curve.


If some Average Joe solves the problem then I'll give them credit for their part in my article then with their name in print for participating in science they'll get the idea that they can do real research and become Citizen Scientists. Can you imagine what would happen if people started becoming Citizen Scientists?! :P

Stumpers

If only we could turn trivia questions into a trivia game then we could just ask it there. 

We could allow users to make profiles about what topics they think they are knowledgeable/interested about then pose the questions to them first, then more and more broader audiences the longer it goes unsolved.  

We could add that you need to cite a source for your information. 

Then the answers could be upvoted be the community and if they reach a certain limit have the moderators look at then and see if they are right.

Comparing Answers

We could crowd source linking answers together. randomly pose questions(Part of what We'll call 'MetaMod')(lets call the answers to these question 'Ratings' to avoid confusion when the Answers these questions are about) Display to them

   'Do these two Answers support each other:
   (some claims in A are <Blank> some claims in B)["-"/Support/Disprove/Support and Disproved/"No claims in A support or disprove any claims in B"] 
   (some claims in B are <Blank> some claims in A)["-"/Support/Disprove/Support and Disproved/"No claims in B support or disprove any claims in A"]'

Let "-" be the default answer. If they answer at least of the questions as  'Support', 'Disprove', or 'Support and Disproved' then it counts as a 'Rating' on both questions. If they answer with a combination of only "-", "No claims in A support or disprove any claims in B", and/or "No claims in B support or disprove any claims in A" or don't answer at all then it doesn't count as a 'Rating'. if they select an answer to the question give them the option of submitting it(the submit button should be disabled by default and that should have to change one of answers to the questions to enable it). 

When they submit their 'Rating' we give them another Answer from the same question and ask them if it supports the previous shown answers.

Sorting

Sort the Answers by the number of times this user has 'rated' them against another answer (most 'rates' first)then If there is a tie short them with the tie by the order that the user rated them in(last 'Rated' first), if then is still a tie sort them with that tie by the order they were shown to this user(last shown first)(let this shorting procedure be known as "TheSort") Put the first 7 Answers(https://doi.org/10.1037/h0043158) into the 'Head' and all but the first 7 Answers  into the 'Tail'. Separate the 'Tail' into 'Pinned'(if the item has the 'Pin' mark) and 'Unpinned'(if the item doesn't have the Pin' mark) then short the 'Pinned' and 'Unpinned' using "TheSort"


You're smart so you realize you can just short one master list of all answers sorted by "TheSort" then crawl through them from the start and add them to the end of 'Head' 'Pinned' and 'Unpinned'   then when we resort the master list just Mark all items in Head as 'Unvisited'  then go through the first 7 items and if that item isn't in 'Head' add it to 'Head' and clear the 'Unvisited' mark if the item has the "Pin" mark search though 'Pinned' and remove it is it doesn't have the 'Pin'  mark  search though 'Unpinned' and remove it.  If one of these searched fails to find something them you have to clear the 'Head' 'Pinned' and 'Unpinned' and resort the Master list then crawl though it and put them to the end of the correct list like you did the first time. If the item is already in 'Head' clear the 'Unvisited' mark.Then go through 'Head' and if an item is still mark "Unvisited" and marked 'Pin' add it to 'Pinned' if an Item in 'Head' is Marked 'Unvisited' and not marked 'Pin' then add it to 'Unpinned' Only show them the 'Head' and the then 'Pinned' but give them the option of going back and looking at the history.

Viewing History

Default to showing them the 'Unpinned' when they select they want to view the full history, but also give them the option to view all answers in the order they were first presented to the user.

Allow them to give a 'Rating' of the current question to any Answer. 

Keep their current unsubmitted 'Ratings' for the Latest Posed Answer. but Let them also go back and Review an Answer previously shown to them. 

Give them the option of submitting their new 'Ratinga' or "I changed my Mind, Keep old rating and return to the current answer." 

Which ever option they choose it brings them back to the Latest Posed Answer.

If they twice(from two different Latest Posed Answers, whether by rating them with the Latest Posed Answer or by going back and reviewing a previous Answer) go back and submit a new 'Rating' on an Answer that was hidden from the default 7 ask them if they want to mark 'Pin this Answer?'. If they do Mark the Answer with "Pin"

They earn "PromoteCredits" for each a 'Rating' They get full <Xc> credits if that have more 'Ratings' than all other users have 'Ratings' on this question. if others have 'Rated' the Answers on that Question more that this user The amount they should earn <Xc> TIME ( 1 PLUS the number of 'Ratings' this users have Previous made on this question DEVIDED BY the number of Ratings done of this question done by others.)

The Wiki

We could also have a Wiki page for the Question than only The Moderators The person that submitted the question or someone that hasn't answers the question can edit and they would have to list an Answer that someone else gave to the Question then that Edit would have to be approved by A Moderator(6 if the edit was made by a Mod(himself and 5 others)), the person that submitted the question, or the person whos Answer was used to update the Question's Wiki. 

Allow everyone to view unapproved edits and (up/down)vote them Use the standard votes/recent to view. If a edit stays highly rated and not reject be The Mods(probably should be more than just one mod rejecting it a rule of thumb is 5) the Question poser(Another form of "MetaMod") or the person whos Answer was use to base the edit off of put it in front of the Mods to review and accept or reject

  1. Votes #

What should votes mean? The tool tip for the upvote buttons should be “I want to see more of this” for the tooltip for the downvote buttons should be “I want to see less of this.”

Voting

'PaidA; ammunt paid to answerer.

'PaidP' ammount paid promoters

func approved_ka(Answer, Question){
    Answer.moderator_upvotes.len() > Answer.moderator_downvotes.len() or (Question.poster in Answer.upvoted_by)
}


Let the Function Pay_Answer(Answer, Question) be{
    if not Answer.been_paid_ka{ 
        If (approved_ka(Answer, Question)) {
            Answer.been_paid_ka = true;

            add an amount  <Xa> to the 'PromoteCredits' on the user that posted the question
            Set the property 'PaidA' to <Xa>
            Foreach promoter in Answer.promoters 
                Add an amount <Xp> to promoter
            }
            Set Answer's 'PaidP' to <Xp>  
        }
    }
} 

When the Question Poser or a Mod approves a WikiEdit the user than made the WikiEdit earns 'PromoteCredits' and the Answer used to made the edit is mark as 'Approved' then run the function Pay_Answer(Answer).
<pre>
#Question the question who's answer vote is being changed.
#Answer the answer who's vote is being changed.
#User the user's who's vote in being changed.
#Vote what the vote is being changed to.
func change_vote(Question, Answer, User, Vote) {
    match Vote{
        UPVOTE {
            Answer.downvoted_by.remove(User);
            Answer.moderator_upvotes.remove(User); # we want to remove their mod vote even if they aren'ts mod any more

            Answer.upvoted_by.insert(User);
            if (User in moderators) {
                Answer.moderators_votes.insert(User);
            };
            if User == Question.poster {
                pay_answer(Answer);
            } else {
                #this block is adds the User to the list of Promoters if the Questing hasn't been UpVoted by the Question's poster or been approved by the moderators 
                if (Answer.approved_ka != true) {
                    if (not (Question.upvoted_by.contains(Question.poster))) {
                        if (not (Answer.moderators_votes.is_empty())) {
                            Answer.promoters.insert(User);
                        }
                    }
                }
            }#end if user not questiong poster or a mod
        },#end match upvote
        DOWNVOTE {
            Answer.upvoted_by.remove(User);
            Answer.moderator_upvotes.remove(User); # we want to remove their mod vote even if they aren'ts mod any more

            Answer.downvotes.insert(User);
            if User in moderators {
                Answer.moderator_downvotes.insert(User);
            };

            if User == Question.poster {
                Revoke_Answer(Answer);
            }
        },#end DOWNVOTE match
        CLEAR_VOTE {
            Answer.upvoted_by.remove(User);
            Answer.moderator_upvotes.remove(User); # we want to remove their mod vote even if they aren'ts mod any more

            Answer.downvoted_by.remove(User);
            Answer.moderator_downvotes.remove(User); # we want to remove their mod vote even if they aren'ts mod any more

            if (Answer.moderator_downvotes.len() > Answer.moderator_upvotes.len()) or User == Question.poster {
                Revoke_Answer(Answer);
            }
        },#end CLEARVOTE match
    }#end match Vote
    let mup = Answer.moderator_downvotes.len();
    let mdown = Answer.moderator_upvotes.len());
    if mdown > mup {
        revoke_answer(Answer);
    } elif mup > mdown {
        pay_answer(Answer);
    };
}#end func
When I <User> changes there Vote on an <Answer>{

    If a User Upvotes an Answer {
        Mark the Answer as Upvoted my the User.
    }
    If (the User is a Mod){
        add that User to the Set on the 'ModVotes' property on the Answer
    }
    If (the User is Mod or if the User is the Question Poser) {
        run function Pay_Answer
    } else {
        Check is the Answer in Marked 'Approved' if not check if Question is Marked as UpVoted by the Question Poser if not Check is the Answers 'ModVotes' in Empty if it is not then{
            Add user to the Set in proporty 'Promoters'
        }
    }
or Mod and the Answer's 'PaidA' property is 0 {
       set the 'PaidA' property on that Anwser to <Xa> and give the User that posted the Answer the same <Xa> amount of 'PromoteCredits'
   } else if {
   }
Let the Function Revoke_Answer(Answer) be{
    check if if the Answer is mark "Approved" 
        if so check if Question's Poser has Upvoted the Answer, 
            If so check if the set on the Answer's "ModVotes" property is Empty; If it's empty{
                remove an amount of 'PromoteCredits' equal to the Answer's "PaidA" property from The user that posted the Answer(this can make the user's 'PromoteCredits' negative)
                Set the 'PaidA' property on The Answer to 0
                If not(Answer.promoters.is_empty()) {
                    Foreach promoter in Answer.promoters {
                        Subtract an amount equal Answer.paid_promoters from promoter
                    }
                    Answer.promoters.drain()
                }
                Answer.paid_promoters = 0
            }#End if Promoters is not empty

When user choses to change his (Up/Down)vote on a Answer

   If the User has Select to clear his vote unmark the vote
               If the User has selected DownVoteMark for answer, 
                   check is the User is in the set on the Answer's 'ModVotes' property If so 
                       remove this user from that set. then  run function Revoke_Answer(Answer)
                   else if is the user the Question Pose
                       If so then run function Revoke_Answer(Answer)


Give The Mods the ability to view all unapproved edits by there (Up/Down)Votes.

Give everyone the ability to view all rejected edits(by Mods and/or Question submitter)

If it's not their item, hide the current rating of the item from them until they have voted on it.

Randomly select WikiEdit that a User hasn't (Up/Down)Voted on and hasn't been approved and ask that user to (Up/Down)vote it(this is a form on 'MetaMod').  When that user Vote on an WikiEdit that have been chosen to 'MetaMod' give then 'PromoteCredits'

Use CRDTs so the the proposed edits to the Wiki don't block each other.https://www.youtube.com/watch?v=jIR0Ngov7vo

I could make such a site but I don't have a server to host it or the skills needed to code the site that could handle a heavy load, thou I could learn them it would be pointless with the servers to run it on. Then there the whole UI/UX design issues.

Allow Users to (Up/Down)vote questions and use this information to add Questions to users feed and allow them to browse question limited to topic/tags

Allow people to say a tag applies to a Question/Answer/WikiEdit or say that a Tag doesn't apply to it Add all applies and subtract all doesn't apply and if it's positive say the item has the tag.

If someone's option of a tag on an Item differs more than <X> Standard deviations from the average randomly ask them "Did you make a mistake on tagging <Item> please review the Item and select all tags that Apply" Then if they agree show them Item and a list of all tags that people have said applies or doesn't apply and is that haven't given their opinion on all them then ask them "You haven't weighed in on all issues. You opinion is import.[I'll come bake later][Let me voice my Opinion(the default)]" If that choose "Let me voice my Opinion" change the list of shown Tags to just the ones that they haven' given an opinion on

If the voting(Up/Down or Applies/Doesn't Applies) on an Item have a large Standard Deviation randomly select a user that hasn't voted on it and ask them to vote on it.

These Random events should be viewed as the ADs and regulated accordingly. People that do what is asked should earn 'PromoteCredits' they can spend to promote their own questions, give away or do RMT with.


Sponsored Questions: Charge for a window to promote it to their target demographic and a give them the chance of offering a bounty for each 'engagement'(someone posts an answer; someone make a WikiEdit)  If the window ends or their funds for 'engagements' runs out their Question goes back to treated like a normal Question.

Monitization

We could raise money by selling 'PromoteCredits'

If we go Mechanical Turk and allow Sponors to off bounties for answers.

We should allow the Sponsor to approve engagements that happed any time during the window, even after the window has expired.

WE should give the Sponser <X> times the ammount they payed out ot Engagers in 'PromoteCredits' to encourage they to approve answers.

to recap

PromoteCredits enter the system from users resonding to random ads

PromoteCredits enter the system from users buying them with Real World Money.

PromoteCredits enter the system paying bounties on Questions.

User trade ProMoteCredits amount themsselves.

PromoteCredits exit the system by users making Sponsored Questions.


Grid Quiz

Like Jeopardy!

Use word clouds for the topic

The time from then the question was post to the time the approved answer was posted is use to rank the questions. the loner to answer the harder the question

Take downs

When someone Flags a item make them select a community rule they think is violates and if they think it's illegal make them give a link to the law that it's breaking.

Then make them write their argument on why the Item in in violation of the Rule/Law.

Once that is done check is the Item has been marked "DoubleJeopardy" if so subtract 1 from the "judiciousness" of the user the flagged the Item.

If a item is flagged pull it and put it in the Queue for review

Show the those selected for Jury duty only the text of the complaint until they decide to hear the case.

Only after they have chose to hear the case show them the Item that was flagged. and make them give in preliminary opinion of if they they the complaint will be upheld or over turned.

only after they have giving their Prelininary opinion allow them to join the Discussion of the Case.

The Case continues until the 12 jurors made a unanimous decision to permanently remove the Item or restore it. If the Jury makes an unanimus decicion add 1 to the 'judiciousness' of all the juries.

If they vote to restore it mark the Item as 'DoubleJeopardy' I

more judiciusness from debatipedia

Have a devil advocate for each side.

In meta-moderation ask people if a post advocates for some side.

If the meta-moderation shows they where advocating for the side then give them a browny point

DMCA

Automaticly remove the post and automatic put it back up.