Having done some recent work on SugarCRM, I couldn’t help but draw a comparison with other systems I work with: Magento and Salesforce. Because that’s what I think SugarCRM should be: Salesforce functionality with a Magento architecture. SugarCRM’s popularity is obviously mostly because it is open source and free to use however it does not use a high level web development framework such as PHP Zend like Magento does, which is also open-source.
There is a good reason why Salesforce is so actively pursuing developers to build on their Force.com platform. They want to build an ecosystem that users can’t and don’t want to leave. It’s a model that Apple has proven to be extremely valuable and for good reason. Anyone can compete with a product, but an ecosystem is extremely hard to copy. Even though Salesforce comes at a premium, the AppExchange is a good reason to use Salesforce. If you want to store your customers in a database, you can use any old address book or CRM but if you need specific analytics, workflow, integrations, online portals, etc then Salesforce is one of the easiest to extend. I’ll mention NetSuite here as well but it’s no secret I’m not a big fan, because even though they do provide a powerful development framework, they don’t foster a developer community like Salesforce does.
So why the comparison of SugarCRM and Magento? Magento is an e-commerce platform, not a CRM. But it’s the architecture of Magento that sets it apart from its competitors (like osCommerce). SugarCRM and Magento both use PHP. Magento however uses the PHP Zend framework. SugarCRM is not based on any framework, it uses ‘straight’ PHP. Sugar does use an MVC-like model and does provide documentation for it, but it is custom built so it takes longer to get familiar with than if they used a standard framework.
I’m a big fan of MVC frameworks such as PHP Zend and Ruby on Rails. Those frameworks make coding more high level. Less detail to worry about means more of your time gets spent building an application. All the common website issues like SQL injections, cross site request forgery, are generally taken care of. But also simpler things like providing helpers for building HTML views. Since SugarCRM’s inception, many awesome frameworks have been introduced. In the battle to win the hearts and minds of developers, picking one of these to build on would help greatly.
Magento has overtaken osCommerce in backend architecture. Right now, I think SugarCRM is in osCommerce’s position before Magento existed. I would love to see SugarCRM adopt a framework such as Zend. It would be a setback in terms of the existing modules but in the long term will likely see more and better modules being written. Already we are seeing the emergence of other open source CRM systems such as Fat Free CRM (written in Ruby on Rails).
SugarCRM has a great advantage over Salesforce in that it’s open source and therefore a much larger potential reach of small businesses. But applications are now more often judged on their ability to integrate and develop for. And SugarCRM is falling behind. Here’s hoping that will change.