Choosing the Right Tool for the Job

March 29, 2010

Choosing the right tool for a project can sometimes be easy. For example, when driving a nail, the obvious choice would be a hammer, or when splitting some wood, a saw would be the best tool in the box. Sometimes we know the tools we need but don't have them at our disposal, like the time my father-in-law asked me to help him paint a room. What he failed to mention was he only had two small four-inch brushes—not a great choice for such a big project.

Other times, the choice is not as easy or obvious, such as when considering how to manage the content on your website. This is especially problematic if you are not a technical person. I still remember when content management systems (CMS) were very limited in functionality, expensive to deploy, and a nightmare to maintain. With the advent of blogging and personal publishing, anyone with a casual interest in posting something online can do it with little hassle and little to no real cost; services like Wordpress, LiveJournal, and Blogger even provide hosted versions of their software, making the barrier to entry even lower for non-technical users.

However, tools like the ones mentioned above aren't necessarily designed to be used for mission-critical business applications. Part of our job is to help you lay a foundation that will enable your website to grow as your needs change; locking you into a system that can get the job done now without considering the future would not be responsible on our part. This is why when we are tasked with choosing the right tool to help your business succeed online, we almost always choose Drupal, a flexible and robust CMS.

The Drupal Advantages: Flexibility and Community

Drupal is an open-source CMS similar in approach to others I have mentioned, but with some major differences. First, Drupal is not only a CMS—it is also a framework. What the heck does that mean? That is geek talk for a system that allows web programmers the ability to create their own mini-application (module) and plug it back into the core system to make it do custom things. For example, the core version of Drupal comes with many useful built-in modules like a blog, forums, content tools, and more.

If your business needs a very specialized function that lets a user interact with your website in a particular way, we can create modules that perform these functions and plug them into the main system seamlessly. Drupal provides a number of basic functions as part of a framework we can leverage, allowing us to focus on the things you want the module to accomplish. This makes Drupal the perfect choice for any project, as it provides the flexibility to add new functionality to a website as your business grows and its needs change.

Additionally, Drupal is not only a CMS and a framework, it is also a community. With social networking has also come what is known as social coding, which is the act of collaborating with other programmers on the development and enhancement of a piece of software. As developers contribute to the source code repositories for these projects, they inevitably interact with each other, feed off each other, and learn how to be better programmers. That feeds back into the development of the software.

Having a community around Drupal means there are passionate individuals building, testing, and extending the system. For us, it means we have an immense pool of resources we can tap into when we hit a wall while trying to deliver a solution for our clients. For our clients, it means they're provided a tool that has proven itself over time to deliver many rock-solid business solutions.

Choosing the right tool to manage your website can be difficult amid the variety of choices. While some may seem attractive due to the low barrier of entry, it is always best to take a step back and consider if that is the right tool for your mission-critical business website. Additionally, it is also worth the time to consider if the software will reasonably achieve your business goals now and into the future. We specialize in Drupal development because it gives us the tools and flexibility we need to lay the foundation of content management your business needs now and as you succeed.