Ryan Kinal
100 E. St. Clair St.
Warren, PA 16365
716.581.1000
ryan.kinal@gmail.com

Google ProfileTwitter: @IndigloMouth
FacebookLinkedIn

Community Building and Comment Systems

In addition to my current contracts, which include site maintenance, PHP coding, and site design, I've been creating a site related a new game called Eclipse Phase. It's involved all of the fields that my current contracts require, plus database design, and community building (which, at this point, has been theoretical community building, as I haven't implemented any of it yet).

The site is called Muse, and I have a lot of community-based features in mind, mostly revolving around creating, storing, and sharing content. Once the users create and store their content, I want other users to be able to comment on it. This is a fairly typical web 2.0 paradigm - users create content, and share it with others, who can then comment on it, creating a community.

Commenting systems, in general, are fairly simple to create. However, I have several different kinds of data that can be commented on. I also have a fairly limited database, so I wanted as few tables as possible. One table for each type of comment would be too much. So, instead, I have a generic comments table, and a comment type table, with columns as follows:

comment:

comment type:

So, each comment knows what type it is, and I can simply grab comments of the right type for each item. It requires a JOIN, or a lookup, which is a bit of a performance hit, but I'll take it.

Another advantage to this systems is that I don't have to add another table when I add another commentable data type. I simply add a row to the comment type table, and go from there.

This project has been interesting for me, and it will hopefully be profitable, once it gets going. Not in a direct sense, but as a portfolio item, it could be very nice. If I can create and maintain a decently sized community, potential clients will likely see that as great experience and ambition. Also, I'm learning things about community development, security, and application development in general, as well as reinforcing what I already know.

And it's fun. It's content that I find interesting, and content that I care about. I might not be getting paid to do it, but when I create a tool, I have a tool that I will use, in addition to something to share with the Eclipse Phase community.

Name:
Are you human? (enter yes if so)
Comment: