• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    Spree vs Magento: A Feature List Comparison

    Steph Skardal

    By Steph Skardal
    June 7, 2010

    Note: This article was written in June of 2010. Since then, there have been several updates to Spree. Check out the current Official Spree Extensions or review a list of all the Spree Extensions.

    This week, a client asked me for a list of Spree features both in the core and in available extensions. I decided that this might be a good time to look through Spree and provide a comprehensive look at features included in Spree core and extensions and use Magento as a basis for comparison. I’ve divided these features into meaningful broader groups that will hopefully ease the pain of comprehending an extremely long list :) Note that the Magento feature list is based on their documentation. Also note that the Spree features listed here are based on recent 0.10.* releases of Spree.

    Features on a Single Product or Group of Product

    Product reviews and/or ratingsY, extensionY
    Product qnaNN
    Product seo (url, title, meta data control)NY
    Advanced/flexible taxonomyY, coreY
    Seo for taxonomy pagesNY
    Configurable product searchY, coreY
    Bundled products for discountY, extensionY
    Recently viewed productsY, extensionY
    Soft product support/downloadsY, extensionY, I think so
    Product comparisonY, extensionY
    Cross sellNY
    Related itemsY, extensionY
    RSS feed of productsNY
    Multiple images per productY, coreY
    Product option selection (variants)Y, coreY
    WishlistY, extensionY
    Send product email to friendY, extensionY
    Product tagging / search by taggingNY
    BreadcrumbsY, coreY

    CMS Features

    Blogging functionalityY, extensionY *extension
    Static page managementY, extensionY
    Media managementNY
    Contact us formY, extensionY
    PollsY, extensionY

    Checkout Support

    One page checkoutNY
    Guest checkoutY, coreY
    SSL SupportY, coreY
    DiscountsY, coreY
    Gift CertificatesNY
    Saved Shopping CartNY
    Saved AddressesY, extensionY

    Shipping Support

    Real time rate lookup (UPS, USPS, Fedex)Y, extensionY
    Order trackingNY
    Multiple shipments per orderY, coreY
    Complex rate lookupY, extensionY
    Free shippingY, extensionY

    Payment Support

    Multiple Payment GatewaysY, coreY
    Authorize.netY, coreY
    Authorize and capture versus authorize onlyY, coreY
    Google CheckoutY, extensionY
    Paypal ExpressY, extensionY

    Admin Features

    Sales reportingY, coreY
    Sales Management ToolsNY
    Inventory managementY, coreY
    Purchase order managementNY
    Multi-tier pricing for quantity discountsNY
    Landing page toolY, extensionY
    Batch import and export of productsY, extensionY
    Multiple Sales reportsY, coreY
    Order fulfillmentY, coreY
    Tax Rate ManagementY, coreY

    User Account Features

    User addressesY, extensionY
    Feature rich user preferencesNY
    Order tracking historyY, coreY

    System Wide Features

    ExtensibilityY, coreY
    Appearance ThemingY, coreY
    Ability to customize appearance at category or browsing levelNY
    LocalizationY, coreY
    Multi-store, single admin supportY, extensionY
    Support for multiple currenciesNY
    Web Service APIY, coreY
    SEO System wide: sitemap, google base, etcY, extensionY
    Google AnalyticsY, coreY
    Active communityY, N/AY

    The configurability and complexity of each feature listed above varies. Just because a feature is provided within a platform does not guarantee that it will meet the desired business needs. Magento serves as a more comprehensive ecommerce platform out of the box, but the disadvantage may be that adding custom functionality may require more resources (read: more expensive). Spree serves as a simpler base that may encourage quicker (read: cheaper) customization development simply because it’s in Rails and because the dynamic nature of Ruby allows for elegant extensibility in Spree, but a disadvantage to Spree could be that a site with a large amount of customization may not be able to take advantage of community-available extensions because they may not all play nice together.

    Rather than focus on the platform features, the success of the development depends on the developer and his/her skillset. Most developers will say that any of the features listed above are doable in Magento, Spree, or Interchange (a Perl-based ecommerce platform that End Point supports) with an unlimited budget, but a developer needs to have an understanding of the platform to design a solution that is easily understood and well organized (to encourage readability and understandability by other developers), develop with standard principles like DRY and MVC-style separation of concerns, and elegantly abstract from the ecommerce core to encourage maintainability. And of course, be able to understand the business needs and priorities to guide a project to success within the given budget. Inevitably, another developer will come along and need to understand the code and inevitably, the business will often use an ecommerce platform longer than planned so maintainability is important.

    Please feel free to comment on any errors in the feature list. I’ll be happy to correct any mistakes. Now, off to rest before RailsConf!

    ecommerce ruby rails spree cms magento