On Monday (9/10), after being offline for five years, we relaunched the online community CONK! at its original URL at http://conk.com . After three months of platform evaluation, we chose Drupal as our CMS - and we are extremely pleased both with our decision and the results we achieved with it.

History

Arrow Media, a production company I own, opened the first version of CONK!, based on my own code, on October 1, 1996 - obstensibly as a promotion site to sell my wife's accounting applications. This original version of CONK! was a humor-based entertainment site that featured daily humor pieces written by professional writers, accompanied by a very active forum community. The site immediately took off: it won the (then-coveted) "Cool Site of The Day" award ten days after it launched; and according to (the then-named) Media Metrix, CONK! was ranked in the Top 500 Websites worldwide every quearter of its existence. At its height in 1999 CONK! was showing 15 million pages to 2.5 million unique visitors monthly.

Still, even after four years of these impressive numbers, we could not monetize the site. Web advertising was in its infancy, and it was very difficult to get people to see the value of it, let alone to buy. After five years of losses I very reluctantly made the decision in December 2001 to shut the site down. There was a construction sign at the conk.com URL from January 2002 up through this Monday.

The Resurrection

In the spring of 2005 I began to think that maybe it was time to start another Web service. Google AdWords and AdSense had essentially invented the modern Web advertising market; and I also noticed that not only was the best community software being written as open source, but that developers had since come up with technical solutions to almost all the security problems we previously encountered in running a large online community.

Once we decided to go forward, the next decision to make was what open-source CMS package to use as backend. Since we had already had extensive experience operating a service with a large number of visitors, we knew that this was an absolutely crucial desicion we could not afford to get wrong. (The previous version of CONK! ran on a bunch of Perl scripts we wrote and cobbled together. However, it ran extremely efficiently: even with all that traffic, we never needed more than two servers to power the site.)

We spent the entire summer of 2005 carefully evaluating every platform; and we narrowed our decision down to Drupal (at that time in version 4.6) and Xoops. On the surface, Xoops seemed easier to use; however, there was something about the pristine clarity of the Drupal code that spoke to me instinctively. Also, I was extremely impressed with the level-headed reasonableness of the Drupal founders and community; to be blunt, the Xoops community seemed a little flaky to me, and that sent up a red flag. Finally it came down to a gut decision on my part, and I went with Drupal.

To say I don't regret this is a huge understatement. Over the next two years the Drupal platform has only gone from strength to strength. Granted, it is not the easiest CMS on the planet to manipulate, and the learning curve is a little high; but if you're serious about building an industrial-strength web service, as far as I can tell there is little if anything better.

The Development

We began working on the new CONK! in September 2005. Right off the bat I made the decision that we would stay with the 4.6 version of Drupal until we opened - no matter what. As opposed to my right-headed decision to use Drupal in the first place, this turned out to be incredibly stupid on my part.

We knew what the new CONK! was supposed to be, and we knew it would launch out of the box as a fully-featured service, capable of competing with MySpace, Facebook, et.al. Problem was, in late 2005-early 2006 there were relatively few Drupal modules written with the functions we needed for our site. So we set out to write some. I hacked a few myself; and I hired a few third-party developers to help.

During the entire 2006 calendar year development was interrupted and stopped several times, all for unrelated reasons: family health problems on my part, very suddenly having to temporarily relocate our offices as our building was being remodeled, etc. Still, as the work progressed it seemed like we were fighting Drupal. By this time, version 4.7 of Drupal went gold; and I don't think I have to tell most of you how big a jump in quality this was compared to previous Drupal upgrades.

In early 2007 we were 90% finished with the site - no kidding, almost done - when I made the extremely painful decision to dump all our 4.6 code and start over again in Drupal 4.7. Part of the reason I decided this was in the pudding: we had customized and self-written so many modules for 4.6 that the site in that state was basically un-upgradable. Also, in the meantime community developers had written a 4.7 module for virtually everyting we wanted to do.

