The other day on Twitter, Richard Young mentioned looking back at one of his first ExpressionEngine sites and being stunned by how he built it. He didn’t mince words about how he felt:
Just had to dive into the guts of one of my first #eecms builds. Holy. Shit. #youcantgoback
For those of us who build EE sites for clients, there are probably too many sites to remember but I’m certain we can all remember the first one we built.
My first EE site was not for a client but it was for a personal project. The project started during the heyday of podcasting (this when everyone was talking about making money at podcasting but no one was actually doing that unlike today). It was the next big thing and with my longtime interest in audio recording, radio and talking, I thought I’d give it a shot. Because I did have some audio experience from college I started a podcasting how-to site (with tutorials and articles), with the unfortunate name of “Podcast Free America.” Before you criticize it too much, it was a play on the Radio Free Europe network. In hindsight, the name was definitely not the best, the concept confusing and the execution suboptimal. All that aside, it was my first ExpressionEngine site. So, there is that.
Please note: the site is no longer live and I let the domain registration lapse. If you go hunting for it you’ll be disappointed with links to male enhancement products. Or, who am I to judge, maybe you won’t be.
So, you want to know what the mistakes were. Sure, why wouldn’t you?
First, it’s the mistake we’ve all made: treating channels (or “weblogs” as they were known back then) as a scarce commodity. For me it meant trying to cram too much different content into too few channels. I ended up with a site that was difficult to manage and a major task to improve and extend. I used to joke with people learning EE (and repeating the same mistakes I made) that EllisLab doesn’t charge you based on how many channels you use. They’re free! Use as many as makes sense.
The second mistake I made was similar to the first. It featured my expert ability at underusing the custom fields and field groups I created a single field group with every field I’d need for every channel of content on the site. “Huge mistake!”, you shout while sipping green tea from your ExpressionEngine mug. Oh, I agree. Coming from other CMSes and weblog tools at the time, I didn’t know any better. In fact, I think that’s the case for a lot of people even today. That’s why I get so much great feedback about my ExpressionEngine training videos: viewers are guided toward the lightbulb moment on how to use EE effectively.
Oh, but it gets uglier. After all of this, I wasn’t even very good at building out my templates. I used global variables where it would’ve been better to use an embed template and my templates were far from DRY (Don’t Repeat Yourself). To my credit, I did go back later on and break up the templates to reuse code. The poor template construction was influenced by the poor channel and custom field setup. It all snowballed into one giant mess of an implementation.
It’s no surprise that everything about that site was difficult to manage. It didn’t help that the site was a big flop (low traffic, no revenue, uninspired content). After letting it linger for a few years, I cut the line and ended the misery.
While my lack of skills in properly constructing an EE website wasn’t the only reason the site didn’t succeed, it certainly didn’t help that maintaining it was a chore.
I’m sure we’ve all made the same mistakes but what are some of your least impressive EE build choices?