Zoom with Joomla or Drupal
You can launch your web app faster when using a content management system (CMS) like Drupal or Joomla or other frameworks like CakePHP or CodeIgnitor – all written in PHP. These CMSs and frameworks contain built-in functionality that will accelerate you software development. But using them the wrong way, or in the wrong situation can be a disaster.
It is critical to get a web app launched as quickly as possible. No one wants to wait months (forget years) for a new web application to appear online. The promise of CMSs and Frameworks is they give you a jumpstart with pre-built functionality and an environment that makes your programmers more productive. But like most tools, they can also be misused causing more headaches than help.
These frameworks are open source and available at no cost but they have a steep learning curve. I got excited about using a CMS for a website I was creating last year. I bought a couple Drupal books and downloaded the software from the Acquia website. It installed easily and I had a working site in a day.
Customizing the site was a different matter. I was able to easily add in several contributed modules but I found it difficult to combine modules along with my custom code to create a decent looking functional application. I basically wasted a couple weeks to discover that I really needed experienced professional help.
• Access statistics and logging
• Advanced search functions
• Comments, forums, and polls
• Multi-level menu system
• Multi-user content create & edit
• OpenID & Facebook Connect
• RSS Feed Aggregator
• and many more . . .
I could describe what I wanted but if I hired inexperienced programmers, they would be as lost as I was. If you hire the wrong programmer or programming team then you can waste months of time and spend tens of thousands of dollars in the process. You must pick a programming team that can demonstrate successful use of the platform you select.
CMSs and frameworks are extendable and it is common to add code to deliver your desired functionality. For example, Drupal has a list of user-contributed modules available to extend its functionality. And your programmers can create their own modules too using the Content Creation Kit or CCK.
The primary pitfall that inexperienced programmers fall into when using a CMS is adding functionality by changing the framework itself. If your programmers “hack the core” of your CMS directly they create a mess that is difficult if not impossible to fix.
Any new development team is not likely to be able to unwind the hacks. To fix any bugs they will only be hacking the core further. In this case you almost always have to start over.
First you should decide if CMS features are needed. Selecting a CMS may only add complexity if the features you need are simple or different that what the CMS delivers. A framework that enables rapid page creation and supports modern Ajax-based user interface features can be a better choice.
You need to have a reasonable specification of the functionality that you want--something more than a shorthand Hollywood pitch like “It’s Twitter but with video.”
Describe the kinds of users of your web application. Then list the use cases of how they will use it. Sketches of some of your screens will also be helpful. Use a drawing tool like Visio or PowerPoint. Digital photos of your whiteboard with the designs or scanned in sketches on paper work also.
No matter what, I guarantee your spec is not going to be perfect.
Accelerance Partners Do Drupal & Joomla
Announcing a new category of technical expertise for the global partner network.
Contact our experienced partners on the new Drupal and Joomla page of the member directory.
Therefore, you need to find competent developers that not only have experience with the CMS or framework you choose—they also must be able to collaborate with you to help determine what you want.
The look and feel of your web application is completely configurable with a CMS. Frameworks and CMSs have a way for you to deploy your design in a consistent way. In Drupal this is called Themes, in Joomla it’s called Templates.
Versions of Frameworks and CMSs change periodically. Make sure the development team you hire has experience with the latest version, or at least the version you want to use. For example, Drupal had a major upgrade from version 5 to 6 last year. Many of the user-contributed modules did not work with the new version. It was months before most were upgraded to version 6.
Experience with these modules is critical. Anyone can install a framework or CMS, but the basic functionality is not enough. Ask for examples of web apps your prospective development teams have created for other clients and the kinds of modules and custom development they employed.
Several Accelerance partners have created web applications for clients using Drupal, Joomla and other frameworks. The four example sites here each required from 600 to over 1200 man-hours of effort to implement.
|
|
|
|
|
|
Use a development team that has experience building web applications for other clients with the CMS or Framework you decide to use. You can wind up wasting your time attempting to make a sophisticated web application on your own by using one of these platforms right out of the box unless you have already gone up the learning curve. It takes professional help.
The Runtime Bottom Line
The only thing worse than wasting your own time, is wasting time and paying money to an inexperienced development team. Choose carefully and your use of a CMS can shave months off your development time line.
Until next time,
Steve@Accelerance.com
Accelerance, Inc.
Risk-Free Outsourcing
+1-877-99-ACCEL (877-992-2235) x101 Toll-Free
+1-650-472-3785 Global Calls + Fax
Or contact me at: http://www.Accelerance.com/contact.htm
Author of the new book -
Software without Borders: A Step-By-Step Guide to Outsourcing Your Software Development
www.Accelerance.com/swb.htm