So on April 1st of this year we started all over again, from scratch, to rebuild our work in Drupal 4.7. This turned out to be a great decision: work progressed very quickly, the code was much more stable and there were relatively few module customizations we had to do - and those were relatively minor. We recreated the platform - and even added some features that could only work in 4.7 - in five months. And the best part is, our site is now upgradable (although whenever we decide to do that, it still isn't going to be easy).

CONK! on Drupal

We are billing the new version of CONK! as a "content network" - and it could only be that way because of Drupal's fabulous taxonomy system. We did not want to build yet another "social network"; and we also wanted, for legacy pruposes, to try to pick up with the community where we left off five years ago. So we used Drupal's taxonomy system to build what is essentially a giant meta-blog, the hook being that "anyone can post virtually anything" - forum discussions, audio files, video, et.al. (You can see our official description at http://conk.com/whatis )

As we took some of our inspiration from the public Usenet, we wanted our interface to look almost utilitarian - kinda Google-like - even though there is an enormous amount of text data on most screens. We used the stock BlueMarine Drupal template in PHPTemplate as our starting point; and if you go to http://conk.com to look through a few pages I'm sure the more experienced Drupal people here will recognize the legacy similarity. Overall, I'm pleased with how the UI turned out.

For our hosting we actually dumped a dedicated box at ServerBeach to sign up for the Grid Server at MediaTemple. Absolutely nothing wrong with ServerBeach (years ago we were one of their very first customers, they treated us like gold and the box ran great); but we were very intrigued by the Grid Server concept - namely, the pre-build network that could accomodate virtually any server load. We also liked the upgrade paths at MediaTemple, if and when we outgrew the Grid. We were one of the very first customers that signed up for the Grid, too.

There are discussions both here on Drupal and elsewhere deliniating this in greater detail, but to sum, performance on MediaTemple's GridServer has been acceptable but not stellar; there are many who think that, at least currently, the Grid concept is not living up to its perceived potential. We purchased a separate container for our database, and that seems to have improved performance somewhat. At some point we will probably move off the Grid and get a VPS or dedicated box at MediaTemple. (Must say that MediaTemple customer service has been excellent, though.)

Our installation of version 4.7.7 of Drupal is running 120 modules - none, I am happy to say, did we have to write completely from scratch. There were a few modules that we highly customized; and several that we reused several times under different names. In this last category, we are making extensive use of the userlink.module, which we renamed and re-used for most of our content-submitting modules; and we also renamed and re-used the article.module several times to display various "channel trees". (We have adopted the public nomenclature "channels" to describe Drupal taxonomy terms.) After playing with modules created with CCK, we concluded that it sometimes ran flaky and we turned CCK off. So all the content modules we are running are hard-coded; in several instances we took currently existing modules and highly customized them to our needs. (Right now there are also a few modules written for Drupal 5.0 that we are attempting to backport; no results yet to report.)

As you might imagine, with two years of development and 120 modules running, what we went public with on Monday was an extremely substantial installment of Drupal; and concerns were very high on how this would all hold up. I am happy to report that after four days things are looking good so far. Your critiques of our site are welcome below; and I will be happy to answer any questions you might have. I would like to offer my thanks to everyone in the Drupal community: working in Drupal is like having thousands of part-time employees, all ready to answer a question or lend a hand. It really is a beautiful thing. (BTW, we will be showing our support for the community with monetary donations in the future.)

James Touchi-Peters
Founder/CEO ("The CONK!Head")
CONK!, a division of
Arrow Media, Minneapolis USA
http://conk.com
conkhead@conk.com

Comments

estenrick’s picture

Nice to know another person in the Minneapolis Drupal community.

I'm curious to know more about what you found flakey about CCK?

Erika Stenrick
Designer & Project Lead, Gorton Studios
www.gortonstudios.com

conkhead’s picture

Hi, Erika: I don't know; we created a couple modules in CCK, and then started getting PHP error messages when we were testing them, and we couldn't figure out why. So then we created a couple more, and the same thing happened. The error messages didn't make any sense - i.e., everything seemed to be working okay PHP-wise - and they would come and go. they weren't consistent. So I just lost my patience at that point and said screw it, we'll hard code all of them.

Also, since we ended up running 120 modules I was really eager to remove as many modules as we could, to reduce overhead. And I'm under the impression that the overhead for CCK is relatively major. (Is this correct, or not?) So that was another point in favor of turning it off.

I still don't know why we got those PHP errors; we just didn't have the time to figure it out.

estenrick’s picture

Hi there. Maybe it was a different version? We've found the latest version of CCK to be extremely stable and quite efficient.

Sree’s picture

Which version of CCK did you used? the latest version seems quiet stable ....

by the way thnx for the detailed doccumentation .....

-- Sree --
IRC Nick: sreeveturi

dgorton’s picture

Erika's being nice... We've been doing Drupal development for a while now and CCK is an excellent module - the cornerstone of everything we do, really. Did you try asking questions on specific errors? Or post issues? You certainly don't want to go back in time and redo anything, but I have to think there was some sort of configuration mishap or module conflict that was external to CCK itself.

Water under the bridge at this point, but I'd still be curious to know what happened there...

Drew Gorton
Gorton Studios

conkhead’s picture

I want to thank you all for your comments re: CCK. Thought you'd be interested to know that, after running in public beta for one month, we have decided to dump MediaTemple's Grid Server in favor of one of their Dedicated-Virtual boxes. Since we have to move the site anyway, we are going to rebuild it on the new server using Drupal 5.3 and then port the database over. (I checked, and at this point there is a 5.x version of every one of the 120 modules we are using, except for one minor one.)

Anyway, partly based on your comments above, we are going to give CCK another try. There are several new services we want to add and have decided to use CCK to build them. I will update this post again when we have some conclusive results from the new build (if anyone will care by then... :-)

BTW, must say that we are very pleased with our traffic thusfar considering the fact that we have done absolutely no publicity, ads or even links to the site anywhere. (About the only notifications we posted were here on Drupal.org and on several other professional/trade forums.) The comments we've gotten from users about the general concept of what we're doing have been extremely positive; and, just as we suspected, we have way more people reading the site who have not registered than there are registered users (a great sign for developing an advertising base). I'll post again when our upgrade is complete. My thanks to all for your interest -- James Touchi-Peters, conkhead@conk.com