We researched a bunch more carts, and selected PrestaShop and Magento from the heap to learn to use. I’ve muddled my way through literally dozens of cart types and managed to make them work – some well, some not so well. Magento defeated me, and becomes yet another to be added to our “Never Again” list. Understand… I’m not stupid. I am pretty experienced now at templating, setup, and other common aspects of a range of dynamic software. I teach classes on this stuff, through a highly credible institution.
If you’ve wandered around in the cart world, Magento is getting rave reviews. At least, it sounds like it. But most people who choose not to use it just wander off, and never say a thing, because they somehow think maybe they were the cause, perhaps not smart enough.
It fails our tests on three critical points:
Design, Function, and Sustainability.
1. Templating is a nightmare. I kid you not. They not only scattered the template bits through about 200 files, they threw XML into the mix for no other reason than just because someone could, I guess. It feels very much like they happened to have someone who was all happy for XML, who just wanted something to do, so they let him work it into the templates. Unfortunately, for most designers learning how to template a cart, in a hurry, learning to apply yet another coding language, with proprietary usages, is not only inefficient, it vastly complicates things. Think I’m exaggerating? Look around. Algozone, Template Monster, and a number of other sites have Magento template areas with not ONE THING in them. All of the freely available templates for Magento are merely a variation on the default theme – many have just changed a graphic or two, no real significant changes are made. That says loudly that it is so difficult that even template gurus are avoiding it.
2. Bugs. Things just didn’t work. Simple things, like categories. And the fix for one was likely to cause something else to break. Some features didn’t quite work yet, because they are still on the drawing board. Some were supposed to work, and didn’t. Overall, it was surprisingly stable in some functions given the relatively young age, but it lacked stability in some rather basic areas.
3. Updates. Ok, so we NEED updates. And we expect them. In fact, one of the criteria for “good” Open Source software is that it have an active developer community. Magento feels a little more like being thrashed by Hammy. I downloaded and installed version 1.1.3, and tested it – the next morning there was a notice that 1.1.4 was available. I then downloaded and installed version 1.1.4 just a few days later. Within a week, there was a notice that version 1.1.5 was released, with a critical security update. Ok, I can see that. But then a week and a half later, version 1.1.6 was announced. Each update required a tedious install procedure (more tedious than the simple ones, but even simple ones would have been annoying every week!). Considering that each update had the risk and very real possibility of breaking something, it was simply too fatiguing to contemplate actually trying to manage a site in this for a client. How the heck could I afford to maintain it at my usual rates? And how in the world could the client afford to pay more just to keep up with an ill-planned update schedule? Many can barely afford even a small fee each month.
Given the complexity of templating, the lack of existing templates that would be easy to change, I’d have to charge considerably more to my clients for setting up the site. Given the bugs, they’d pay more, and get less than they expected. Given the update schedule, they’d be squeezed for even more to keep the thing running without unacceptable risk, and their site would be down once a week for updates and troubleshooting after doing the update.
I think that Magento has potential. But I think that it is immature, and that the templating is overly complicated without a benefit that even begins to justify the complexity. And the update schedule is simply insane.
This is one reason I have waffled back to the position of giving CRE one last chance. Because I keep getting told by other developers that there are plenty of other options. But there really aren’t. There are a LOT of potentials. Plenty of possibilities for tomorrow.
But today, we have only the choice between solutions such as PrestaShop (promising, functional, but lacking in at least one critical feature set), Magento (nuff said), Zen (clunky setup, awkward templating), CubeCart (I REFUSE to hand edit code just to get basic features, and then have to hand edit it again every time the cart needs a patch installed!), VirtueMart (functional, usable, but lacks key functions), Agora (PULLEEEZE… it has ONE shipping option… Anything else you have to custom code!), or any number of other almost but not quite usable cart systems out there that people use only because they don’t know that they shouldn’t have to spend all those extra hours setting up or maintaining a cart.
I’m not just complaining and trashing systems left and right. We are involved at a more practical level – reviewing and publishing reviews is necessary, I think. But actually working on the projects that can meet the need is also important. And we’ll keep doing that too. Sharing our knowledge of how to do things in CRE and Joomla, sharing our custom modifications for VirtueMart, making our auto-install systems available for others to use.
The need is there. And as long as our clients need it, we’ll fight to get it, and help create solutions.