Enable efficient shop browsing and searching (sub-cats?)


Problem statement

<Too many parent level categories to make searching functional. Customers have difficulty finding products they want to buy in shops with lots of products - they need better ways to 1. browse all products available and/or 2. search for specific products. At present the tree structure in spree is not operational, so all taxons are at the same ‘level’, making large, unusable category lists appear in the shopfront >

Affected users / customers

< Customers who want to browse - have to either scroll through hundreds of products, or browse category by category (often over 30 categories in a shopfront)
Customers who know what item they want are a bit better off - they just have to find the category first and then they can search it. Are ‘beets’ a root vegetable? or a vegetable? Either category SHOULD show them beets. Now they have to reveal and go through a list of often 30 categories to find the one they want. >

Problem impact

< Customers get frustrated because they can’t find what they are looking for. They abandon OFN, or they don’t take the time to see all the products and the hub looses sales.

Benefit in focusing on this

As we proceed to better UX (as being implemented now for mobile for example), the UX can only be as good as the taxon structure allows. Right now the tree structure does not function in Spree. By making the tree structure for taxons functional, we will be able to take full advantage of the improved user experience being designed for mobile.

Links to more details

Hubs can offer more precise filtering options for products
Product categories/taxonomies>

Potential solutions

< Option 1 - make the tree structure in Spree functional - ie: a ‘child’ category (root vegetables, leafy greens…) will show up (in a search or a dropdown or whatever) under their ‘parent’ category (vegetables).
Option 2 - abandon the idea of categories and enable key word searching in some fashion (but this doesn’t really help the customer who just wants to start by browsing) >