Settings

Theme

Magento is dead – Merchants want a suite of marketing tools, not refactored code

jmk.io

39 points by peterjaap 12 years ago · 54 comments

Reader

debacle 12 years ago

Magento has been poor software since Varien started trying to monetize. It has always been slower than necessary, a huge resource hog, and relatively complex to configure.

The real problem is that there is nothing better out there.

Magento is the Drupal of the eCommerce world - relatively prominent, but almost universally reviled by developers and not all that easy to use for users. It's the worst of many worlds.

It's too bad, really. Five years ago I was really excited for Magento, but within months I realized that it would almost universally be cheaper (from a development standpoint) to write an eCommerce project from scratch than use Magento - it takes you 95% of the way there in a lot of ways, but that last 5% is critical.

  • at-fates-hands 12 years ago

    >>>Magento is the Drupal of the eCommerce world - relatively prominent, but almost universally reviled by developers and not all that easy to use for users. It's the worst of many worlds.

    This a thousand times.

    I've used both and as a developer it was incredibly painful to customize either for any specific feature or function. The first time I upgraded Magento, it completely broke the client's site. A nice Sunday afternoon was spent hacking together plugins to fix what the update broke.

    Both are horrible to work with and I shudder anytime someone suggests it to me for their ecommerce platform. You'd be better just hiring a .Net developer and have them build you something from scratch.

lsaferite 12 years ago

While this article may be correct on a few points, the idea that Magento should bundle every feature under the sun is silly. That is what the module marketplace is meant to provide. And even some of the features tagged as missing ARE provided in the Enterprise Edition if you are inclined to pay for a license.

I think the bigger issue with Magento 2.0 is the missed opportunity to use the backward compatibility breakage to clean out some of the horrible bits of home-grown code in Magento and replace them with 3rd party libraries.

If anything, I think Magento should actually drop features from core and become a solid platform for others to build upon.

EDIT: Speeling :)

justincormack 12 years ago

I havent looked at it recently, but the code used to be awful, which is perhaps where the rewrite comes in. But giant PHP applications with even more features are not really the future, these things need to be built as sets of APIs and libraries that you can put together to add the features you want (which are complex).

  • James_Duval 12 years ago

    It is indeed still awful. I know someone who works in Magento and they frequently come to me with genuine WTF bits of code. Added functionality would be a nightmare.

    A rewrite is sorely needed, and will help developers who have to work with and on Magento to save their bosses time and money.

gesman 12 years ago

From the developer's perspective Magento is a maze of spagetti nightmare.

The cost to maintain it, adding custom extensions and keep it up and running as a whole is way, way more than using off the shelf SaaS ecommerce solution.

  • weaksauce 12 years ago

    Absolutely the worst maze of spaghetti files. To get anything done on one page you had to edit a few different deeply nested partial files. I hated working on it.

    • aeno 12 years ago

      I assume you have never worked with xtCommerce... My first experience with eCommerce applications was xtC 3 and that thing really got me headaches...

      • weaksauce 12 years ago

        At the time it was supposed to be the best eCommerce solution out there. Tried it and it was painfully slow to both develop for, to administer, and for the customer to use.

c0n5pir4cy 12 years ago

