Reader Response: A Simple, Streamlined E-Commerce Solution

Published April 8, 2009 by CSS Newbies.

Today, dear readers, I come to you with my arms wide open — and my shoulders caught somewhere between a slump and a shrug. I’ve been tearing my hair out over the last couple of months looking for the perfect ecommerce solution for my specific needs and wants. I’ve come up short.

But it occurs to me that I have a lot of smart, savvy readers here on CSS Newbie — and maybe, just maybe, you’ll be able to help me find the perfect shopping cart. Below, I’ll explain specifically what I’m looking for (and a bit about what I’m not looking for, too). If you know of a cart that meets my needs — or even just some of them — please do not hesitate to let me know! I’m hoping that the comments on this article will prove as plentiful as Starbucks on the open prairie. And twice as useful.

I Want a Simple, User-Friendly Cart that Stays Out of My Way.

That about sums it up, really. But for more detail, here’s what I want/need in a cart:

  • A self-hosted solution. If it weren’t for this requirement, I think Foxycart would be my #1 contender. Consider that a hint — if you know of something Foxycart-eque, but is self-hosted instead, please let me know!
  • Supports everything PayPal has to offer. Specifically, I want something that can support Website Payments Pro and the Payflow Pro gateway. This way I can handle payments on my site, but still take advantage of PayPal’s expertise, PCI compliance, and competitive pricing.
  • Flexible, straightforward templating. I am a front-end developer. Any cart solution that tries to stand between me and my code or that makes templating a holy hell isn’t a good solution. I want simple, straightforward flexibility. For example, I’ve been working with Magento a lot recently, and while it has a lot of great features, it’s a huge pain to deviate too far from the standard build. Every small change requires updates in multiple disparate files and hours of time for a five-minute job. My ideal solution would let me build my pages however I wanted, and just drop in the “cart” functionality wherever I cared to do so.
  • Good support of downloadable products. The stores I’m building will have both hard and soft goods, so I need the cart to work equally smoothly with both.
  • Built for LAMP servers. The ideal solution would run on PHP/MySQL, but I would consider other LAMP-friendly options. Sorry, but ASP/.NET solutions aren’t a possibility for me.
  • A single product database. This solution will be running multiple stores, but several of the stores will share some products. In the interest of avoiding redundant data, I’d like to have a single product database that all my stores can draw from.
  • Access to the source. I don’t want to have to wait for a team halfway around the world or a community of volunteer developers to get around to building the functionality I need if I think I could tackle the project myself. If I can’t have access to the source itself, an exceptional plugin system would be a good alternative.
  • A flexible discounting system. I want to be able to offer (as a fake example) 20% off orders of $50 or more on certain products. I want to discount items if people buy two or more of the same product. I want sales that run for three weeks, and expire automatically. Or at least some of those things.

That’s the basics of what I need, folks. That isn’t too much to ask, is it?

To summarize, I’m looking for a simple, straightforward shopping cart that makes templating a breeze, runs on PHP/MySQL, supports PayPal gateways, allows virtual goods and discounts, and is something I can install locally and modify. I do not need a solution that tries to be everything at once — it doesn’t have to contain a CMS, a catalog, or an inventory system. It doesn’t have to provide a newsletter, it needn’t compare items, and it shouldn’t try to walk my dog on Thursdays. I don’t want a jack-of-all-trades: I want a master of one (or two).

I also want to clarify: this does not have to be a free solution. If you know of a commercial option that does all this, I would be very excited to hear about it.

So! Let me know what you know in the comments below. Even if you know of a cart that fulfills some of these needs, I would be excited to hear about it — there’s always the chance I can customize it to do what I need from there.

