About the Cart
Shopping cart software can be broken down into 3 pieces: storefront, information collection and transaction processing. The rest of what a cart comes with is related, but not crucial for the selling of products.
- Storefront: This is the cart system that people most likely think of first when they think of e-commerce. This is the front end, or what the customer uses to look at your products. The usual method carts use is to present a tree of categories of products, which narrow down to individual products. The user would be able to select the product and perhaps pick from some options such as color or size. They would then choose a quantity of the individual product and place it in a cart which is a holding bin which allows them to shop the site further and purchase many different products in a session.
- Information Collection: This is asking the customer for identification, shipping and transaction information: filling the forms to purchase the product.
- Transaction Processing: Actually making communication with the bank in order to process the transaction. Money moves from customer’s bank to your bank.
Functionality
On top of this core, there are many more features that can be tacked on to the cart. This is part of the reason for what has to be the tens of thousands of carts which are in existence now. Features might include:
- Product limit: How many products can be in the cart.
- Category limit: How many categories you can make.
- Multi-language
- Gift Certificates
- Loyalty program: Discounts based on repeat purchases.
- Email merchant on order: Email sent when an order occurs.
- Affiliates program: Others are able to refer customers to you and get a percent of sale.
- Site search: Search for products.
- SEO Tools: Take into consideration good URL and Code practice.
- Product Reviews: Allow visitors to comment on products.
- Newsletters: Emailed to your customer list and offer information and coupons.
- Discount coupons
- Customer registrations: Customers are able to login on a revisit, their information is stored and they don’t have to reenter.
- Wish list: Customers can make a list of what they want to allow someone else to purchase it for them.
These features, while some are interesting or useful do tend to add to the complexity of the system. This means the cart will be harder to maintain and use.
Working with the cart
Adding or changing a cart can be difficult. Often you will find that simple moving of elements on the pages which are programmed into the cart involve major development time to change. Some carts are much better then others when allowing for change. Most have a similar look and feel, this contributes to the user experience in allowing for a familiar user experience. The downside to this is that the interfaces in a cart are usually pretty locked down and even minor changes can end up being major programming efforts. You often will get exactly what you see with a cart, so make sure you like how it works and don’t want to change much at all besides logo graphics and maybe some of the colors.
That being said, I always try to use ecommerce which is simple and flexible. These are the 2 major concerns for me, as I have often had to try to change a minor thing in a cart only to spend days or even weeks trying to make it work without breaking the whole cart. The look and feel of carts is usually very locked up and I value any situation where I can change look and feel.
Types of carts:
Complex carts:
These carts are for very large sites. If you plan to have a small staff of people able to maintain these carts and want to have tens of thousands of products or more in the cart these are for you:
- Interchange
- This cart separates the jobs of site designer, admin, product manager and programmer. It is flexible and scalable.
- OS Commerce
- Many add-ons and community involvement makes this cart very good. Layout very static, change can require deep code change. Add-ons can conflict with each other.
Simple carts:
These claim to have less overhead because they omit any functions outside normal cart duties. I will be performing further testing on PHPShop as it looks most promising.
- PHPShop
- Claims easy layout with CSS.
- Claims minimal features and easy to change code.
- BakeSale
- Built on CakePHP which is a RAD environment like Ruby on Rails, but for PHP.
- Simple cart, minimal features.
Web Service Carts:
A web service is a program that sits ready on the web, exposing its functions which can be used remotely. Paypal was the first I had heard of to do this, and Google now has a cart. The freedom here is that you don’t need to do much more then add some code to a page to make it a cart page, cart layout is totally in your hands. The provider handles all the dirty work, but they also take a cut of the proceeds. They are your merchant account, so you would not use your normal way of processing credit cards, rather they would be your merchant account for your online cart.
- Paypal
- First to market (that I heard of at least), well tested.
- A lot of 3rd party support.
- Google
- Big name, everyone will be developing for them
- Master of API’s – your building a cart on their API’s and they are good at making very useful API’s.
Summary
Personally I favor Web Service, or API based carts. I have found resistance from clients because they want to use their current merchant service. Google and Paypal make good sense in the long run because most developers will become more and more familiar with them as they become more and more popular. I also like a simple cart that I have fine tuned control over and can just add a few lines of code to and have full control over how product catalogs work.
Start thinking of the features you want and see about what might fit the bill. Make sure the person that works on your site is comfortable with the cart and that you are able to use the back end admin section without getting too confused.
I found a good site to look at the carts in comparison, not complete, but shopping cart reviews is a good site.