Every single little thing he mentioned shouldn't be in the core product. Magento is not an all in one marketing, shop and aftersale solution; it is an eCommerce platform. Anything above/beyond that should be a plugin/separate solution.

  • ForHackernews 12 years ago

    That's not the way the small businesses that use Magento think. They want one, all-singing all-dancing tool that does everything they could ever imagine wanting. And they never want to update it or maintain it or have to think about it.

    • theseanstewart 12 years ago

      I run a web dev company and we specialize in ecommerce. What you're saying couldn't be further from the truth. Our clients want a shopping cart that can evolve with their functional needs. Magento does just that in its current form. From a marketing perspective (which we also specialize in ecommerce SEM/CRO) Magento can handle everyone of our objectives with a module. If not, we build one.

      Everyone on HN gloats about Shopify. Shopify is a plain ecommerce platform with a simple to use backend that also implements these marketing functions through plugins/extensions/modules. The difference is that with Shopify your functional needs can't always be answered as they evolve.

      Other self-hosted ecommerce platforms are still playing catch up with Magento. It's not a perfect solution, but it's still the best one out there.

    • lsaferite 12 years ago

      I think this is a legacy from how Magento became popular. They didn't target developers, they targeted merchants and had an amazing marketing drive to get the foothold. This drove adoption from the merchant side. As a developer I would have never pushed Magento as from the early betas I was horrified at things like the EAV system.

      The core platform should be one thing, and the features should all be 100% modular. If you want the all-singing all-dancing version then you could just have a config tool on the website to generate your specific bundle of core + features. Decoupling the features from the core allows the feature set so shift over time to track merchant expectations while still maintaining a solid platform to build upon.

    • mgkimsal 12 years ago

      And they also want it to adapt to the changing needs of their business and the wider marketplace. Without upgrading, modifications, downtime, adjustments to how they work, or having to pay anything extra.

      Did I get close? :)

      • lsaferite 12 years ago

        You missed free. They expect it to be free or practically free. I mean, it's an Open Source project, why should they have to pay for anything?

      • ForHackernews 12 years ago

        Don't forget they want it to always run perfectly with no downtime on bargain-basement shared hosting. Overloaded database? Don't bother me with your technobabble mumbo-jumbo!

  • lsaferite 12 years ago

    I 100% agree with this.

    I honestly think Magento should basically drop almost every core 'feature' and just become a rock-solid platform to build upon.

    • al2o3cr 12 years ago

      I'm not sure the developer ecosystem that Magento currently has would be responsive to that - I only worked with it a little, but it seemed like 75%+ of the "solutions" to issues people ran into were provided by other devs saying "well, if you pay $$$ for my FooBarBaz plugin that problem will go away".

      • lsaferite 12 years ago

        I'm not sure what your point was. You described exactly what I was saying should happen. The core is just a platform to build upon and all the features you want are simply modules you add to the core. Now, if the modules you want are free or not is another story.

seivan 12 years ago

The developer hostility in this is astounding.

  • Rantenki 12 years ago

    Strongly agree that this is ludicrously hostile to devs. This statement here:

    "This is how developers keep themselves employed: by regularly clusterfucking your code."

    Ummm, no. This is what happens when feature requirements are poorly communicated over a long period of time, combined with implementing every half baked or ill advised feature asked for by the marketing team. You know, stuff like "automated SEO using artificial intelligence".

    I have worked on Magento, and agree that it is painful and convoluted, but it's a bit hard to believe that every single dev that has contributed to it was either stupid and/or malicious. Hopefully, moving to a community driven approach on 2.0 will actually clean up some of the technical debt and make the product more reliable, although it's more likely that it's just going to result in future feature adds coming from more numerous stakeholders with conflicting visions.

    Hopefully the Magento management can manage all that input and stay focused. What they absolutely need to ignore is misguided and obviously clueless (or even malicious) feedback like this article.

  • tokenizerrr 12 years ago

    Yeah, seriously. The entitlement. My favorite was

    > automated SEO using artificial intelligence;

    • mariusmg 12 years ago

      Most likely he meant generating page keywords/description using the product name and details.

      A very fancy way of putting it, but something very common sense from a business perspective.

      • lsaferite 12 years ago

        But still, not something that should be baked into the core platform. Perhaps your idea of how it should work is different from a large portion of merchants. Why should one version or the other become a core part of the platform for every merchant.

        Even if the module providing a 'core' feature is written by Magento, it shouldn't be in the core project but should be treated just like any other 3rd party module.

        Ultimately you want a core platform that is rock solid and extensible. That's what a good integrator then build out either from the low-end of just adding and configuring OTS modules to the high-end of bespoke modules.

      • lowmagnet 12 years ago

        If store A and B sell a product for the same price on all levels, I don't want a search turning up A because they did better SEO. I'd much rather they punish A for gaming the system.

        We shouldn't be encouraging this shit, and we be giving the SEO 'experts'[1] the cold shoulder.

        [1] About secret algorithms? Yeah, right.

  • trapezor 12 years ago

    Indeed, he should just shut up and program all of that himself and put the source code on github. He, without developers slowing him down he's probably finished in a week....

