The Magento Community is not only extremely innovative but vibrant and resilient as well. Mistakes were certainly made in rolling out Magento 2 but Magento will continue to have numerous advantages over other options in terms of customization, innovation and choice.
The bumpy road of Magento 2 agencies and entrepreneurs
One of my favorite people at Magento lamented some of the mistakes the company had made in rolling out Magento 2. Many agencies and systems integrators have lost a lot of money (some have even gone under) in the process of moving clients to Magento 2. Builds have taken 2 to 3 times as many development hours as they should and we simply cannot pass all of that cost on to clients.
This is a general problem in the Magento community and the effect has been profound, stifling some of the key voices in a brilliant community. Many stalwarts of the Magento ecosystem have been burned deeply. It is an issue that I wish had been discussed more openly in a more Magento-like fashion but it was the topic of hallway conversation, agency-to-agency, friend-to-friend.
The throat punch moment
One of the main problems with Magento 2 for developers is the use of knockout.js and require.js. This framework and utility are unpopular in general; they are unreliable, they are not widely used, they bloat the page, and, most of all, they have a big negative impact on pageload times.
So, why would Magento have chosen them? The answer was, “we wanted Magento 2 to be compatible with GoDaddy hosting.” I’m not a violent person, but, that was the moment when my instincts had me looking for a throat to punch. Why cripple everyone else?
Unpacking a monumentally poor judgement call
Those one-button Magento installs like GoDaddy and other low-end hosting companies didn’t have the capability to do that at the time (they may now, but, if you are thinking of hosting Magento 2 on one of them, please rethink that decision).
Fortunately, there was no throat-punching. I ran this decision by some of the other folks at Adobe who had been around for a while. They said that many people at Magento passionately insisted that everyone (the loveable Magento inclusion instinct) should be able to use Magento 2.
Had that been the deciding factor that saved Magento 2 for the lowest-end merchants, it would be understandable. However, the long-term consequence was that Magento 2 is buggier (not only because of this decision), requires more server resources, and, by its very nature, requires more development time from more qualified developers. So, in the overall context of Magento 2 design, this was and remains a big miss.
Should you migrate your Magento 1 store to Magento 2?
As I have said before, moving from Magento 1 to Magento 2 is not upgrading. It is replatforming. To a certain extent, this is the cost of innovation. In short, because Magento is so customizable at the code level it is almost impossible to anticipate all of the ways a merchant may have updated their site. If you have ever upgraded an ERP system, you have been through a similar process. It is costly and takes time and planning.
…moving from Magento 1 to Magento 2 is not upgrading. It is replatforming.
Nothing I heard at Imagine 2019 would have changed my mind about that. Because you are replatforming, you should consider your other options. Many, many merchants will land on Magento 2. Despite the bugs and increased cost of ownership and mistakes made along the way, Magento got one thing very right with Magento 2: they built it to be customized. Creating a unique user experience requires customization. As far as I can tell from Imagine 2019, Magento is still deeply committed to this principle.
Magento got one thing very right with Magento 2: they built it to be customized
We saw some amazing demonstrations of customizations of Magento during the ‘sneeks’ session where agencies demonstrated innovative solutions. There were two amazing Enhanced Reality demonstrations that showed how you could take a product from an online store and, with your phone or tablet, place the item in your space to see how it would look.
Perficient demonstrated a new virtual merchandiser that was better than anything I’ve seen online for customized products like drapes, furniture and so forth. Erik Hansen of Kraken also demonstrated a visual parts finder for Magento 2 where customers can click on a parts diagram to find the exact part they want.
If your business relies on these types of personalized experiences, you probably need an open-source solution like Magento. While not quite as flexible, yet, BigCommerce, a SaaS solution, has closed much of the gap with extensive APIs and an ‘Open SaaS’ model. While there are other open source options, there are none with the breadth and depth of community that Magento offers.
For small merchants – often more hobbyists than business people – with small catalogs and simple customization needs, I cannot in good conscience recommend Magento 2. Those who are running a business with complex integration and customization needs and plans for growth, really should consider Magento 2.
Those… with complex integration and customization… really should consider Magento 2.
What lies ahead for Magento 2? Magento 3?
Progressive Web App
The data is really overwhelming. Mobile visitors are more than 50% of ecommerce traffic yet most sites are designed for desktop and ‘adapt’ themselves to smaller screens through a technique called ‘responsive design.’ We all know this is not the future of the web and Magento has a major initiative to develop and support an architecture to enable it.
Without getting into the technical details, this solves the knockoutjs and requirejs problem and inherently changes the development experience. For the foreseeable future, this technique will require that front-end design be the domain of a developer and require the merchant to forego the ability to affect layout and styling in the admin panel.
However, it will open doors for front-end customization and may decrease the cost of it substantially in many cases. Magento has chosen the highly-popular React framework for their develop-tool known as Magento PWA Studio. I attended the developer training session on this after which I could easily see the value and the ease of training my developers to use it. We will have to do some minor updates to our dev ops systems to make it possible, but, overall, kudos to Magento for this effort.
it will open doors for front-end customization and decrease the cost of it substantially
Magento PWA Studio creates an application that loads into the customer’s browser called a Progressive Web App. The PWA communicates with the Magento back end; making it completely independent. Magento simply needs to provide a GraphQL interface for the PWA to communicate with — and Eric Erway have made great strides in doing just that.
PWA studio, however, is not the only game in town. Creating a PWA that communicates with the GraphQL interface is an independent exercise. In fact, there is already a fully-functional PWA for Magento available written in a framework called Vuejs. Vue is slightly lighter-weight than React making it more mobile-friendly in theory, but, the React / Vue choice is really a question of taste.
Other news from Magento Imagine 2019
Magento’s enormous ecosystem (they say more than 300,000 developers worldwide) is like a hive of activity. There are so many people innovating on Magento all the time that it is impossible to know everything important that is going on. Some are technology innovations and others improve the quality of the Magento community. In other words, this list is only a small sample of those items.
- Magento Association. Magento has invested in creating the Magento Association – a group of agencies, merchants, technology partners and systems integrators who have a stake in the future of the platform. Other software solutions like SAP have associations who not only influence the future of the product, but also act as a voice for external stakeholders.
- Modular Architecture. This initiative (I suspect will become Magento 3) will allow merchants to build a custom implementation with only the elements of Magento they wish to use. In theory this will help extension developers tap into Magento without conflicting with each other. Essentially this is already starting to happen. Pagebuilder, B2B, MBI, and MOM are all examples.
- Pagebuilder. This is now ready for Commerce (Enterprise) users. However, for the time being this will not be compatible with PWA. Razoyo has some ideas on this an I hope to add an article soon.
If you would like to know more about any of these items or just want to discuss Magento with us, please reach out for a free consultation.