Every month our subscribers receive a newsletter from our Product Manager about the release of a new add-on. But have you ever wondered how we create add-ons?
I’m Kate, a new content marketer in the company and in this two-part article I will take you behind the scenes and guide you through the process of developing an add-on.
We will talk to the Product Manager at SimtechDev, Alex Tereshin, who is responsible for the production of add-ons and with the developer, Valery Malyshev, who puts all ideas into action and is currently working on a new add-on. Which one? Read on and you’ll find out.
Alex, at this point Simtech Development has over 100 add-ons for CS-Cart distributed via the marketplace and continues releasing new add-ons on a monthly basis. Tell our readers how you come up with ideas for creating new add-ons?
Alex: There are two main sources of idea generation. First and most obvious, we continually monitor eCommerce industry trends. Our dedicated team constantly analyzes and assesses industry behavior. We act upon those findings and adapt our solutions to the changing market. Secondly, we get a lot of ideas from the CS-Cart and Multi-Vendor platform users. Our developments are customer-driven. After the release of each add-on, we collect feedback from our customers and process it. If a customer requests a new feature added to the add-on, we decide whether other customers will benefit from it and get to developing a new add-on with the requested functionality put in default.
What are you working on right now?
Alex: In May, we came to the decision to develop a new version of the existing Affiliate and Referral add-on. Over the past two years, eCommerce has changed. You no longer have to be a large business with a huge budget to start your marketplace, but that is what the affiliate add-on was originally designed for. Here we are meeting our customers’ need for an affiliate add-on with simplified functionality intended for small and medium-size marketplaces.
Can you describe to us the process of creating a new add-on?
Alex: At the initial stage of the project, our Tech Lead prepares a technical specification that defines the structure of the functional capabilities of the future add-on and estimates the time resource required to build it (usually it takes 40-100 hours to develop an add-on). Next, a task is created and gets fit into one of our next sprints schedules (we use SCRUM methodology for planning our projects). At the scheduled time, an assigned developer gets to work on code creation for the add-on. It is our established rule to have only one developer writing the code for the new add-on in order to avoid any possible issues and miscommunication.
Once the new code has been written, the add-on prototype is sent to be reviewed. After we get feedback from our testing team, the developer continues working on the code to fix reported bugs. Now the add-on has to go through code obfuscation process and ready for a release.
Why is it so necessary to obfuscate the code for add-ons?
Alex: I wrote about the importance of obfuscation in one of my last articles.
In short, we deliberately encrypt our code in order to prevent it from tampering. This way we protect our copyright and ensure the safe use of the product by the client preventing the code from attacks.
Are there any technical challenges while designing an add-on?
Alex: Yes, quite a few. The major one is to decide starting from which CS-Cart platform version our new add-on will be compatible with. We need to take into account that the difference between CS-Cart 4.9 and 4.10 versions is much greater in terms of default settings than between CS-Cart 4.5 and 4.9. The newly released add-on should be working smoothly with the default functionality of the chosen platform version and its system requirements for web hosting. And last but not least, the new add-on should not conflict with the work of the rest of ou add-ons available on our marketplace which requires a high level of expertise from our developers.
What are the requirements for add-on developers in terms of their technical skills?
Alex: Apart from code writing skills, the developer has to have excellent knowledge of CS-Cart and Multi-Vendor architecture and code standards. It takes years to acquire them. For instance, the developer who is building the new Affiliate add-on has been with the company for 7 years.
Thank you for giving our readers the opportunity to learn about our add-on development process. Before we finish, what advice would you give to store owners who use our add-ons for their business needs?
Alex: The key to success is knowing your audience. Many times our clients are too quick to change everything available by default just for the sake of being unique. Before you jump to bringing new changes to our ready-made solutions, I would recommend taking full advantage of the default functionality of the add-ons available on our marketplace. Make sure you provide the best shopping experience for your customers with tools you already have. We have put a lot of effort and time into research and developing solutions that would work for almost any kind of online business. Set the add-on default settings, start selling, collect feedback, study what your customers really need and make educated decisions about adding new features to your store.
Want to learn more? Proceed to the second part of the article: Interview with Developer.