tramov 12 years ago

Magento's largest problem is that most people who look at it assume it is like Wordpress. Download, click install, change the theme somewhat and get started.

Very unlike Wordpress this is hard. So you either shell out cash to outside developers (a healthy enough marketplace exists) or pay the price in learning how to program it yourself.

Enough decent materials on how to do this exist but it is definitely not aimed at weekend programmers.

  • aleachjr 12 years ago

    I don't think anybody would disagree that Magento has a pretty healthy learning curve. Additionally, there are too many companies out in the world who are just looking for the cheapest developer that they can find. This combination creates a huge problem. I would venture to guess that most weekend PHP developers think that they are capable of developing in Magento. I mean, do you think you can take on any new PHP project and figure out how to make it work? While some may have skills to do such, it is the large marjority that do not have the drive, desire, or knowledge to do this the right way. In the end, it is this group of people who are giving others in the Community a bad name. They hack Mage code, lack even basic development skills, and leave projects in an even worse position than when they started. The Magento community can only do so much in education and help. Additionally, Magento recognized that this was a huge problem and started providing training with Magento U. While this may not be cost effective for every developer in the world, at least Magento has acknowledged that this need exists and continues to provide training and new programs on an ongoing basis. TLDR, Magento is complex, and complex systems are not meant for every developer in the world. Pick your developers wisely and they will not burn you with bad code. Magento representation in 26% of the market sure does not seem dead to me.

Zyava 12 years ago

Half of points aren't true, for some other there are extensions in Magento Connect...

username42 12 years ago

Refactoring is something that has to be done before adding features. If you first start by adding features, ignoring the fact that the code needs refactoring, the code becomes impossible to maintain. Stopping development of new features during refactoring is also a good pratice. Obviously, the anti-practice is to refactor so often or to spend so much time refactoring that nothing useful is developed.

happywolf 12 years ago

I have been using Magento Enterprise Edition (EE) for 6months on a production sites in Europe and US, with total revenue so far exceeds a few million dollars. The reason I mention this is to give everybody a context of my comment and background. I work for a large company, so the money doesn't go to me.

To be fair, some of the features mentioned, for example abandoned cart reports, do exist in Magento EE. While some features like consumer profiling don't really belong to an eCommerce platform. Instead, those belong to CRM (consumer relationship management) tools. One of the reasons CRM is an independent system is a lot of shops have offline presence also, and lumping CRM features into eCommerce platform unnecessarily complicates things. There are extensions to sync between Magento and a few CRMs.

My wish list for Magento: built-in A/B testing, and multiple campaign management.

ceejayoz 12 years ago

> A developer focus on Magento 2.0 gives us jQuery, OWASP security policies, faster product imports, better performance and less CSS. But it does nothing to advance merchant's needs.

Merchants don't need security, performance, and a more easily developable system for the developers they hire to build on?

  • tokenizerrr 12 years ago

    Of course not, it's just silly developers creating spaghetti code to keep themselves in business /s

adnam 12 years ago

My main problem with Magento was it's lack of an API to integrate with 3rd-party systems. Someone implementing a competitor should start with a decent API, and build the interface on top of that. If I had time and money, I would do this myself.

Also the EAV database was horrible to deal with.

  • conradfr 12 years ago

    Each time I had to do a Magento (CE) site I fantasized about doing a concurrent platform.

    But I know better than to think one average dev like me can do that so instead I just vow to never work on a e-commerce site again.

    FWIW Magento or Prestashop can really make you a very decent e-commerce site quickly and cheaply. Hard to really complain when they offer free versions.

    But still, Magento can sometimes calculate VAT wrong (among other things) ! You would thought being an e-commerce platform it would at least not screw that.

  • rch 12 years ago

    Is it going to use a similar scheme after the rewrite?

