The problem: In the last year or so, I’ve had a lot of fireman-type projects where I was asked to stabilize a poorly built Magento store. More often than not, my clients were merchants without a dedicated technical team, who paid 5 digit fees for their websites, and more often than not, their stores were built by taking base Magento, applying a poorly tailored template to it, and stuffing it with 30 obscure modules from the market. Not long after the delivery, the store would start to fall apart – load times would go over 10 seconds, orders got lost, sessions disappeared, and content management and upgrade options were next to none. Store owners would then start paying the same team for support, until the point were they could no longer sustain their shop or decided to start from scratch with a different team. And what’s even worse, they blaimed Magento for it – I often had to go through a lot of talk to convince them that Magento is a very solid platform and it was the modules’ poor build quality that caused all the issues. It gives me the creeps to even think about all the code horrors I saw in such stores.
In my opinion, one of the reasons for these scenarios is the “there’s an app a module for that” kind of thinking, where the developers (often because they were instructed to do so) would buy an obscure or a popular but spaghetti-coded module from the market for even the smallest customizations.
This approach also affects those development houses who tend to keep their code clean, well structured and bug-free, because their modules are being cast aside or not able to break through the sea of similar-purpose, crap-quality modules from various obscure development companies. Store owners are then not able to distinguish between the stable and unstable modules and simply buy whatever fits the description.
If this trend continues, we will probably witness a growing numbers of unstable Magento shops, that would in turn affect Magento’s reputation as a stable platform. Magento started out as a perfect solution for small to medium sized merchants, but will in turn become a safe investment only for those who can cash out six digits for their shops.
The solution: Granted, not everyone can afford a 100€ph team who would build all the cool stuff from scratch, or a high profile agency with it’s own portfolio of production-tested, stable modules. But what they can do is choose only those modules that have passed a quality test by Magento’s own “ISO” team. In an approach similar to Certified Developer, Magento would create a team that would “audit” modules from the market and put it through a series of criteria to determine it’s build quality. Criteria such as following Zend programming conventions, Magento’s customisation recommendations, module’s impact on the overall performance etc. The team would not necessarily gurantee that the module works as described (although that can also be part of the process), but that it’s simply built according to established coding practices. Such modules would then get a “certified” badge on their Connect page.
Of course, this would not come for free. Every developer that wishes to certify their module would pay a fee (in example twice the sales price) to have it inspected. This would only apply to commercial modules, so free modules would somehow be exempt from the entire procedure (although could pay a flat fee to be part of it if they wish).
By doing this, Magento can help promote those addons that retain the overall build quality, stability, extendability, upgradeability and all the other “abilities” of base Magento.
Actually, the store owners from this story remind me of myself when visiting a doctor, or a dentist. You can only hope that the doctor has your best interest at hearth and knows what they’re doing, cause when the work is done, there’s very little you can do about it.
I have opened this idea for discussion here, so please if you wish to discuss it, use the board instead of comments on this page. If you wish to support it at it’s current state, you can sign the petition here.