Hi Dani et al.,

I don't know if you'll have any interest in this, but I'm going to describe what I have done over the past couple of years on an open source project that I think could be extremely beneficial to Daniweb as well.

The project I work on (VTK - the Visualization Toolkit) has a very active user mailing list. After following the list for a few months, I realize the same questions were being asked over and over again. Each time a question was asked, someone would spend a non trivial amount of time answering the question that had already been answered! I started a wiki page dedicated to posting the solutions to common problems and techniques:

http://www.vtk.org/Wiki/VTK/Examples

After a lot of effort compiling this, almost every question can now be answered in a single line reply - a link to one of these wiki examples. When a question has not been seen before, it is my (or someone elses) job to get it into a standalone/compilable example and make a new wiki page for it.

This system has seemed to help us TREMENDOUSLY. Not only does it take a lot of effort out of answering the mailing list, it also is an excellent resource for new users to "self learn" our toolkit.

I am a follower of the c++ section of your site. I realize that while VTK only took about 500, c++ may take take (just a few :) ) more examples to exhaustively cover, but I imagine it would have the same type of impact.

I actually have a personal Examples/c++ folder with hundreds of c++ concepts wrapped up into < 20 line compilable examples. I don't know your vision for Daniweb, but I think if there was a wiki like this for every language it would be an invaluable resource.

After all this rambling - I found a site that is quite similar to what I was suggesting:
http://www.java2s.com/Code/Cpp/CatalogCpp.htm - The problem with this is that it is not community editable.

Please let me know what you think -

Thanks!

Dave

Recommended Answers

All 10 Replies

The biggest hurdle is that not everyone would have good thoughts in their mind when using the wiki feature of Daniweb community. It would just end up being *yet* another honeypot for spammers.

Adding some sort of restriction (minimum of X reputation points or minimum of Y solved posts) before editing the community wiki would turn out to be an efficient way to turn off spammers but then again questions the value of "reputation" or "solved posts". Do we know for sure that members who have more than "X" reputation points won't end up contributing crap without actually knowing it?

Too many variants to be considered IMO, but yes, a nice idea. :-)

Maybe it would be different with DaniWeb, but a VERY few people in the community where I started the examples wiki actually decided to contribute. It was therefore very easy for me to monitor using the "watch" feature on all of the pages of the wiki. When anything is changed/added I got an email. If it was low quality, I talked to the person and helped them straighten it out. If it was spam, it was deleted and the account blocked.

If everyone agrees that it is a good idea but is afraid of the warnings that S.O.S provided, I don't think it would be too much work to setup and give it a "trial period". I'd be happy to add an initial 50 simple examples and then keep a watchful eye on it.

If it was low quality, I talked to the person and helped them straighten it out. If it was spam, it was deleted and the account blocked.

Talking from experience, all things work out well when we talk of a small knit community. But when we talk of a community with around "756,332 members", of which a *majority* create accounts just to do their SEO spam, it's a different ball game altogether. Even with a dozen mods, there are times when we find it difficult to keep spam under control. :-)

Given that there are a *lot* of things pending after this design overhaul, I'm sure that implementing this "trial" period would take it's own sweet time; *if* Dani agrees...

Dani, are you back in action? Any thoughts on this? S.O.S. makes some good points, but I'm still inclined to try it. In the last couple of days I've seen several questions that could be answered with a link to an example. As the list of examples grows so would the ability to answer questions with links to them!

Dave

A "catalogue" of most repeated questions and answers would consist of versions of the following:

q) do my homework for me
a) do it yourself

The easy solution is to force new contributors to submit their entries to a person or panel for review. This blocks spammers entirely. If the contributor was really interested in helping the community they could continue to submit entries that would be reviewed until such a time when they had proved themselves to be contributing something meaningful. At that point, their account could be given "free reign" on the wiki while still being monitored. This reduces overhead in the long run while maintaining a useful and spam free wiki.

jwenting - Clearly we would omit those and only use "good" questions and answers.

bandtank - Sounds good to me. I volunteer to be this "reviewer" if that's all it takes to give this a try.

Dave

A "catalogue" of most repeated questions and answers would consist of versions of the following:

q) do my homework for me
a) do it yourself

I disagree with this. The content on a wiki like what is being suggested is helpful even to seasoned programmers as a reference, but it is much more useful to beginners who are simply trying to learn the language. It may overlap with questions being asked on a homework assignment, but that doesn't mean the only use is to help people with homework and we certainly don't have to cater to those individuals.

I think the system has one drawback. People who really understand the problem they are facing can usually google and find the answer. Those who don't really know what the issue is will not benefit much from pointing them to a link since no matter how hard we try the archived answers will not exactly match their issue on most of the occasions and then when we will end up explaining how the example matches their problem.So it might help a few cases but I don't see a massive impact.
If you make the archive too exhaustive I might end up spending too much time finding the example which most closely matches the query or to avoid that just provide the answer when I can.

Agni -

I am only speaking from one success story, but it has worked EXTREMELY well with for me the VTK project. With Daniweb C++, if someone asks something about converting numbers to strings, I typically tell them "hey go check out stringstream, here are some links to the man page etc". If instead we pointed them to an example usage, odds are they can figure it out from that.

I agree that it will not match their question EXACTLY, but that is even better, so they can learn to learn in the process!

I also agree that the archive cannot become enormous. I initially see about 20-50. This is a very manageable number. I made 500 for VTK, and it is still reasonably manageable. We just have to be careful about what to add to the examples archive.

Dave

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.