This is a challenge for anybody with any kind of coding skills, even at the beginner level.
The challenge is to release a new freeware/donationware application on or before January 1, 2008.
It was a lot of fun last year and it got quite a bit of publicity. It was covered by ShellCity.net, CybernetNews.com, and ghacks.net, along with many other sites & blogs.
So if you can code, you might want to take the challenge this year.
I have been a member of DonationCoder for quite some time now, and it has been a wonderful experience for me.
One of the great things about this site and the community behind it, is the feedback you get from users, which helps you to improve your software and make it the best it can be. It is a kind of co-operative endeavor, with the end users and the developers working together as a team. You don't have any idea how great of an experience it is until you experience it for yourself, either as a user or a developer.
This entire team approach of software development brings the developer and end user together in a way that most people never have seen or experienced before. The results are amazing.
When you are coding for an unknown mystery user, it is easy to assume what he will want and like and what he will use your software for, having no clue what he really wants, likes, or needs. The reality is that you end up coding for yourself, and hoping the end user has the same tastes as you. It is quite easy to become disconnected and out of touch, when you are just coding and posting your creations on your own personal site for others to download, with no real interaction with the people you are writing for.
And as software users, it is easy not to think of developers as approachable people that will listen to you and consider your comments & suggestions seriously. It is also too easy to think of software as not having a human element behind its creation. This can lead people to not really care where their software comes from or appreciate the amount of work that goes into making it. It's this not caring attitude that can be an element contributing to the issues with software piracy that exist today. It's a bit harder for a user to bring themselves to pirate software, when they are hit with the reality that the stuff they are using actually has a 'face'.
Now before you get the wrong impression of what this is all about, let me explain what it isn't. This isn't a situation where a coder creates, users make demands, coder submits to demands, working himself to death and becoming resentful...or all he gets as feedback is bug reports or complaints. It's not like that at all.
And it's not a matter of users getting everything they want, which results in a bloated application full of useless features, that does everything except make your bed for you.
This is ongoing honest discussions, with not just feature requests, but an explanation of why they want the features, discussions between the developer and the users about which would be the best features to add and/or remove, and discussions on how the best way to present them would be.
Many of these discussions are between the users themselves, where they have to make up their minds and come to an agreement of what they really want & need, as a group. And the developer helps with guiding them and keeping things realistic and explaining what is or isn't possible, or what is or isn't within the limits of their coding abilities.
When something is outside the coder's abilities, there are other developers on the site that can be helpful and provide resources to learn from, and share some of their knowledge & experience so that you can do things you thought were impossible, and learn a lot in the process.
And the users really do appreciate the developers that will listen to them and be honest with them, with many showing that appreciation with donations. But don't do this for the money, because you will never get rich from freeware or donationware. Do it instead for the experience and the fun it will be, and the greater sense of connection to the people you are coding for, and how it will help to keep you from losing touch with your userbase...or the realities of real world software use.
So think about something you can make and accept the challenge today. You have about 3 weeks to come up with something you can release. And if you are out of ideas, you can take a look at the Coding Snacks section of their forum and maybe fill a request for a small tool that someone needs.