Aug 30, 2009 Update: This is a mish-mash of thoughts from a couple e-mails. It will take me a while to expand and organize this info, so I see no point in reading this now.
I wrote the software that powered the old version of Toledo Talk, and I created the code used for the current version. I reserved the ToledoTalk.com domain name in September 2001, and I started writing Toledo Talk code in late 2002. The site began in January 2003.
Back in 2002, I looked at some existing free open source apps, but I wasn't satisfied, so I created my own. I was aware of the Drupal app back in 2001 and 2002.
I patterned the first version of Toledo Talk after MetaFilter.com, a site I liked back in 2001 and 2002. When I understood wiki software in early 2005, I began writing the new version because I needed those wiki features even though no one else uses them, which is fine.
Drupal is now a very mature free, open source app, and it's quite popular for powering community or workgroup sites. I have run across many Drupal-powered sites. Some people in media use Drupal.
Another php-written app to check out is called Textpattern - http://textpattern.com/. In fact, those developers created the Textile markup language, which is the markup language I use in the new version of Toledo Talk to create my postings. Instead of typing HTML tags when formatting a Toledo Talk posting, I use the Textitle commands.
You have to ask yourself if you're planning a personal blog that permits community interaction by allowing commenting, or are you planning a community site with many authors. Would bulletin board software be better if you are thinking about a community site?
I chose not to use bulletin board software back in 2002 because I did not like the way it looked. I still don't. But despite Facebook, Twitter, MySpace, blogs, wikis, etc., old-school message board or bulletin board sites are still popular. View Big-Boards.com for a list of some of the largest message boards.
I liked the look and functionality of MetaFilter.com because it was clean and simple, and it seemed like a nice hybrid between a blog and a bulletin board.
If I was starting Toledo Talk today, I doubt I would write my own code because so many options are available today. You can create a community site at Ning.com. Ning allows for cookie-cutter community sites, and some popular ones exist. You can customize the look of Ning sites some. You can run them like a blog or a message board.
I have always viewed Toledo Talk as a message board or maybe a community blog. In fact, I have to admit that I like this view of Toledo Talk that I recently created: http://toledotalk.com/bb which is more bulletin board-like.
I also like the titles-only view, which is somewhat inspired by the Reddit.com site, except Reddit has voting, and I don't see the point of voting up and down topics and comments. Too many features can lead to confusion for a user. Fewer features, easier to learn.
Do you like the display of Digg.com's community site? Free software exists that allows one to build a Digg-like community site.
Look at the simple, yet popular Joel on Software forums that have existed for several years. http://discuss.joelonsoftware.com/?joel The content of the site means more than the features and design provided by the software powering the site.
Here's a nice 2003 article by Joel titled "Building Communities with Software" at http://www.joelonsoftware.com/articles/BuildingCommunitieswithSo.html
Before I built the first version of Toledo Talk, I read and re-read the 2001 book "Design for Community" by Derek Powazek. I studied sites like kuro5hin.org and evolt.org for ideas. Both of those sites were popular years ago, but not so much today. In fact, evolt.org today looks and functions a lot differently than it did seven to eight years ago.
You do have to take some time to think about how you want your site to look and function. Will you be tweaking the source code? If so, what programming languages do you know?
Today, free apps for community sites exist in many different programming languages.
Will you need wiki features:
- editing with versioning
- showing differences between two versions
- markup language
- wiki links
I think you first need to determine the features or functions you want in a site. Categories, forums, tags. Lists posts in order of the date they're created or in the order of recent comment activity. Intro text or titles only. Threaded or flat commenting.
I dislike threaded commenting. MetaFilter uses flat commenting, so that's what I chose for Toledo Talk. I like the fact that the MonroeTalks.com bulletin board site uses flat commenting. That was a design choice by the MonroeTalks.com creators because that kind of software supports threaded commenting.
Drupal supports threaded commenting. I think threaded commenting is fine for big community sites where each thread generally has over 100 comments. Slashdot and Daily Kos have or used to have threads on a regular basis with over 200 comments. Threaded commenting allows for multiple discussions to occur.
But when most threads have less than 50 comments, flat commenting is good enough, in my opinion. It's simpler for the reader, I believe. But that's a design choice you will have to make.
I don't mind allowing users to edit their article or topic or post, but I dislike the idea of allowing users to edit their comments.
Check out the feature lists for Drupal and Textpattern. Do the same for bulletin board software apps like YABB http://www.yabbforum.com/ and vBulletin http://www.vbulletin.com/. Not because you might use one of those apps but to see what functionality you might want to have in your site. Get some ideas from other apps.
One more app that looks good to me, although I have not played with it, is called bbPress located at http://bbpress.org/.
bbPress is a simple, clean, lightweight bulletin board software, and it was created by the guys who created Wordpress, which is a popular blogging tool. They use bbPress to power their Wordpress forums at http://wordpress.org/support/. bbPress can be downloaded for free. It's written in php.
By the way, I think Wordpress can be run in multi-user mode now, so it can be used to power community sites. Check out http://buddypress.org/.
I have always hosted Toledo Talk at Hurricane Electric - http://he.net. I became familiar with he.net through work back in 1996 or 1997, so I chose them to host Toledo Talk back in late 2002. I paid $9.95 a month in January 2003, and that's what I still pay today.
So about $120 per year in hosting fees, and $20 to $30 per year for domain name registration at Network Solutions. I renew for three-year increments. And I think those are all my costs. Inexpensive, in my opinion.
It can be a hassle at times to host a community site. You need a thick skin. I have been threatened with lawsuits several times. I deal with each one calmly and comply as necessary. It's not so bad anymore, since Toledo Talk is not as active as it was back in 2006, and the topics today are not as controversial.
But some of the lawsuit threats occurred last year because I was running my Google maps-based app that displayed Lucas County registered sex offenders. I was getting threats from people because the Lucas County Sheriff's info contained some bad records, and thus they got displayed on my app and wound up in the Google search index. I eventually shut my app down. Too much hassle. I didn't create the info. The government did. I simply displayed it better.
What kind of features or functions are you considering? What about design or feel?
Read this lengthy, 1997 Wired.com article titled "The Epic Saga of The Well." It's about an old online community.
I'm guessing bbpress could be hacked so it could display intro text for a posting like a blog if you wanted that function to create a look like MetaFilter.com or digg.com.
If I was starting Toledo Talk today, I would first test bbpress and Ning. Even though bbpress is written in php, I think I could make my way through the code OK to change or add things. Ning is a hosted app.
I would probably also test apps:
You may also want test some wiki software like http://www.dokuwiki.org/dokuwiki which you download and install on your own server.
PHP, Python, and Ruby are the big scripting languages for Web apps on the Unix/Linux platforms right now, especially PHP.
Perl used to be the Web language, but it's gotten crusty, I guess. I still like Perl because it IS no longer cool, and no other language may offer as much freedom to the programmer as Perl.
But if I choose to learn a new language, I will choose Ruby or Python. These two scripting languages are more object oriented, and both have mature frameworks that make development easier.
Regardless of what type of community site you run, you'll end up having to deal with trolls and other user problems.
RiverSmallies.com is about river and stream fishing for Smallmouth Bass. They have a message board that has been around for about 10 years located at: http://forums.riversmallies.com/forums/
And I think I got booted from that site years ago for responding to a troll. On a Smallmouth Bass fishing site. I was just trying to nuke the troll, but I should have just ignored it.
So even something as benign as river bass fishing can attract off-topic commentary.