Netatmo, as an experienced technology company, always preferred to get the tech job done in-house than relying on external developers, and so - when it faced the challenge of changing the eCommerce platform - it was no different. Yet, as far as sticking with Magento was a no-brainer, choosing the different front-end - barely. See, what eventually spoke for choosing Vue Storefront as a PWA storefront for Magento 2.
Netatmo, founded in 2011, is a leading smart home company that creates simple and smart products for a safer, more comfortable home such as Smart Cameras, a Smart Weather Station, and a Smart Smoke Alarm. In 2018, the company was acquired by the French group Legrand to broaden its range of products and expand the position on the Smart Home market. Since then, it continues its global expansion in this promising industry, creating and selling its own smart home products.
Regarding its webshop, he company has relied for several years on Magento backend; however, due to its upcoming “end of life,” serious migration decisions had to be taken. Netatmo’s management decided to bring in-house the development and technical responsibilities of the online store, and rebuild the shop independently. Yet, as far as ditching Magento was never considered as the migration to Magento 2 was found more natural and more accessible, choosing the best possible front-end was a matter of an internal discussion.
At first, I wasn’t convinced if we should go with a front-end other than Magento-delivered. I believed staying with what Magento gave us out-of-the-box would be a more comfortable option at the beginning. Yet, as not everybody in the team was happy with choosing Magento as backend, choosing its front-end was faced with an active objection. As I am more into the backend, I decided to trust our front-end developers' opinions.
Magento struggled in particular with delivering satisfactory performance, and so the Front-End Team insisted on using a storefront able to “communicate” with Magento backend smoothly and take care of the performance at the same time. Vue Storefront was the obvious choice mainly because it is built with Vue.js, that Netatmo’s front-end developers were fond of for a long time. Yet, at the time, Vue Storefront was in a very early stage of development.
From a technical point of view, there were two types of challenges: internal data quality and data presentation.
The first was due to the low quality of product data provided by the suppliers, which is even more problematic when product rotation is high. In lingerie, many products are only available for a few weeks and that requires a tremendous amount of work to make the product details card look complete. For example, in some online stores, many color variants lack images and very few products contain a description or any attributes whatsoever. This issue requires data enrichment mechanisms to be put in place. The second was related to high product complexity: each product has colors, submodels, sizes, and related items from the same product look.
Despite Vue Storefront early stage of development, Netatmo decided to take a chance. The community turned out to help overcome the difficulties, and the Netatmo developers engaged themselves in moving the project forward. It was quite evident for them that not only Vue Storefront itself, but Progressive Web App, in general, is about to make its entrance into the eCommerce industry.
We jumped at the speeding train. Until we started getting involved more in the community, we didn't realize how quickly changes were being made. Being a part of the on-going project was both adventurous but also challenging. Often, we had to rewrite our customizations after the project was upgraded to make sure everything works. Still, we had the flexibility we needed to meet the specific requirements of our business.
Building native apps wouldn’t be a big deal for us as we have mobile developers on board. PWA however, seemed much more versatile and easier to develop: you build once, it works everywhere, and - at the same time - significantly improve the performance of web sites.