If you've read a Semafores blog post before you might notice that our website has a new look. I think it's cleaner, simpler and easier to use, especially when I view it on my smartphone. I hope you agree that the new look is better but the truth is that the changes to the interface are almost accidental. They are a byproduct of a more fundamental change in the backend of the site. We use a content management system (CMS) so that we can easily add content, like this blog post, to the site. Without a CMS we would have to manually change the code every time we made a change and that would be a time consuming and error prone process. The changes in the design of our site are the result of replacing our CMS.
Previously we used Drupal. By reputation, Drupal is powerful, flexible, robust...and hard to use. I certainly found it so. I've seen some amazingly well designed sites that are based on Drupal but I was never happy with our Drupal based site because I lack the skills necessary to make it work properly.
Our site now uses Joomla, which by reputation is not quite as powerful, flexible or robust as Drupal. For me, however, it is a better choice because I have a better understanding of how Joomla works and because it is a better match for my skill set. So far I'm happier with the results.
The real problem isn't that we chose the wrong CMS system for the Semafores website. The real problem was that it took me six months to admit to myself that we had made a mistake and that the Drupal site was a failure. I was not happy with the design and my attempts to improve it mostly led to frustration. While I learned much from developing the Drupal site that made building the Joomla easier and will be useful in future web projects, it would have much more productive to have given up on the Drupal site sooner.
A recent Boost of the Day from Semafores's Twitter feed was "Failure is the mother of all success." I believe this is true. Success is never achieved without failures along the way. We try again and again until we find what works but there is one thing we must do before we learn from our failures. We must accept that we have failed. Only then can we learn from the failure and move on to the next learning experience and to success.