BBSes, Half-Empty, Glasscode, and my sanity.
Just a bit more than a year ago, me and my good friend Isaac Oates (author of the Eternity BBS software from long ago) sat down and decided to create a website. We were missing the days of BBS yore, where discussion flowed with intellectual posts about all kinds of topics, trolls were sparse, and flames were hearty. We wanted it back. The root of all evil seen in online posting today, Isaac and I decided, was that people were not caring what all of their peers thought of them, and were not in anyway motivated to think through their posts. We also saw alot of the current weblogs out there restricted in what could be posted, and by whom. They were also confusing to the newbie (granted, half-empty is overwhelming right now), and we wanted anyone and everyone with a Internet connection to be able to stop sucking information out and start dumping some back in.
We wanted to create an online community (the kind that Katz has recently been raving about) that would have no limits on discussion and would by its nature make people want to get involved. It would allow the users to get an ongoing rush of content, or eliminate the content down to just being about, say, Birds. It would let the users know what other people thought of them. It would allow for the obvious identification and silencing of blatant trolls. It would be fun to use, and would be addictive.
We started chipping away last January, at the turn of the millenium. Unfortunately, Isaac was sucked away into the depths of UIUC, unable to continue the project. Fortunate or not for myself, this was a project stuck in my head and would not leave me alone until it was finished.. I'm sure most of you can relate. I became addicted to it, adding piece after piece, rethinking the architecture and rating/point system over and over again.. making myself a self-proclaimed psychologist of my users-to-be. "Should points be a reward, or a punishment?" .. "Will they rate stuff down they disagree with?" .. "How much of a focus should be on points, and how much on content?"
I spent most of my second semester freshman year at Cornell (when not doing homework or intoxicating myself) coding this beast. I rebuilt it from the ground up several times, and knew the source code much better than my Chemistry book (and boy, do my grades show this fact..) Summer came and went, and every night after seeing friends I would return home and sit in front of the screen hacking and tweaking away. I saved some cash and got it running on a overclocked Celeron off of e-bay. Half-empty had only one user, one voice, but this would all change soon enough.
I forget the exact day in September, probably the day after we got our cable modem, when I proclaimed to my housemates that we were going to test roadrunner's bandwidth and see what would happen. Knowing that I couldn't afford a real connection, my plan was to open the site, get a gigantic flood of users somehow, and pray that one of them sees what I'm trying to do and decides to help me out. I plugged it in, started it up, set up the DNS, and half-empty.org became live.
Now I needed some users.. I decided the most complicated part of the system (and the most discussable) was the moderation system, which still wasn't perfected. I wanted feedback about both the setup I was doing and the site itself, so I posted a kuro5hin article announcing the site and briefly mentioning the system. I had a steady stream of people checking it out then, the server was stable, and I was happy. A request was made for more information about the specific math involved, so I bit and typed up the in depth explanation linked above. A bunch of "Ideas" (half-empty's content) got posted, and discussion took place with only a few minor bumps.
About 100 people signed up that night. The next day, I was minding my own business when I heard a "Oh shit." from my housemate in the other room.. sure enough, we were about to get semi-Slashdotted (mind you, this was a cable modem) I killed my PC, grabbed the RAM out of it, slapped it into the server, prayed, and surprisingly it survived. I had 500 new users in two hours. The posts were coming in at a pretty crazy rate. (This was the only time that I saw the rate of input that I've envisioned since I started working on the project.)
Within a week or so, roadrunner took notice, and pulled the plug. I thought it was over for a while until I got an e-mail from Tim Wilde of dyndns services.. he had been a member of half-empty during the time it was up, and didn't want to see it fade away. Putting me into their slice of "cool stuff" on their budget (as Tim put it), half-empty would survive. I went into a coding spree for 48 hours, fixing any big bugs I could since the site was going to be dead for a few days. Tim arrived, put the box into the cage and plugged it in, and half-empty was back.
Of course, most of the folks who had been there originally had drifted away because of the downtime. The site has managed to addict a handful of people, however, and we've been trudging on ever since. There have been creative stories and plays discussed, politics, coding, and even a dirty joke or three :) It's become apparent that the moderation system, if nothing else, has caused people to read, preview, edit, and post their thoughts. I'm happy with what it's become, and can only hope that the mentality there will remain the same while the userbase gets larger.
So, today I've reached the end of this road, and probably the beginning of another. I've released the source to Glasscode, and (hopefully) have made it straightforward to setup and install. It's a Java-based servlet application, with many of the features seen in slashcode, with additions such as skinning, appending to posts, selective archiving, user tiers, category permissions and overviews, and plenty more. It provides a component based system for adding new types of content, and there is even an skin development kit to aid in the creation of new skins (which when accepted by the central server will be available to all Glasscode based sites.)
Hopefully this hasn't been too drawn out of a story to culminate in a software release.. I'm hoping that you've been entertained by my struggle against the need to code that most of us have learned to accept and embrace. One thing that many hackers need to learn that computers are just tools, tools which will be ultimately used by people. Linux, Gnome, Glasscode, and all software is there to help people do things or think in ways they couldn't before. With this in mind, Happy Hacking :)"