In case you are not familiar with the term, this the way of filling the site with content by the joint effort of the community. You might read a Wikipedia entry.
Basically, the idea to apply crowdsourcing to contests tutorials seems quite natural, but… it works badly. As you see, it is not the first time there has been no one willing to help the community. The question is: why and what is the way-out?
Let’s discuss it together. What should be changed/improved in order to make contests tutorials appear at Codeforces?
Personal thoughts
There are some minor details I guess they could make members hesitate to contribute:- MikeMirzayanov: "The round tutorial is waiting for a volunteer. It is desirable that it will be one of the leaders of today's competition. The tutorial should be in Russian and in English."
- Intuitively, a good tutorial = a complete one = you should solve all problems and write all analysis for each of them = take much time
In long-term vision, I think it's hard and inconsistent to manage discrete blog contents:Let's clarify our goal for a tutorial
Personal opinions
Just few opinions aim at above questions:- In fact, Mike often writes a short summary blog after each contest. With a bit more details (like naming the winners), it could become an overview.
- After someone gets AC a problem, one more button [Contribute a hint] will appear with some sincere messages like "Congrats! you've passed all tests! We'd love to know your idea for this problem." In short, we're trying to collect all correct hints for each problem. And one can contribute hints for any problems he/she likes.
- In the problem page, one more column [Submitted hints] where people can find all hints for a particular problem.
- Community will evaluate each hint by voting +/- points. For any yellow / red members or problem-setters, once they click [I like it] <=> +2, instead of +1. The hint with highest plus points will be at the top place. It can reduce the workload of admins, and treat all contributors in a fair way :)
- Awards for contributions: IMHO, if one is willing to share his/her ideas, being awarded or not, simply doesn't matter at all. However, in order to encourage people, we can create a simple rank-list for contributors, like if his/her hints can get high positions = add contribution points and set he/she as a candidate for Friendliest coder of the month (a badge in profile?)
As yiuyuho said, it takes time to implement additional features. But once our goal is already clear, improvements can be made step by step.- Tutorial must be also in Russian. I don't speak Russian, so I'm not the best one to do it.
- I must write solutions to all problems. That means I must have done all of them. I don't know how to do (or at least prove) solution to last task, so again I'm not the right person here. That also means a lot of work since 5 completely described tasks is much.
- Finally I supposed that you will have rather too many volunteers than too less. Now I see the assumption was definitely wrong.
Generally I can declare myself to do some stuff and help to develop the site. I'm not the one with a bunch of time but I'd like to do something.
Similarly, the requirement to write both Russian and English texts limits the potential contributors to those that are fluent in both languages, even though I imagine there are Russians that find writing in English too hard, but would be willing to translate a text into Russian, or vice versa. At any rate, it seems to me that having a Russian/English analysis only is better than having none at all, but the current rules prevent it.
So the summarize the above: I think you should consider reducing the amount of work to be done by a single person at a time, in order to reduce the threshold of contributing.
As an aside, I've edited a couple of problem analyses at TopCoder, and two things which sometimes put me off there, were the awkwardness of the wiki software (it's difficult and time consuming to properly format formulas and code in your analysis) and the fact that you don't know whether somebody else is writing a problem analysis too (possibly obsoleting your contribution). That last possibility is especially discouraging, because getting your contribution published is the only reward you get for your work.
Finally, I find the best way to solve a task with a group of people in any situation is to break it down into smaller subtasks that can be completed individually, and then assign each subtask to a person so that someone is specifically responsible for its completion. That may not be directly applicable to the current situation, but the closer you can get, the better.