Loading...

Articles

Magento 2 Technical Abilities: Bridging the Gap for Merchants

When I first started poking around with Magento 2 my initial idea was to cover the backend functionality and the improved UI. Even though there's been a considerable modernization to the UI, it only goes so far to describe the actual merchant benefits of M2 over M1. Correction - it actually describes none.

The real tangible benefits are however all derived directly from its new structure. This all will bring benefits like faster TTM (time to market) and scalability.

The drive to continuously develop and look for areas of improvement comes from the need to scale upwards and outwards. Stagnation in a fast moving space of business will end up giving ground to a slow death of your business.

Merchants looking to scale should be focused on the quicker release of new features, quicker time to market in general and less time bug fixing vs more time developing.

There’s always a divide between expectations and reality.  But, from what I’ve seen Magento 2 will bridge that gap considerably.

Magento 2 is built on a containerized concept of different blocks independent from each other. That, in turn, will remove the risk of innovation as there are lesser dependencies. Dependencies are usually what break things. Most have probably seen it - the domino effect, that blocks keep tumbling to some extent.

M2 is all about compartmentalising and containerising. At first, that mind sound like complete isolation, but there is no such thing.

Matt Bertulli, The CEO and founder of Demac Media uses an analogy that best compares M2 to M1:

Lego blocks vs Play-Doh!

Can you imagine putting block after block on top of each other in a clearly structured way vs forming a structureless blob out of Play-Doh?

If you take into consideration what effect that has over years of development on a project, the blob will eventually become an even bigger blob. And...DOH!  

The approach that M2 takes is “Move fast and break things”. That makes agile development easier, which in turn again enforces all the benefits M2 has  - time to market, risk management, flexibility and so forth.

Performance optimization


Magento2 and performance optimisation is an exciting topic. Logically clients start thinking about optimising for speed more seriously when the store picks up traffic and in turn generates bigger revenue. There needs to be sufficient funds to pay for it all...

On M1 performance optimisation was quite the task - time-consuming and some parts needed continuous effort. For example, we had a client who was not willing to move so fast as to implement Varnish but wanted to follow the suggestions for Google Page Speed Insights.

Most of what Page Speed Insights suggest concerns the browser side of things, like minifying all CSS, HTML and Javascript. A large part is also optimising images. So the focus is put on compressing as much data as possible and optimising what loads when. We fine-tuned the percentage to a whopping 90%. But imagine, if for some reason our client is not consistent in optimising their banners and graphics, the percentage goes back to an average 60-70%. And keep in mind, we only focused on their image-heavy frontpage. We ended up spending 30 hours on educating our client and leveraging speed that way.

On Magento2 all this comes out of the box, so as a result of the automatic data compression Magento's’ test suggest that it reduces rendering up to 50%. But the 30 hours spent on M1 could have been spent on new features instead.

A breakdown of the technical side of things…


M2 has been redesigned in terms of software design and is now more stable and fool-proof. It uses the newest software design patterns to eliminate dependencies, leading to a more modularized and stable system as mentioned before.

First of all, FPC and Varnish cache are supported out of the box, with no need for any special server configuration. Setting up Varnish on M1 was a huge task - it was always followed by numerous compatibility fixes. For example, so that Varnish would work with custom ajax layered navigation or custom swatches.

Redis cache can be used to substitute file system cache out of the box, which also greatly improves speed. Plus, PHP7 is supported out-of-the-box, being 50% faster than PHP5 which improves speed as well as throughput of your web store.

An addition to all that is the single tenant compiler - what it does is prepare the Magento2 store for production immediately. It will compress catalogue and theme images, generate auto-loader classes, warms up the caches and so on. Normally this would have been done extra, but with Magento2 it’s not needed and is a huge save on time.

In Magento2 the cart promotion rules feature has been rewritten and now has no limitations - meaning you can have unlimited cart promotion rules that will not slow down your cart. This was a problem in M1.

Search results have high precision out of the box in Magento2, plus the response speed is greatly improved and doesn't depend on search results quantity like before. So this means there's also no need for 3rd party extensions anymore.

Frontend


The frontend of Magento2 has become more like a one-page application. Adding to cart now doesn't reload the page, as well as loading personal customer information - all the rendering is done in the browser, which lowers the backend load and makes your website faster and more responsive. This lets the customer continue shopping after having added a product to cart - there is no waiting for the page to reload anymore.  

