This post outlines some of our thoughts about the state of the Magento module community, and an idea for how Magento can improve the quality of that community.
This post outlines some of our thoughts about the state of the Magento module community, and an idea for how Magento can improve the quality of that community.
Here at Classy Llama we create our own Magento modules every day and have high standards for any module that we write. These standards include having properly commented code, adhering to Zend programming standards, and having both the code and functionality of the module reviewed before it is released. Magento is great because, instead of having to write every module that we use, there are numerous other quality development companies whose modules we can draw from for sites that we develop. Unfortunately, there are a lot of modules out there that are not quality. Issues with modules that we encounter include poorly written code, SQL vulnerabilities, improper code domain separation, and improper utilization of the Magento Application functionalities. Some of these modules do not even work.
This abundance of modules often leaves us with a challenging question. Do we recommend this module to our client? If we do, we often have to prepare our clients for the possibility of hours of development, in addition to the module cost, that may be required to make the module safe and functional. The other option is that we have to take a loss to bring the module to the level necessary for use on our customers’ eCommerce platform. We love our customers and so it is painful for us to have to make either of these choices when the customer is already paying for the module. Because of this, we have been asking ourselves if there is some sort of solution to the problem of poorly coded modules.
The answer we came up with is two-fold. For now, we can buy most of our modules from the great companies who have earned our trust up to this point; these companies include AheadWorks, Unirgy, and WebShopApps. This alleviates the problem but it does not come close to eliminating it. We know that there are other developers who write quality modules. We simply don’t know who they are until we have worked with and reviewed their modules. We think that Magento itself is the solution to this dilemma.
Even though Magento has had explosive growth since the release of Magento 1.0, it has only been three and a half years since its release. Since then, Magento has gone through dramatic transitions and upgrades turning it into a much more streamlined and powerful system with numerous features and a massive community. With eBay’s acquisition of Magento, its future looks even brighter. Since Magento is so young, however, there are certain features and programs that they have not had or taken the time to develop. We believe that the development of a Magento module certification would be a great step for the company and the community at large. Magento has over 4800 modules in Magneto Connect, and we realize that reviewing every one of them would be a massive undertaking, so we think that it should be something that Magento would be best able to facilitate on a voluntary basis. When Magento certifies a module, that module would receive special recognition and be more accessible to developers and store owners. This would take the burden of code review and repair off individual development companies or users purchasing the modules and put it back on the original developers of the module. While this could take time to implement, we think that it is an endeavor from which the entire Magento community would benefit.
We’ve communicated this idea to Magento. Here is a snippet of what we’ve told them: … There are many poor quality developers and modules, and the current system doesn’t provide a system of being able to determine which modules are good, and which are not. The current Magento Connect is much like the Android Marketplace – thousands of apps, with only a portion of them being high quality. While we would not like to see the same level of curation as the iOS Marketplace, we would like to see more attention being paid to ensuring that quality modules are promoted, and poor-quality modules are being demoted…
We sincerely hope that Magento does this, but regardless of what they do, we love the platform and will continue to support the company and the community to the best of our ability. We believe that Magento truly is the eCommerce “Platform for Growth” and that it’s many features, programs, modules, developers, store owners, and fans make it a wonderful and enjoyable platform to work with every day.