Here’s something I’m trying to figure out. I feel like I’m at small crossroads. Over the past while, I’ve focussed on and become familiar with WordPress and Drupal. For client projects, depending on the scope and scale of the specific job, I’ll generally choose one or the other as a CMS.

WordPress has a great back-end interface that clients love and it has enough power to manage 80% of the Web sites I design and code. Drupal, while not as client-friendly, is markedly more powerful and flexible than WordPress: in terms of laying a solid foundation for larger sites, it gives clients an enormous amount of potential for growth and development.

The problem I have with both systems, however, is that they’re fixed beasts. WordPress is fantastic—within certain constraints; knowing it wasn’t really designed as a CMS, I never ask it to do too much. My experience with the supposedly-delightful Drupal, however, has been that adding some fairly straight-forward functions to sites has taken three or four times as long as I feel it ought to have done. Some of this has to do with the fact that I’m still relatively new to Drupal and only half way up the learning curve. Even so, I’m never more than 50% happy with how a function, once deployed, actually looks and works; the page-flow, for example, is sometimes bizarrely rinky-dink.

Back when I was programming php by hand, I had complete control over how everything looked and worked. The problem is that I’m a designer, not a programmer. 1) While I can program basic functions, it’s not what I enjoy doing or in any way excel at doing. 2) If I spend a week programming on a project, that’s a week when my design skills hibernate and atrophy. Not great.

These days, then, I prefer to focus on design and coding to Web standards. I leave any serious programming to professionals. On a day-to-day basis, however, I need to work with and tweak CMS installations. The results are that, while I can get things done, I’m never really delighted with the results.

As the folks at Sunlight Labs say: “A better use of the time and money spent maintaining and modifying complex CMS installations would be to spend that time learning and deploying sites in a framework such as Django or Ruby on Rails.”

Ruby on Rails has recurring problems with scalability (q.v. Twitter) so, for now, at least, it’s off my candidate list. I should probably spend some time with Django, see how quickly I can build something. If it’s as much of a snap as the Internet buzz makes it out to be, maybe it’s worth pursuing.

CakePHP is another candidate.

Or is the solution simply spending more time with Drupal, learning its innards so I can get it to play nice with my site designs?