coldcode 12 years ago

Apparently spell-check is also a dead technology.

clark-kent 12 years ago

These are features that an e-commerce SASS could build into their service, it obviously creates a huge mess adding such features into the core of a platform. Some of these features could also fit in a plugin but it really sounds like OP needs a SASS.

danielweber 12 years ago

Anyone have a cache?

EDIT: here it is. No infringement intended.

Magento has been in decline since Varien sold to eBay. Magento Community Edition is dead. Magento Go is a failure surpassed by Shopify. Magento CE releases have dried up.

So now what?

Magento 2.0 sounds promising. However, Magento 2.0 is lead by developers-only. No marketeers are involved to communicate merchant needs. I have tested Magento 2.0 dev60 and it is nothing more than a technical rewrite. Magento 2 offers the same feature set as Magento 1. You'll just need to pay a developer to migrate all your 1.x extensions to 2.x, since there is no upgrade path.

But the community cost of everyone moving to Magento 2.0 ranges in the $USD 1 billion. This is how developers keep themselves employed: by regularly clusterfucking your code. A developer focus on Magento 2.0 gives us jQuery, OWASP security policies, faster product imports, better performance and less CSS. But it does nothing to advance merchant's needs. Magento is missing a most important suite of marketing and sales automation tools.

Here is some features online merchants really dream about:

built-in A/B testing; integrated social media ROI tracking (e.g. SumAll statistics); sales automation tools: abandoned cart reports, automated follow-up emails, automated payment reminders; consumer behavior profiling to live-target marketing efforts based on behavior; customer persona segmentation such as "single men / mothers with children / affluent customers", to increase marketing effectiveness; easy-to-use multi-site and multilingual installations (Magento is cumbersome); helpdesk ticketing system, built-in live chat; built-in onestepcheckout; automated SEO using artificial intelligence; scheduled product imports to update product prices, stock, images attributes - including the ability to create new products and disable out-of-stock products; automatic product categorization based on product description content; social ecommerce ("share this product" with product landing pages for Facebook/Twitter); clever discounts such as bundled product discounts: "buy A+B together, get 5% discount on B"; built-in product XML/CSV exports for ciao, kelkoo, thefind, google and so forth; built-in newsletter or at the very least built-in Mailchimp support (with automatic setup); None of the above features are going to be implemented in Magento 2.0. What is the incentive to move to Magento 2.0? There is none. Do merchants really need the latest gimmicky "html5" technology? Mercahnts need a suite of sales and marketing tools that help drive their business.

