Better practices for Magento extensions
Monday, 05 April 2010We've come from the Joomla! community, where extension developers follow unwritten rules when releasing their extensions. But with Magento, things like support and customer friendliness are lacking. It's sad to see that many Magento extensions stink because of this. Here are our recommendations for other third party developers.
Describe how your extension works
When you release an extension to the public - either free or commercial - visitors would like to know what your extension is all about. This does not only include a sales talk, your potential customers want an indication on how to use the extension.
You can tell somebody that your extension is great, but the customer will only know for sure once he/she starts using it. The more information the customer gets, the better: Provide screenshots, FAQ, video-tutorials, ectetera. If you don't and the customer gets the wrong impression, in a way you are cheating your customer.
Documentation: Installation, usage, removal
Explain to your customers how to use the extension. If you have developed extension that should only be used by people with a certain knowledge level, tell this to your customer before they make the purchase. If not, you should guide your customer through the entire process of using your extension.
Provide documentation on how to install the Magento extension, how to put it to use, and how to remove the software again. And instead of providing this documentation only to paying customers, why not put it on a website. It might get you a higher ranking, and again gives added value to your product when customers are looking for technical information.
Understand the concept of open source
There are various Magento extensions out there that are encrypted through ionCube or ZendDecoder. If you need this to protect your intellectual property, in our opinion this leads to one or more of the following conclusions:
- Your extension-code could be so badly written that you want to hide it
- Your extension-code is so simple, but you still want to pretend it's very complex
- You don't fully understand the concept of open source: Fair enough, there are those Chinese bastards that copy everything. But do you know how much money Varien is earning thanks to the Magento Community Edition being fully open source? Open source just asks for a different strategy.
Make sure the customer understands your policy
Make sure your customers understand what your policies are regarding support and upgrades: How do customers get support? Should they mail to the same emailaddress which was used to send the invoice? Or are they only allowed to post on a forum? Make sure your customers understand this right away, and you will find out that supporting your software is much easier than it seems. (And much more enjoyable as well.)
Regarding upgrades: When a new major version of your extension is released, will customers benefit from this or do they have to pay again? And what if Magento shifts with a major version? Will it work? Even better: Provide a roadmap of features that you are working on, or at least some comments on that you're still in the business of Magento development once Magento version 1.x is released.
Conclusion
Developing extensions is more than just writing the code and offering a ZIP-file within your shop. Customers expect to pay not only for the code, but for information and support as well. If an extension is offered without documentation, it should be made very clear that the extension is offered "as is" and "without guarantee".
