Skip navigation.
Home
Computer news

Community-driven content

personal

Every so often, there is talk about a community-driven content project that seems to come up in the REALbasic community. These ideas run the gambit from OSS projects (like the WFS and CDL) to repositories (think SourceForge for RB code), to content (like a documentation wiki), and more. They always have a huge push of "yeah, that's a great idea!" from the community when they are discussed in public forums. However, it's my personal prediction that 99.9% of them end up failing.

I know I sound really negative when I say that, but I have enough years of experience watching these projects to know. There is a common behavior which I have seen with almost every community-driven project in the RB community. Someone comes up with a good idea and pitches it in public (mailing lists, forums, REAL World, etc). A bunch of people say "that sounds great!" So some more research is done on the topic by the originator, and eventually the figure out that the project is possible. A varying amount of effort is put into the project (it varies from a mild amount of effort to an enormous amount of effort) by the originator. The project is announced in a more formal way, and there is a call for assistance in maintaining the project. There is a large flurry of people checking the project out (downloading it, reading it, whatever) and an fairly large amount of suggestions on how to improve it. There is a very small amount of actual contributions in the form of work. After a period of time, the contributions go to zero and it's up to the originator to either drag the project along, or kill it off entirely as a loss.

Take a look at the community-driven efforts to date, and how they ended up. There was a wiki for RB documentation a while back (RBDocs) that died out entirely. The CDL hasn't been updated since 2006 (from what I can tell by searching on google). RBDevZone seems to be operated solely by Paul's kindness and efforts. The RB wikipedia entry has been maintained by me for the past few years in an effort to cut down on the out-right vandalism and misinformation that used to be on there (the only additions I've seen to it are usually self-serving promotions).

And, I've participated in several failed community projects. The WFS gets about one to three user submissions every year (and usually from the same kind souls), and even less in terms of donations. I barely have the time to keep it up, and it's starting to stagnate. Another example: I recently saw a thread on the forums about how RBGarage's content is turning stale with several people agreeing vehemently, and yet when I asked the people who were complaining to actually point out any dead links, I got absolutely *zero* responses. I've contributed to many of these community projects, as well as started several of them and the pattern is always the same -- starts out with a lot of people excited, but eventually ends up with an embittered maintainer wondering "why bother?".

In order for a community-driven effort to succeed, there has to be enough incentive to maintain it because "kudos" only takes you so far. For starters, the project requires enough critical mass within the community to be maintained by the community itself. Leaving it up to just one or two people has traditionally ended with the project lingering. People have lives, and their lives take priority over altruistic projects (as it should be!). So there has to be contributors proportional to the project. For example, I can't maintain the WFS by myself -- it's out-grown me. There has to be at least two to four people on that project in order to make it shine, and it shows. Something like a wiki documentation effort would require dozens of regular contributors due to the sheer size of the problem set. Remember: it might take only one person whose full-time job it is to perform some work. But this is a community-based effort, so there are *no* full-time employees getting paid to work on it, so you need a lot more people to perform the same amount of work, so to speak.

Personally, I love the ideas thrown around for community-driven projects. And I think it shows by the fact that I contribute to them when I have the opportunity to do so. However, the chances of success for these projects are so slim that it's getting harder and harder for me to get behind them. I know that I probably won't ever start another community-driven project myself. Every one of my previous attempts has ended up with me feeling taken advantage of, or feeling overwhelmed by. That may jade my opinion of other people's attempts to start projects, but it's also been my personal experience.

Heh, re-reading this entry makes it sound like I think nothing will ever work, ever and why bother even starting a community project. I didn't mean to come across quite so negative, but I also don't feel like I've misrepresented anything either. I want to see community efforts succeed (that's why I contribute!), so I guess I just wanted to warn people who are thinking of starting one about the problems they will encounter. I don't want them to end up like me -- burnt out and less likely to start anything new. So, instead of ranting and not actually trying to be constructive.... how can a community project succeed?

Start small! Instead of trying to tackle a huge undertaking, try to tackle a much smaller one first which can then expand as more time permits. For instance, instead of trying to write a documentation supplement for the entire RB language, pick one subset and start there. For instance, start with the language itself (coming up with a BNF description, the operators, etc). Once that is complete, then move on to a part of the framework.

Don't go it alone. If you cannot find at least two other people who are willing to put in as much effort as you, chances are pretty good you will be the only person ever working on the project. Let's be honest -- if you're the only person ever working on the project, chances are that the project will fail. It's not because you suck, or you don't want it... it's because you have a life!

Have a road map. If your project doesn't have definitive plans for what it will accomplish, how you will accomplish it, etc then the project will tend to meander. Feature creep will kill projects very quickly!

Be realistic. Only bite off as much as you can chew with the resources you know you have. If you only have one other person agreeing to work on the project, then don't tackle a project that requires five people. There's nothing more frustrating than feeling like you are spinning your wheels!

What else do you think will ensure a greater chance of a successful community project?