Preface: I am not connected to CodeChef in anyway besides a user.
One could argue that Codeforces, AtCoder, TopCoder, and CodeChef are the big $$$4$$$ when it comes to competitive programming. However, Codeforces and Atcoder are leagues above TopCoder and CodeChef (my opinion).
In this blog, I want to discuss potential changes that could improve CodeChef to a more popular competitive programming website. Here are some of the steps I propose
- Separate contests and discussions. In other words, create a website for only contests. Say we call this website CodeChef Compete and keep the discussions and tutorials on CodeChef. Contests are now held at CodeChef compete which could have a very simple and easy to use UI.
- Cheating. CodeChef has the biggest cheating problems out of the big $$$4$$$. One potential solution is a phone verification mechanism, where a user has to link their phone number to their account. This would significantly diminish the number of alt accounts and the audacity of cheaters.
- Create a CodeChef archive similar to AtCoder problems. The practice website currently on CodeChef is far inferior to AtCoder Problems. However, the new UI for submitting problems in practice is much better. It is the archive that is the issue.
- Rename CodeChef starters to CodeChef Breakfast.
The success of AtCoder has come from the high quality questions. So for CodeChef to gain popularity it has to occupy some sort of niche. This could be through being the most beginner friendly competitive programming website. This starts with cleaning up the UI.