Extend the polls feature to allow for "quizzes" and "tests"
Short, concise description of the idea
Based on the LiveJournal meme tracker, LiveJournal users love their online tests. My proposal is to extend the polls feature of LiveJournal so that it can "score" responses and possibly provide user-defined HTML for a score range.
Full description of the idea
LiveJournal is constantly looking for ways to improve the value of paid accounts. Since many LiveJournal users seem to be obsessed with online tests, I believe that one of the best ways to entice users to purchase a paid account is to allow them to make their own online tests for other LiveJournal users to take. Personally, I don't like online tests, and I'm not sure if the developers like them either. However, if this is a feature that will bring in more paid users, then adding this feature should be seriously considered.
An ordered list of benefits
Will increase the value of paid accounts.
Will attract more paid users.
Will increase the popularity of LiveJournal. Other sites may point users to the tests created by LiveJournal users, increasing the public exposure of LiveJournal. This should result in even more people being interested in purchasing a LiveJournal account.
An ordered list of problems/issues involved
May clutter up your friends page (and LiveJournal as a whole) with even more test results.
There are more important things that need to be done (rate limiting, InnoDB, S2, etc.)
An organized list, or a few short paragraphs detailing suggestions for implementation
A new database table would need to be created. Each row would contain the poll id, poll question id, an answer value, a point value, and possibly a miscellaneous value whose function would be determined by the question type. When the poll is submitted, the server would look up the point value of each answer given and compute a total score. This score could optionally be divided by the maximum score possible to determine a percentage score.
Text box answers could be scored by comparing the submitted string with the correct string. Depending on the miscellaneous value, a more complex string comparison algorithm (such as soundex, metaphone, or the levenshtein distance. In the case of the levenshtein distance, the miscellaneous value could determine how close the two strings must be in order for an answer to be considered correct.
Another table could be created that maps a score or score range to some user-defined HTML. For example, if a user made a "LiveJournal addict" test, the user could say that people who scored between 75% and 100% would see something like "You are a certified LiveJournal addict!" while people that score between 0% and 25% would see "Do you even know what a journal is?".
Other tables that might be modified include the poll table (add in a column that specifies whether a poll is a test or not) and the pollsubmission table (add in a column that tracks the score of each user).
This system would be extremely flexable and could deal with virtually all types of online tests. I don't believe it'd take that much time to implement, and if it attracts more paid users, then it'd be well worth the effort. You may commence flaming me now. ;)