So again, like before Magento, there is a huge market potential for ecommerce software that offers the right marketing tools. Magento is dead. But who will bridge the gap? Shopfiy? Wordpress Woocommerce? Drupal Commerce? Each of these new projects is gaining on Magento's lead. My prediction is that Magento 1.x adoption has peaked and Magento 2.x adoption will never happen. Instead, The People will switch to far more advanced alternatives. Advanced in terms of marketing that is, not jQuery.

  • ForHackernews 12 years ago

    It was probably running on Magento.

  • camus2 12 years ago

    > So again, like before Magento, there is a huge market potential for ecommerce software that offers the right marketing tools.

    I agree 100% . The question is on what plateform and language should it be written (to be successfull) ?

  • pistle 12 years ago

    I wish this was how the lion's share of articles were re-aggregated. Thanks

  • madaxe_again 12 years ago

    The problem with Magento, like so many other OSS eCommerce platforms, is that of extensibility (or lack thereof), and the ensuing technical debt.

    We've been making eCommerce solutions (not just sites - CRM, warehouse management, analytics, lots and lots of marketing tools) for nearly a decade now. We started out with OsC, played with Magento, and saw, 8 years ago, that the strategy of these platforms was, well, broken.

    How? Well. Let's consider the typical scenario. Joe sells kites. Joe wants a website that helps him sell kites. Magento looks like it does what he wants, as it's got a cart and all that stuff. Joe finds a contractor who looks good, and has decent references from his current clients. They start work. Part way through the build, Joe realises that he wants to sell custom-printed kites, and to do this, he needs to take a deposit, and then charge the customer the balance. "Uh-oh", thinks the developer, "I'm on fixed costs, and there's no plugin for that. The architecture is a nightmare... screw it, I'll just chuck it in the core and worry about it later". Joe is happy, as his site does what he needs it to, and the developer is happy because he got paid.

    Six months later, Joe reads about a security update, and wants to apply it. His developer sucks his teeth, and applies it, manually re-patching in his previous hack, because making a plugin is hard, m'kay (never mind that in many scenarios, you can't make a plugin to make whatever you need to happen, happen). Joe wants another addition, and another hack is born.

    This cycle continues for a while, until the developer fears looking at Joe's code-base, and Joe is pissed off that everything takes a long time, and that upgrades can't be done/take forever, because the developer is having to re-implement, and re-implement, and re-implement, rather than move forwards.

    The other side of this is that a magento install will run a magento site - not ten, not two on different databases, and no mix-and-match of either, meaning that you end up with a whole bunch of code-bases, many of which differ, even if you're a shop exclusively running magento for your N clients.

    It's not clear who Magento is built for. It's not for developers, as it's painful to work with... it's not for the end user, as the front-end experience is so-so at best, and again, hard to customise without screwing up upgradability... and it's definitely not for the merchant, as it's featureless, barren, slow, and ultimately expensive to run.

    So what we did was build an eCommerce platform where everything is extensible and overridable. Core method doesn't quite do what you want? Not a problem, write a client-specific one, just keep your interfaces consistent, and you won't break maintainability. You can upgrade the core with impunity. You can hang as many sites as you can grind out off a single install. We deploy continuously.

    As a result, we've been able to focus on building features marketeers and merchandisers want, by being able to build something once, respond quickly to market and client demands, and roll it out widely with minimal effort - rather than being stuck on the terminal treadmill of broken upgrade paths.

    • benmarks 12 years ago

      "It's not for developers, as it's painful to work with..."

      There is a learning curve, made steep by the esoteric MVC approach and initial lack of documentation. However, there is now a wealth of material available for learning and reference. Magento is opinionated as a framework and in its domain modeling. You mention your homegrown application; how easy is it for developers to spin up on your application, and how well would it satisfy & improve things as a drop-in app replacement for the hundreds of thousands of Magento instances out there?

      "...it's not for the end user, as the front-end experience is so-so at best, and again, hard to customise without screwing up upgradability..."

      Frontend experience - I'd say mostly okay, but I'll not fight you on "so-so at best". However for customizations, upgradability and obedience to DRY are the underpinning of the theming architecture. Again, lack of documentation was an issue at first (I remember duplicating the default themes for customization purposes when I first started out), but there is ample documentation now. I am most disappointed with the power given to templates, and I think this is the only legitimate gripe.

      "The other side of this is that a magento install will run a magento site - not ten, not two on different databases, and no mix-and-match of either, meaning that you end up with a whole bunch of code-bases, many of which differ, even if you're a shop exclusively running magento for your N clients."

      If this is an issue, you're doing it wrong. I would like to know more about how Magento cannot be a library for you to manage in VCS for your clients. There are SaaS offerings based on Magento, but at the point of building a SaaS you are beyond the edge of the intent/target of the problems which Magento is built to solve.

      "...it's definitely not for the merchant, as it's featureless, barren..."

      /me looks at all the routes in the admin and at the Connect marketplace...

      "[it's] slow, and ultimately expensive to run"

      Would like to know your numbers for this. Scalability is a concern, as Magento vertical and horizontal scaling are both costly.

    • digitalengineer 12 years ago

      Okay, you got my attention. What is your product? (Your profile is empty).

    • jtfairbank 12 years ago

      So what's the platform then? Is it available to others or open sourced? :D

    • martindale 12 years ago

      What eCommerce platform have you built?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection