Over the last couple of years I’ve been working a lot with these four applications – WordPress, CakePHP, SugarCRM, and RT. Each of these is beautiful in its own way. Each of these tools is an Open Source Software. Each of these tools has a large community. Each of these tools has a free and commercial support and development. Each of these can be used in a number of ways to solve a whole range of problems. Let me briefly introduce each one of them.
WordPress
Most people who have heard of WordPress probably think that it is a blogging application. It is indeed. But it is so much more. I’ve argued before that it is a web application framework. It can be used to build things like classified directories, job sites, address books, booking systems, object management tools, forums, etc.
Just think about these features: database abstraction layer, RSS feeds for everything (including custom objects), tags and taxonomies, themes and plugins support, administration area, user management.
CakePHP
This is one of my recent discoveries. CakePHP is a web application framework, but on a lower level than WordPress. With WordPress you get the tools, and you also get some logic in how things are related and how they work. If that logic doesn’t fit the way you think or the way your application needs to work, than you’ll be better with CakePHP.
CakePHP helps in getting your application out of the way. You can create prototypes really fast. It helps you to focus on your main stuff – your application.
SugarCRM
As with WordPress, most people who have heard of SugarCRM probably think that it is Customer Relationship Management tool. And it is. But it’s so much more. It is also a platform.
If you take the evolution of an average business web site, then it will go something like this. First, we don’t even need a web site. We’ll just pay for advertising or directory listings all over the web. Then we’ll need a simple web site with contact information. Then we want to expand it a bit to have information about the company, a list of products or services, and some other static information. A contact form appears somewhere around here too. Then we start getting into more dynamic stuff with company news, online shops, etc. Then web site becomes sort of a primary tool for a business. It is content management, stock management, communication tool, and more. At this stage, site’s database holds much more data than can be seen online.
Now if you think about that evolution in terms of software development, you’ll end up in hell. You started with a clean and simple thing, which grew over the years and became a patched up monster that nobody wants to touch. Most web sites would be rewritten a couple of times, but that won’t help them much. Because most web design companies aren’t software development companies. And though they are slowly turning into software development companies, they aren’t quite there.
SugarCRM helps a lot here. It is a large and complex application that provides a solution from top to bottom. So, instead of upgrading the web site and adding a few things here and there, you’ll be downgrading SugarCRM and removing things from here and there. Depending on which level of evolution the web site is, SugarCRM might be a much better solution than a lot of inhouse development.
RT
Request Tracker is a tool that you’d want to have in any organization what-so-ever. You’d also want to use it if you are running a project with more than three people.
Originally, RT was just a tool for technical support departments. Clients raise issues, these issues get assigned and passed around, until they are resolved. Something like that.
But more and more people use RT for all sorts of tracking. Anything from managing software development process (together with version control software), to company document infrastructure, to mass mailings. Flexibility, low system requirements, and excellent community make it a great tool for more things than anyone can imagine.