I want to thank everybody that commented and contributed to the discussions in the three previous blog entries, and who made suggestions. It has been educational.
I've made up my mind on how to proceed next with regards to the voting system.
While I don't like to lose any authors or readers, the current state of the scoring system is pitiful, and if left as it currently is, then it will only get worse over time, which, to me, is unacceptable.
The suggestions by many were interesting to say the least, but a lot of it, while could be useful and helpful, is not feasible to implement. Everybody has to remember that the site is a busy one and I don't have unlimited resources. The site serves millions of pages per day and any change in the page, in the processing, in the data stored can have a huge effect on the site's performance and its ability to cope.
For example, keeping scores indefinitely, in order to allow for dropping a certain percentage of votes, or comparing previous voting patterns for each reader, is not possible. While the data stored could be relatively small, the cumulative numbers are huge. And it's not just about storing the info; processing power needed to handle all that grows exponentially. Searching a database of millions upon millions of data rows is expensive in processing power. Also, backing up the data and shuttling it around the net for off-site backup gets really expensive, really fast.
Also, anything that requires processing of each bit of info on the fly is also a no-no. For example, the suggestion that the story's highlight color changing with the score requires the evaluation of every story's score against the median for each page displayed. That requires multiple IFs for each row of each table. The site serves over a million listings page per day, with each page having 10 rows or 20, that means for each additional IF that I add to the process, the server farm has to execute it 10 or 20 million times per day, that means each listings page would need more than double what it already needs, that means I would need at least double the processing power that the site uses now and that's without taking future growth into consideration.
So, any solution would need to be simple, fast to process, easy on storage and easy on processing repetitions to be acceptable.
I understand what the system needs to do, and I understand what it takes to do the things that needs to be done. And, I'm the only one to know what it costs to do each little additional thing.
So, in order to balance the needs of the authors, with the needs of the readers and the resources available, I've decided to implement the following changes:
1 - A rewording of the current voting form. Not as drastically different as the previous rewording, but something more sensible. The change will be implemented in two stages. First stage the wording will be changed while keeping the number values associated with each description. 90 days later, the numbers will be removed and the voting form will have descriptions only.
2 - The previously noted vote weighing system will be implemented (it is very necessary), however, both scores will be displayed side by side for a whole year. In the first six months, the listings pages ordered by score will use the old score, and then in the next six month it will be sorted by the weighed score. After a year, the average score will not be shown anymore (remember, displaying both scores requires more bandwidth).
3 - The voting form will have two optional variations. The current reworded form will be the default one. Readers will have the option of using a more elaborate form that has three separate criteria to judge: Plot, Quality and Appeal.
Which form to see in the story by default will be an option in each user's preferences and will have a switch in the form itself.
I haven't decided how I'm going to display the scores from the elaborate forms in the listings pages yet, or how it should affect the sorting in the listings pages ordered by score.
Two options in that regard, display the average of each value or have a single combined representation. We'll see.
In the beginning, I will keep all the scores from the elaborate voting forms. Depending on how many people use them, I will decide later if I can afford to keep that data indefinitely or not. Users who choose to use the elaborate voting forms will be able to change their votes as long as the votes are kept.
Authors will be able to view how many of each vote their stories received.
Chapter voting, I'm not sure I'll implement it because of abuse possibilities. To stop abuse, I must track some data from each vote for each chapter. With over a hundred thousands possible users, combined with over 50,000 individual chapters currently on the site, the size of the data can be huge.
On the other hand, individual chapter voting can be done for authors' eyes only and each reader can vote as many times as they like for each chapter, which in return, makes chapter voting almost useless, but if authors really want it, then it can be done and please don't suggest to see vote value distribution, that would require keeping a lot more data.
Eventually, I will implement the capability to allow paying members to vote after the fact. They can download stories to read offline, so they should be able to vote on their next visit to the site for the stories that they downloaded in their previous session.
No mandatory voting. No mandatory comments while voting. No default voting for non voters. Non-voters outnumber voters 20 to 1, no matter how wild the actual voting is, it wouldn't make a blip if non voters were counted as average. Let's say the default vote is a 6, that means no story could score higher than 6.19 (with all 10s) or less than 5.76 (with all 1s).
As they say, hindsight is 20/20.
I now realize that the changes proposed previously were too much too fast. Hopefully, with the new gradual phasing in approach, people, both readers and authors can acclimate to the coming changes.