27 Responses

  1. Clive Walker (reply)

    We have used ecommercetemplates.com for a while now. Despite the name, the benefits of this software is their generic ‘template’ can be integrated into a pre-designed website. The system just uses a series of PHP includes so it is relatively simple to integrate. Their system is now much more accessible and XHTML-validated than before and they do provide some CSS layouts although some of the core product display is still tables layout-based. On the plus side, I have found the software to be very flexible with a wide range of options that are easy to change. Pros and cons here I guess but I think they would cover a lot of what you have listed above. Email me direct if you have questions.

  2. Rob Glazebrook (Author) (reply)

    Erica: I’ve been doing some looking into Ubercart because I’ve heard good things about it. From the outset, the only thing I don’t like is that it ties me to a specific CMS (Drupal ain’t bad, but it is specific).

    Clive: Thanks for the link — I hadn’t heard of them before. I’ll need to do some digging to see how customizable the system looks to be. Initially, I’ll admit that I’m impressed. The site isn’t pretty, but the product looks pretty straightforward.

  3. Brian (reply)

    I have had pretty good luck creating carts from scratch using the eCart app for Dreamweaver from Webassist.

    I know this is not a complete cart, and it more or less requires that you use Dreamweaver, but most of the basic carts I put together take an additional two hours of developmental time to integrate into an existing site. How many times have you committed two hours to a preconfig cart only to be dissapointed with the results.

    PROS: You maintain complete control over the design of the site. If you use DW templates, you can change the look of an entire site in minutes. Tight integration with all aspects of Paypal, as well as other common gateways. Built-in integration with various shippers.

    CONS: Gotta have DW. One of your requirements was complex discounting. The wizard provided discounting is pretty simple. Some PHP coding and you can expand that feature.

  4. Pingback: B2B copywriting vs. B2C copywriting « B2C Talk

  5. Marya (reply)

    I haven’t used this solution yet, but a colleague just turned me on to Interspire. Seems to have all of the features you’re looking for. It’s a paid solution where you pay a one-time license fee of $295-$1795 http://www.interspire.com/shoppingcart/features.php.

    I’ve been using Core Commerce for the last few months, and have been pretty pleased – http://www.corecommerce.com/ecommerce-software-features.html.
    It’s a hosted solution for $40-$180/month (depending on # of products). Seems to have what you’re looking for, except I don’t think it has the multi store option. Support has been pretty decent.

  6. Ryan (reply)

    Hey Rob,

    Just wanted to throw up a quick response. I’m Ryan Szrama, the lead developer of Ubercart, and I’ll just say up front that I want Ubercart to continue to get simpler. It just isn’t there yet, though I am at least not unhappy with where it is right now. We know that some things aren’t user-friendly yet, but they’re at least manageable, and plans for the next round of development include improving the UI on top of features for which we had to start by nailing down the core functionality.

    So, that said, Ubercart is obviously self-hosted, though at this point we are requiring PHP 5.2. (Per your comment, I’ll definitely see what Foxycart has to offer!) Obviously this meets your requirement for running on a LAMP stack as well. The source is licensed under GPL, so it’s yours to brand and redistribute if you so choose. ; )

    We are a certified PayPal solution, meaning we have a fully developed PayPal module that ships with the core product and has been tested and verified by PayPal. We support WPS, WPP, and Express Checkout out of the box. There’s a patch in the works for recurring payment w/ WPP, and I’ve personally written a contributed module that offers Payflow Pro support.

    Modules? What? In case you’re unfamiliar, the reason Ubercart is tied to Drupal is because of the power and flexibility it offers as a modular, developer friendly CMS. Ubercart isn’t just a switch you turn on. It’s a package of modules that all offer different store functionality. During installation, you can decide what to turn on for your store. Modules even in core are written to interact with other modules in core. For example, we have a shipping quotes module that allows you to get calculated shipping quotes into checkout. Ubercart ships (hah) with a Flat Rate module and a USPS and UPS module for live rates. Another developer wrote and released a FedEx module that plugs into the same system. Another example is the payment sytem. Ubercart ships with a payment module that supports multiple payment methods, one of them being the core credit card module. This in turn allows you to enable a module specific to your payment gateway of choice, and we ship with modules for Authorize.Net, CyberSource, PayPal, Google Checkout, and 2Checkout.com. The solutions for taking CC payments on your side have been developed with PCI compliance in mind, to the frustration of many of our users used to insecure payment solutions. ; )

    So, instant, easy expansion of the feature-set with no core hacking. That was hugely important to us coming from an osCommerce background. As such, I hope it’s forgivable that we’d commit you to Drupal.

    Speaking of Drupal dependence, templating actually isn’t that difficult. You do have to understand how Drupal theming works, but there are good books and actually solid documentation on it at drupal.org. To whit – I just developed my first theme ever for a client. I started with what’s called the Zen theme (http://drupal.org/project/zen) and was able to knock the positioning and a lot of the font styling out in an evening during the NCAA Championship game. Drupal allows you great control of theming the components of your Drupal site, and since Ubercart sits in Drupal and uses the theme layer APIs properly, you have control over theming all the components of your cart. Disclaimer: we’re not there yet, and our HTML / CSS out of the box isn’t there yet. In fact, I’m dissatisfied with it and have a deal with Top Notch Themes (http://www.topnotchthemes.com) where we’ll review and commit any style changes they recommend to make theming easier. They’re actively developing high quality for Ubercart stores and selling them at an awesome price, and their help has proved invaluable thus far. Furthermore, they developed a free post-installation store setup guide that they distribute through their site and licensed the Ubercart chapter of Lullabot’s O’Reilly Drupal book for distribution with every Ubercart theme they sell.

    Ahh, did I mention they’re using Ubercart to sell their themes as file downloads? Since the alpha releases we’ve had support for file downloads, and it’s mainly due to the efforts of two of our core devs (one no longer around) and a guy named Erik from RiffTrax. They’re Mike Nelson’s company (from Mystery Science Theater 3000) and they use Ubercart to sell tons of his Riff Trax, funny commentary for movies. (I’ll also mention that they even allow users to upload and sell their own Riff Trax, a sweet customization of Ubercart enabled by the Market Place module that someone else developed.) So, again, file download support isn’t perfect, but we have a developer actively “owning” that module to make sure it shines.

    Regarding multi-site stores, we’re treading into unexplored territory. People have done it and are doing it (for example, see this write-up on Drupal.org for Row Eleven Win Co. – http://drupal.org/node/369398), but I’m not sure they’re doing it in the way you’re describing yet. I actually do have a client who’s interested in this, so maybe a solution is closer than I know. My basic idea is to use Drupal’s Domain Access module (http://drupal.org/project/domain) which allows you to run multiple sites off the same database. You can theme them differently, show different products on different sites, but at the end of the day all orders should be possible through a single Drupal site (and by extension, a single Ubercart store). I think the only snag I’ve come up with so far is allowing people to purchase products from multiple domains / sub-domains at the same time with this setup, but maybe that’s not important to you.

    And last… discounts. The bane of our happy existence. So many people want so many different things, that a flexible discount system that makes everyone happy is darned near impossible. However, I’ve recently been using and working with Lyle, the project’s co-maintainer, to get a discount system that works through Ubercart’s core “Conditional Actions” system. Don’t fret too much about what CA is… the short version is it allows you to configure actions to take place at different times if a set of conditions are met. i.e. With the discount framework enabled on your site, when a product is loaded for display, you can add a discount to it based on the date, the user’s role (think reseller discounts), or any number of other conditions that CA comes with out of the box. If a condition doesn’t exist, you can write one and expose it to CA, like I did for a client to apply a discount to a product based on the affiliate code a customer used when visiting his site. Is this a perfect solution? Nope. CA itself isn’t a perfect solution, and its UI is one of the main things I was thinking about when I said our UI needs some work. But it is flexible, it is embedded in Ubercart core (also governing things like shipping quotes, taxes, automated order workflow, etc.), and it gives a lot of power to users who can’t write a single line of code.

    So, to quote, “That’s the basics of what I need, folks. That isn’t too much to ask, is it?”

    It’s not too much to ask, but no one’s put it all together in a simple, user-friendly way yet. We’re moving in that direction, but we’re doing it in the open as a community (read: we’re not getting there as fast as any of us would like). We could sure use your help. : )

  7. Richard Angstmann (reply)

    I would definitely suggest that Jshop Server (http://www.jshop.co.uk) is worth a look at. It covers many of the points you mention, self-hosted, PHP/MySQL, flexible discounting. A ton of Payment gateways, and great templating and use of tags. It is also in constant development which is always a good thing. Has a few quirks here and there, but I think most carts do. No dealbreakers though I don’t think.

  8. Sarah (reply)

    Have you considered Prestashop? I’ve been working with it a lately and have been very impressed with it. At this time they don’t support multiple shops, but I understand that is coming. The biggest problem I have with it is a lack of documentation in English. That will change with time though.

  9. Pingback: Bluewire Media Web Design Blog » Blog Archive » Weekly round-up

  10. pace trailers (reply)

    It’s hard to find knowledgeable people on this topic, but you sound like you know what you’re talking about! Thanks

  11. cufflinks ebay uk only (reply)

    Good day very nice site!! Guy .. Beautiful ..
    Amazing .. I will bookmark your web site and take the
    feeds also? I am satisfied to seek out so many useful information here in the publish, we need develop more techniques on this
    regard, thank you for sharing. . . . . .

  12. argent facile (reply)

    Please let me know if you’re looking for
    a article author ffor your blog. You have some really great posts and I believe I would be a good asset.

    If you ever want to take some of the load off, I’d love to
    write some articles for your blog in exchange for a link back to mine.
    Please blast me an e-mail if interested. Kudos!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>