And the checkout behaves the same way - the page doesn't reload, just some parts of the page get re-rendered after the customer submits a form on checkout.

M2 developers have integrated some shiny new technologies that make the frontend more stable - like RequireJS. It provides asynchronous JS loading, meaning a file will be loaded only when it's needed - this will all-in-all lower the load on your web server and lower page load time.

Collaborative effort


Magento first reached market on March 31, 2008. Over the years it has considerably matured and evolved - as eCommerce has matured.

What sets apart a great product? - it defines the goals for new releases based on clear needs and pain points. And those needs have clearly been defined over the years.

As Magento 2 is available on GitHub, the progress of development is completely transparent. It’s easy for developers to stay on top of changes and new features.

Community effort and promoting engagement behind it is truly great. We’re all rooting! The transparency is also greatly appreciated and speeds up development.

At the time of writing this, two of our guys have discovered bugs during testing and they’ll be taking the time to adhere to Contribution Requirements. Even I’ve been following GitHub to see what’s up - I guess that counts as genuine excitement.

Staying on top of how technology changes is daunting. I can imagine, how every day small little things become obsolete, change or are added. The same with Magento 2. But as development is transparent, it’s easier to stay on-top-of-it-all. You learn as you go. With Magento 2 everyone starts out at the same point - learning to walk again and learning to walk with new methods added.

Quality of modules


Magento has set out to ensure quality through careful vetting of extensions that are approved for the marketplace. We all know the numerous M1 extension available on Magento Connect, that just don’t “quite” cut it, and even that’s an understatement.

With the new Magento2 marketplace, anything that doesn't go through Magento's’ quality control will just not make it. As they're taking the time to analyse all modules, they’re also thinking of not adding any that double in terms of functionality.

For example, when we first started investigating Magento2, then we set a task out for Eugen to built a module in the process of learning. The module Eugen built was for picking a delivery date on checkout.

PS! You can read about it here: Magento2 Delivery Date Module - Creation from Scratch by Eugen

We also went through the vetting process, and the answer that we got, was that this functionality already exists and they're not taking any duplicates. We also wanted to list it as free, so that might have played a part - but again it's actually a good sign.  

Magento's’ message is very clear - no crap or unnecessary noise in the marketplace. This in turn means, there is no point to building modules for the sheer volume of them, like it’s become common with M1 over the years. Developers are now building for quality - less hassle for everyone.

Coming back to the idea of lego-blocks vs play-doh, Magento’s new architecture also makes it that much more likely that modules will play together and will not break caused by dependencies. And if there are major problems, then vetting will pick these out. Modules like this will luckily not see the light of day.

In addition, they have checks for plagiarism and you can monitor your store stability when installing or upgrading modules. This is also good news for every store owner who starts out small - they will have the benefit or doing more without a developer and lengthy support emails to 3rd parties are minimised.

Admin UI and UX benefits


The UI has been redesigned with a focus on mobile devices. M1 lacked this and was quite industrial looking. When I first started learning Magento admin years ago, it was overwhelming and the design didn't help. But new merchants just starting out, will most definitely appreciate the solid UI and UX.

So a quick breakdown of specific things that have been improved. For example, they have regrouped some of the categories so things are more easily found. Also, they’ve added the option to configure all fields in the order and products grids, which was not possible before. Now if you want to find all orders that have a specific payment method and some more conditions, it’s possible out of the box. You can also save specific segments or views for overview grids.

Checkout improvements


Creating an account is something that scares many customers away, in fact, statistics says that 23% of customers abandon their carts if they can’t continue without creating an account. With Magento2 the process is made simpler - if a customer enters an email that already exists in the system, then the password options will be introduced. In addition to that, the shipping rate calculations have been made faster.

Closing


Few merchants manage to grow a successful eCommerce business without the help of an agency or no technical folk. The few willing to push their comfort zones and starting to familiarise themselves with the basic technical logic will probably realise the benefits of M2 much quicker. However, the folk with little-to-no technical knowledge are in need of considerable help in translating the technical abilities into tangible benefits.

EAS

Quickmage is a high availability and decentralized hybrid cloud management platform based on sophisticated proprietary machine learning algorithms that makes application production much more coherent, synoptic, efficient and affordable. Quickmage platform is supported by European Regional Development Fund in the sum of 57 600 EUR (5.01.2017 - 31.07.2017).