novusweb — The Art & Science of E-commerce

View Original

About Magento 2

Already, people are starting to buzz about Magento 2, which, from initial looks, appears to be a giant leap forward for the world's most dominant open-source e-commerce platform. As a Magento maven, we're keeping my eye on the development process, and plan to discuss various insights over the coming weeks.

Magento 2 is Needed

While Magento 1.x has certainly become the 800 lb gorilla among open source e-commerce platforms — particularly after eBay bought Magento earlier this year — it remains one of the most daunting platforms with which to work. Its architecture can be criticized for being bloated and a performance hog. Designers who are familiar with PHP or MVC cringe when asked to work on a Magento project because the design process is not as convenient as other platforms.Yet anyone who thought Magento was listening certainly is foolish. Any company as driven as Magento certainly wasn't about to sit back and wait for someone else to take over the lead. There are some strong competitors, of course. OpenCart remains popular, particularly for small e-tailers. And the hosted providers, such as BigCommerce and Volusion give Magento Go a run for the money. In fact, I suspect — although I have no hard facts — that BigCommerce is leading the pack in that class.Having wrestled with Magento over the past few years, I've often said, "Magento would be great if it..." more times than I care to count. Not, that's not to say that Magento is a bad choice for an e-commerce platform. Nothing can beat the number of features, especially when it comes to managing multi-stores, languages, and currencies. But, it could be made an easier behemoth to manage.

Magento 2 Goals

Keeping with the open-source mantra, Magento 2 development is hosted at Github, which gives us all an inside peek to the evolution of the next Magento. In fact, Magento is leveraging input from the Magento community to help with the development process.There is also a wiki for Magento 2, which begins by outlining the goals for Magento 2:

  1. Clear Processes and Transparency. Throughout the development process, the Magento 2 team is committing to provide the public (us nosy developers) a clear development roadmap, a public code repository (i.e., GitHub), and system health reports (not sure what system needs reporting, but we'll take that as a good thing to have).
  2. Improved Product Quality. Magento has suffered, I think, from a rush to get improvements to the marketplace. While I was writing Mastering Magento, I was working with version 1.5. Before we finish editing the book — within a span of about 8 months from start to publication — Magento moved quickly through 1.6 and into 1.7. The boards at the Magento website continue to fill with the frustrations of users who run into bugs that are many times difficult to pin down. Undoubtedly, Magento understands that having a product with higher quality could translate into larger revenues (just look at how Apple can command higher prices due to the high quality of their products). To meet this goal, Magento is requiring a) that QA methods be clearly determined, b) that QA be faster and more streamlined, c) that the Magento code fully meets the requirements and intentions as specified, and d) that upgrading Magento won't be a nightmare (my interpretation). I'm especially hopeful about item "d," as upgrading from any 1.x to a higher 1.x most often meant simply starting over; upgrading was never pretty or straightforward.
  3. Improved Product Performance and Scalability. With Magento 1.x, you basically had the Community version for single-server installations, or a huge price jump to Enterprise for larger, scaled installations. While the particulars listed for this goal don't reveal any future difference between Community and Enterprise (or what versions will be offered at all), we can hope that creating a Magento that could scale and run efficiently on shared or virtual hosting environments would be the outcome. And what a glorious outcome that would be!
  4. Improved Product Security. Magento, like most platforms, has been subject to vulnerabilities, whether by code or omission. In this goal, Magento states a strong commitment to ensuring the code will survive any test against the Top 10 application vulnerabilities as provided by the Open Web Application Security Project.
  5. Truly Modular Product. Oh, Magento tempts us with this one! I cannot count the number of times extensions have conflicted with one another, or with other modules within Magento. Nothing spoils the prospect of adding a wonderful new functionality to an online store than to be faced with constructing hacks or uninstalling code that has intertwined itself fatally into your installation (always test code on a staging installation first!).
  6. Improved Web API. Another of Magento 1.x's inherent weaknesses, although improved with later versions. By extending the functionality of the core API, more and more third-party services and applications will be able to integrate. Yea!
  7. Support of Different DBMS's. One of the criticisms of Magento, especially from large-scale competitors, is that Magento runs on MySQL instead of more industrial database workhorses, such as Oracle or Microsoft SQL Server. Magento 2 is committed to optimizing the code to be compatible with MySQL, Oracle, Microsoft SQL Server, and Postgre SQL. According to the goal, other databases could also be integrated without tearing the code apart.
  8. Simplified Customization Process. This vaguely titled goal, I'm suspecting, will introduce new tools for customizing a Magento store without the complexity of layout XML files, static block declarations, and copying numerous files within the Magento installation just to add or adjust a design feature. We'll see.
  9. Improved Multiple Languages Support. I think Magento's current multiple language integration is quite spectacular, in that you can localize Magento without necessarily digging into any code. It's really a quite elegant solution. That said, there is more than can be done to make Magento a truly global platform.
  10. Decreased Learning Curve. If you read into this goal, it's not necessarily suggesting that Magento will be easier to learn. It is suggesting that documentation will be better and more aimed at helping new Magento users understand the platform better. Will that lessen the need for Magento books by outside authors (such as myself)? Maybe, but I doubt it. There are lots of platforms and applications with fairly decent documentation that still spawn libraries of third-party guides. This goal does, though, show that Magento understands that their current online documentation is, in my opinion, virtually useless.

What's Next?

With my curiosity piqued, I'm off to dig around the repository to see what they've come up with so far. Look for my discoveries and impressions in future installments.