You are here

“Perl on Pogosticks”

Submitted by John on Sat, 2008/05/03 - 4:04pm
and other framework nonsense

Over at Brainnovate, Scott Miller writes that a CMS is bad for innovation. Now his opinion is clearly biased and ignorant of how innovation actually occurs, but there are some points I would like to clear up…

“Just because I haven’t personally used it, I do know a thing or two about Drupal. It *is* a powerful piece of software.”

The swing…

“However, at the end of the day it is still a CMS, not a framework […] in its own right.”

…and a miss! Actually Drupal is much more powerful than Scott knows. Because it’s both a CMS and a framework with an extensive API.

Scott continues…

“Expecting to come up with a great new (rarely or never before seen) idea is unlikely if you are working within the constraints of a CMS, without doing some significant programming on top of it… and then you are basically stepping down to PHP or whatever your language of choice happens to be.”

First, who says you can’t use the lower-level programming language within the CMS? That’s just silly talk. But moving on… I personally do significant programming on top of the Drupal CMS all the time! That’s exactly what you are supposed to do when writing an innovative app that leverages the Drupal APIs. Like… duh.

Scott advocates the Ruby on Rails or Python with Django frameworks. (Perl on Pogosticks, anyone?) But why does he consider Drupal’s framework of APIs (and presumably Joomla’s API framework) more restrictive than the other PHP frameworks available, like Cake or Symphany or Zend? Is this based on previous negative experience with older generation closed-box CMS products?

In contrast, out of the box, Drupal comes with working, well-tested, and pluggable user management, OpenID, access control/permissions, URL path manipulation, form-building, db abstraction, file uploading, site nav/menu/info arch, theming, and content management systems. And it comes with an extensive set of hooks that allow developers to over-ride or extend all of its systems. Far from limiting me to “what’s in the box,” Drupal allows me to use its systems as a true, flexible framework from which to craft a larger work.

If I use a CMS-based framework, I don’t have to build pre-existing functionality from scratch and I can spend more time being innovative. There I said it, Scott! ;-)

Bottom line, the only limitation to innovation I see is Scott’s limited (mis)understanding of what a modern-day, open-source CMS framework entails. But I don’t think Scott is alone.

While I agree with Chx that we should ignore FUD and ignorant mis-characterizations about Drupal, because they are inevitable as something becomes more popular, a question remains…

If open-source CMS systems have evolved to be extensive platforms from which to build powerful web apps, why does a significant portion of the web development community not know that?

Topic:

Posted in:

Comments

Your last sentence gets to the point. Opening up our world and not talking about Drupal but about "modern CMS Frameworks" is good. Personally I think: those systems (like Drupal) are just too young and people cannot be blamed being ignorant.

But if they are still ignorant in two years - poor Developers. Wasting so much time... Yet it is still up to us to prove that the dual CMS/Framework approach of Drupal does not have to be a contradiction. I know a lot of people who happily converted after the initial "click" experience that always implies the experience of cck, views and panels. Rock my boat, rock on...

I like the name Perl on Pogosticks. Apart from that, there are so many awesome modules for Drupal that prove that a content management framework is a good basis for innovation.
Building everything from scratch all the time, a.k.a. reinventing the wheel, in many cases is not innovative at all.

I prefer COBOL ON COGS as a framework over Perl on Pogosticks.

Seriously though, someone made a great post to the devel list about this at one point, and claimed that the real reason people and companies use things like Oracle, or Flash, is simply to be resue builder. A Postgres admin gets more than a MySQL admin, but an Oracle DB administrator gets at least twice the rate that either of them do. Someone who can build a flash app gets two to three times more than someone who can build an HTML page w/ Javascript degradeability. Therefore, someone who can code a social networking application from scratch in Rails, make more money than someone who can build/code the same site in Drupal.

What's the cost of this "my solution is fancier and more complicated than yours" paradigm? The customer loses and the superiority of the high and mighty developer is maintained. Drupal is trying to break all these rules. The more power is taken away from developers and put into the hands of everyday site builders, and the lower the level of entry is made to becoming a develoepr, the more vicious the attacks and fighting will become.

So remember this everytime someone comes up and says Drupal is too heavy of framework, it's not what "real" sites use. That person is really trying to protect the old-guard, in a way that ultimately does the customer a disservice. So when you see or hear this FUD, be honest about it, but don't be negative, the other side has made this out to be a holy war, and we don't need to perpetuate that. State the facts about why Drupal is better and the benefits for the customer/end user. I may be old fashioned, but I really do believe that when you're right, the truth is enough to convince those that want the truth, and anyone that doesn't listen, knows the truth and is probably trying to cover it up.

Sorry for such a long rant.

figaro's picture

What do the killer apps Microsoft Word, Firefox, Tetris and Outlook/Exchange have in common? None of them were particularly innovative or filled a latent demand. They excelled in usability, versatility and showcased a mainstream design. While giving Scott an additional SEO push, we are overlooking the question of whether and how Drupal can become the next killer app in the CMS universe. It has all the ingredients after all. Drupal has a strong and focused community and has no reason to divert from the constantly evolving platform that it is to those who are less informed. Let's make Drupal a killer app and watch how opinions change.

Devil's advocate

OK, I'm a Drupal developer, but I'm also using Ruby on Rails for one of my current projects.

Drupal has some wonderful features (CCK, taxonomy, views, the theme system, FTW!) and really excels at the DROP (Don't Repeat Other People) principle because the contributed modules are so varied and the core is so feature-rich.

BUT, when you need to develop new features, not just assemble/configure a site out of existing modules, PHP and the Drupal architecture and API aren't my favorite. I find the Ruby language and the MVC architecture of RoR to be more elegant and the code I have to maintain to be higher quality.

Sometimes I use Drupal. Sometimes I use RoR. Sometimes I use WordPress as a CMS. Which I use depends on the features the website requires and (most importantly) who is going to maintain the website in the long run. Nothing beats Drupal for getting a high-feature site up in the least amount of time but it's not a one-size-fits-all "framework". As far as I know there isn't such a beast.

That's a good point, Maria!

There is no such thing as a one-size-fits-all framework.

In fact, if you are building a high-profile application like Twitter you probably shouldn't even use a framework. Because you're going to need to optimize every CPU cycle you can find!