Part 2: Product Browsing Offering
Submitted by Matthew Turland on Tue, 06/09/2009 - 10:20This post is the second part of a series covering the feature set of the Magento PHP-based e-commerce package. In particular, it will review the product browsing features.
Multiple Images Per Product
Each product has a designated Base Image. Using the default theme, a small section entitled More Views appears beneath that image with smaller thumbnails of that image and other images. Clicking on any of these opens a simple pop-up window that allows for navigation of all the images.
Unless the Exclude option (which is disabled by default) is enabled for that image, a thumbnail of the Base Image appears in the More Views section. This seems a bit redundant because the same pop-up window is already accessible by clicking on the Base Image itself. Use of a pop-up window also seems odd when libraries like Lightbox and Lightview both provide a more robust and fluid experience.
Product Image Zoom-in Capability
The Base Image for a product is limited in size when it is initially displayed. This feature positions a slider below the image and allows the user to zoom in on specific areas and drag within the image to navigate the larger version. You can get a better look at this feature by viewing any of the products on the Community Edition demo site.
It's fairly well-implemented and intuitive and I think it brings a touch of the real-life brick-and-mortar store experience to the online storefront. My only criticism is that it activates for images that gain very little from the zoom-in capability, which evokes a mental response questioning why it's activated at all. Some sort of threshold should be added.
Product Reviews
Customers can submit product reviews including product ratings. Ratings use a 5-star system and specific traits that receive ratings (Price, Quality, and Value by default) can be managed on a per-store basis. Once submitted, a review goes into a queue pending review and approval. Aside from the Product, Customer, and Summary Rating, all other aspects of reviews can be modified by administrators.
As the previous post mentions, the display of rating quantities is not consistent between the front-facing web site and Admin area. Another annoyance is that the relevant User Guide section doesn't mention this feature being disabled by default, nor how to enable it. From the Admin area, go to System - Configuration - Catalog - Catalog - Product Reviews and set the "Allow guests to write reviews" setting to "Yes."
Overall, product reviews does not seem like a feature that would be commonly needed among all storefronts. As such, it seems a better candidate for a module than a core feature.
Related Products
In the default theme, this feature shows up on the front-facing web site as a section of the right column. It includes short listings for products related to the main product being viewed. Related products are specified individually when editing that product from the Admin area.
This area functions a bit oddly, at least with the default templates and settings. Each related product normally has a checkbox next to it for adding the product to the shopping cart. If a related product is out of stock, that checkbox will not be displayed. As such, if all related products are out of stock, no checkboxes appear. In the default theme, instructions regarding the checkboxes are always displayed even when there aren't any visible. This case renders the feature somewhat confusing from a usability standpoint.
Another point of the confusion is that the form for adding related products to the shopping cart uses the Add to Cart button in the central product area. The use of space appears to disconnect that button from the form, making it unintuitive.
This feature isn't a bad one, but its implementation could easily be more intuitive.
Stock Availability
This is managed from the Inventory area of the form used to edit products. Related configuration settings automatically inherit from a global configuration, but can be customized on a per-store basis.
The user guide section for this feature appears to be a bit dated judging from the user interface screenshot there. Nevertheless, this area is fairly robust and offers a number of useful features. These include setting bounds on the quantity a product that may be put into an individual shopping cart, the quantity at or below which the product will be labeled as being out of stock, allowance of decimal quantities, allowance of backorders, and stock quantity-based notifications (presumably in the Admin area or via e-mail).
Magento will manage stock automatically by default, decreasing available stock as orders are submitted. This can be disabled to allow you to handle stock manually if needed. One aspect of this feature that I find to be curious is that the out of stock status can be set manually even when Magento is set to handle stock automatically. I'm guessing this is an emergency button of sorts, but unsure as to what other purpose it might serve.
Another interesting aspect is that Grouped Products don't have stock management capabilities because they are handled normally at the individual product level. I'm curious as to whether this detail of the implementation has precluded its use in any way.
Multi-Tier Pricing Upsell
A screencast was done on this topic. It essentially functions like Related Products, but appears to exclude the option to add products to the shopping cart (at least in the default theme) and is intended to make "upgrades" from the current product more eye-catching.
The presence of the Related Products feature seems to make Upsells redundant. A more useful implementation might exist within Related Products where they could be tagged and retrieved by tag from product pages. This would add flexibility and freedom to the feature by allowing users to create any number of product groupings for any purpose, not merely those related to these two particular applications.
Product Option Selection
The relevant user guide section for this feature appears to be outdated, grossly oversimplified, or both.
The feature is accessed from the Custom Options section of the form for editing products. Its purpose is to allow administrators to add custom price-affecting options to products (such as size for shirts) and to allow customers to select those options before adding products with them to the shopping cart.
Overlooking the lack of documentation, the implementation of the feature itself appears to be logical and well-organized.
Grouped Products View
This allows Simple Products that don't have required custom options to be listed on a Grouped Product profile page with the ability to be added to the shopping cart individually. There's a screencast on how to use this.
In terms of being an item on the feature list, this is merely a more explicit mention of one the Grouped Product product type's features. The purpose of this is to make related products easy to purchase simultaneously. To that end, it's fairly effective.
Add to Wishlist
Customers can maintain a wishlist of products as part of their accounts, similar to Amazon feature by the same name. This feature doesn't seem to be one that would be useful to all industries. Wedding rings might be an example of a bad use case for it. As such, it would be better implemented as a module rather than part of the core.
Send to a Friend with E-mail
This feature is fairly self-explanatory. Though it's good in terms of security, in practice it's a bit unintuitive that the feature is disabled for guest users (i.e. users that are not logged into a customer account) by default. To enable it, go to the Admin area and navigate to System - Configuration - Catalog - Email to a Friend, expand Email templates (a rather odd place to put this in my opinion), and change the "Allow for Guests" setting to "Yes."
The number of recipients per transmission can also be limited from this area, as can the number of transmissions allowed per hour (both to prevent abuse by spammers) and the method of restriction (the "IP Address&Quot; option being the safest and the default).
Wrap Up
Some of the features shown here are more appropriate for modules. Modifying them to be so could help to lighten the core installation somewhat.
A few others lack intuitiveness or flexibility, but nothing that couldn't be fixed with some reworking or a little polish. Several could be addressed simply by improving related documentation, either with notifications in Magento itself or in related sections of the User Guide. It's discouraging to see that features often lack a Help page on the Magento web site.
The overall feature set is pretty complete for most storefronts. Beyond fixing issues, the Magento platform could benefit significantly -- and quickly -- by improving the quality of their existing features.

