[UPHPU] I need shopping cart advice
Mac Newbold
mac at macnewbold.com
Thu Jun 1 15:56:55 MDT 2006
Today at 3:08pm, David Boucha said:
>> A custom cart may not be as hard as you think, and may not be a bad idea
>> since you've pretty much got custom products. That way you'd also be able
>> to make a step-by-step Candle Configurator (tm) that walks them through
>> the ordering process, explaining the wax and wick/no wick options perhaps.
>> Then it would only drop fully configured candles in the cart, and they
>> could manage things like quantity from there.
>>
>> It sounds like a fun project. Good luck with it, and if you happen to find
>> a good cart system that works out really well, let us know what it is.
>> Most I've found are so hard to customize that it takes longer to make them
>> look the way you want and do what you want than it would have to build
>> your own. So we generally end up building our own... :)
> Do you keep some code around that you share between shopping cart
> projects? Or do you code them up from scratch every time?
We reuse code from other projects as a starting point. We'll pick our most
similar one to what the new one needs, copy it's files, and customize it
to what they need. Some we've set up to be more self-contained than
others, but the overhead of making one, great, really general-purpose,
shopping cart system that we can just drop in is way bigger than the
savings in time on each one we set up. Almost every cart we do needs
something new that we haven't done before, and they at least need some
different combination of things.
By the time you factor in all the variables, there are a ton of things
that change from one cart to another. To take some examples from a variety
of carts we've done, here are some things that change:
- Shipping/Handling pricing structures (percentage, flat, per-item,
weight-based, free, multi-option, freight, special case (AK/HI extra) or a
mixture of several)
- Sales tax structure (most are utah only, but some have to charge tax
everywhere, and change rates by individual zip codes across USA, but not
at all internationally)
- Product options (none, same-priced options, different-priced options -
multiple options allowed, or mutually exclusive options - same options on
many products, or different options on each)
- Discount plans (coupon codes, bulk discounts, package discounts,
shipping discounts, percent discounts, flat dollar amount discounts,
limits on discounts, multiple discounts allowed and how to apply them)
- Product list (some have a limited and enumerated product list, others
have custom products and a practically unlimited product set with new
things being created on the fly. Configuring custom products, etc. Some
products are really services, and have different magic about them.)
- Sales Rep/Expert/Advanced mode (some carts need to let insiders enter
orders using a "pro" mode that gives them choices or options or other
entry methods (like direct by SKU) that aren't avaiable to customers)
- Payment (paypal, credit card, authorize.net, some other processor,
live/online processing or delayed/manual/offline processing)
- Order processing (usually send an email or two, often save in a database
and provide order administration area, sometimes integrate with internal
systems, sometimes deliver automatically, sometimes put order in a queue
for handling, sometimes generate printable receipts/invoices or other
paperwork, etc.)
- Shipping/Delivery/Pickup (some send it ASAP, some need estimates of ship
dates, some need to let the user schedule a delivery/pickup date and/or
time with a calendar. Some have time-sensitive ordering, like a cafe that
takes online lunch orders but has deadlines for ordering same-day meals.)
I don't think we've yet had two carts out of probably at least 20 or 30
that have the same answers to all those questions, even on the simplest
ones. So if you can imaging trying to build one reusable cart system that
handles all of that, it would be a huge mess and nearly impossible to
build and maintain. So we reuse where we can, but make each one custom to
what is required.
The last time I recall building one almost entirely from scratch was a
moderately complicated one that needed paypal, an enumerated product list
with some different-priced options and some same-priced options, and a
mini-gallery of product photos for each product. The whole project from
start to finish took 25-30 hours, including implementing a simple graphic
design and a dynamic php-generated CSS style sheet so they could change
the entire color scheme with the seasons, and loading and processing
hundreds of product photos. I don't know how that compares, but to me it
felt pretty reasonable considering all the functionality and stuff. The
cart itself was probably close to half of the total time, 12-15 hours.
If someone wants a cart that works almost exactly like an out-of-the-box
cart system, then it's probably a savings to go that way, especially if
the parts of the cart that you need are pretty complex (in other words,
hard to duplicate/reimplment).
If you need to depart very far from the normal default configuration, it
varies how difficult and time consuming that is, but some carts take a ton
of work even to put a new face on them that matches the rest of your web
site, even with a relatively simple design.
It's crazy, but over the years we haven't once found a way to make it a
win to use a ready-made shopping cart.
Mac
--
Mac Newbold MNE - Mac Newbold Enterprises, LLC
mac at macnewbold.com http://www.macnewbold.com/
More information about the UPHPU
mailing list