Posted on: November 17, 2009 in PHP, Technology, Coding

Is Magento right for your next ecommerce project

I recently launched a new ecommerce site using the open source package Magento. This is the first site I’ve worked on that uses Magento, so I thought I would jot down some of my early impressions.

- Tried the online demo, and loved the user experience and admin dashboard. Very polished UI for an Open Source project. (+1 for Magento)
- Huge download (-1 for Magento)
- Convoluted download process and scant details for the SVN checkout (-1 for Magento)
- The Zend framework. Magento is built on the Zend Framework, and in my opinion, the Zend Framework is like a hole in the head. Everyone has their favorite flavour of ice cream, so this is really just my personal preference, but coming from something like Rails to the Zend Framework is like running full speed into a brick wall. Does one really need an XML configuration file to point to the location of other XML configuration files? Yeeessh (-2 for Magento)
- Decent web admin tools to add products and create a catalog. Clients could (mostly) grok it. (+1 for Magento)
- Pretty straight forward to theme, although it could be easier. (+1 for Magento)

Totally subjective and largely meaningless score: -1 (Magento’s weaknesses slightly outweigh positives, in my opinion)

So in summary, Magento is a large, (overly?) complex code base with a great admin and frontend user interface. It’s fairly easy to skin, but I found developing custom functionality a drag. Keep in mind, this was the first Magento site I’ve built, and there’s always a learning curve for every project.

My biggest complaint though is something that I have trouble even articulating. It’s a “vibe”, if you will. Having worked on the Drupal project for a number of years, I have seen first hand how an open source project can (and should) be run. The Magento team could learn a lot from looking at the development processes that projects like Drupal and WordPress employ. For example, with Magento extensions, in most cases, it seemed to not be possible to download actual source code, but rather, you had to enter a key and then Magento would download the package for you. In almost all cases, it feels like the actual source code is kept away from end users. Where is the place to file, and track bugs against various extensions? Where can I browse the source code online? How can I contribute bug fixes? To me, an open source project should be more then trial ware, with an option to upgrade to a premium edition. Open source software is largely about community development, and I don’t see an active developer community hacking away on Magento.

Other alternatives: (open source) Ubercart, Spree (Monthly fee) Shopify, FoxyCart

2 Responses to “Is Magento right for your next ecommerce project”

  1. 1
    Mary Nicole Hicks Says:

    How can you say that Zend Framework is bad. If you came from Rails, Zend Framework is the closest thing you are going to get in PHP. Yes it is quite different, but it is a great improvement on other PHP based CMS that are currently being offered.

    If Zend Framework is not close enough to Rails for you, then I recommend that you avoid anything in PHP.

  2. 2
    Colin Brumelle Says:

    Hi Mary,

    It’s just a personal preference thing, and I know some people love the Zend Framework, but it’s just not for me.

    One thing I really like about Rails is it’s belief that “convention over configuration” is a good thing, and Zend Framework (at least how it’s been baked into Magento) could not be further from this. This may be more of how Magento utilizes the Zend Framework then an issue with Zend Framework directly.

    I love PHP, and use it on well over 50% of my projects, but I prefer to use tools that (in my opinion) play to PHP strengths and I feel the Zend Framework just misses the mark a bit.

Leave a Reply