Online Shopping Interface Redesign

2020 Fall semester user Experience Design project

Phase 4: Design Refinement

The Current Design

A New Character for Online Shopping

Our user research has shown that many people don't online shop because they feel like they have to know everything they want before they can start. It is challenging to wander around a grocery website and stumble upon foods you might like because:

  • Foods within a given category often aren't grouped logically
  • Advertisements take up a lot of cognitive and physical real estate
  • Viewing options often feels like an infinite scroll with varying levels of relevance

These factors create a disorienting experience that causes people to go straight for the search bar, which explains why they don't feel comfortable poking around as they might in a physical grocery store. Our goal is to remove these inhibitors so that people can feel comfortable shopping online in whatever way feels most natural to them, and to scaffold an experience that facilitates people finding items organically rather than strictly from a premeditated list.

Encouraging People to Browse the Aisles

Users consistently expressed challenges curating a full grocery list, because many people want to choose some or all of their items while they are actually in the store. For example one user said “I don’t use a shopping list at all. I just go and see what I think I’ll eat in the next few weeks.” More common than that was a user that made a list of specific meal ingredients, but wanted to pick out items like snacks on a whim. This mode of operation translates poorly to most current online grocery stores, where users do not feel comfortable browsing items and primarily rely on search behavior.


Here is our Aisle View page aimed at encouraging organic discovery:


An image showing the aisle view of the prototype. Sections are outlined and numbered.

[1] Grocery sites typically have their search bar front and center, indicating that searching the store is a primary action. In order to retrain users to try perusing, our team chose to have the search bar hidden automatically, and place the buttons to access searches on the right side of the screen. In comparison, the subcategories of an aisle are displayed on the left under the aisle name, taking priority by Fitts’s Law.


An image showing the header of a grocery shopping website. The search bar is outlined and labeled, 'Most visual weight'

[2] A specific “Search Aisle” button allows for greater user freedom that more closely emulates physical shopping. This option acknowledges that a user has done the work of narrowing to an Aisle, and curbs the frustrating experience of seeing some results that are wildly outside the scope of what they are looking for.

[3] The most original aspect of this design is the horizontal scroll layout, which is meant to mimic the look and feel of a real store aisle. Users consistently expressed an affinity toward this format and were quick to verbalize that it felt like a physical store. A nuanced benefit to this directionality is that, by virtue of computer screen aspect ratios, items stay on the screen longer as users scroll. This is intended to give people more time to see something they might want peripherally, and to construct a more grounded sense of place.


An image showing a vertical scroll on a grocery shopping website and the text 'Items scroll off the page almost instantly.'
An image showing the prototype with a horizontal scroll and the text 'The eye has time to see items peripherally and establish grounding.'


[4] Displaying logical groupings of items is a core pillar of physical grocery stores. It allows users to quickly see what is relevant to their needs, and compare factors like pricing one to one. Our research into other online grocery stores revealed that most sites do not have logical groupings. For example, Whole Foods’s dairy aisle has milks of the same brand dispersed throughout the display order. So, if you found the brand and size you wanted of skim milk, but you buy 2%, you would have to continue scrolling for an unforeseeable amount of time to find the option you want. Our team suspects that this is a reason that people feel overwhelmed in the seemingly infinite scroll, and decided that a mechanism for logical display groupings should be a core tenant of our design.


An image showing scattered items of different categories on a grocery shopping website.
An image showing the prototype with grouped items.


[5] Finally, the hierarchy of our aisle header is intended to encourage people to make frequent use of categories. Rather than filtering to that category, the page scrolls so that the first item fitting that category is in the top, leftmost spot. An animation takes the user past prior results, so that they have the opportunity to discover something they might like on the way. Swiping between categories also creates a more dynamic experience than filterning, encouraging users to zoom back and forth between categories without feeling a high level of commitment to the action.

The Concept of Bundles

A consistent pain point we heard from users was that they struggled to remember to restock staple foods in addition to buying ingredients for specific dishes. This prompted us to design an interaction that promotes recognition over recall for restocking common foods.


An image showing the My Bundles page of the prototype, with four numbered sections.

Bundles are custom collections of items that users can make. For example, they might curate a Bundle of the items they buy most commonly every week. So, after a user creates a Bundle, they can add all of those items to their cart in one click every time they shop [1]. Alternatively, they can scroll through the Bundle and add items one at a time, which allows them to mentally check if they already have enough eggs (for example), without having to recall that they needed to consider eggs [2]. Our team anticipates that new users will opt for adding items one at a time as they get more comfortable with the idea, and power users will opt for the “Add all the Cart” button more frequently.

Bundles can be edited at any time, so if a user were to switch to a lactose free diet, it’s simply a matter of deleting 2% milk and adding oat milk to their list of staples [3].

Another common use for Bundles is grouping recipe ingredients. So, when a user decides on “Taco Tuesday” that week, they can add all the materials to their cart without having to search each item or scour through recently bought options. Bundles also allow users to see exactly how much a meal will cost them at a quick glance [4].


An image showing making a Bundle from scratch in the prototype.
An image showing making a Bundle from checkout in the prototype.


Users are able to create Bundles in multiple ways. They can make one from scratch by searching up ingredients and adding them to a list [5]. Or, they can go into an ingredient-sorting mode just before checkout that lets them group items in their cart into Bundles [6]. This option circumvents the effort of searching up items to make a Bundle, and would likely be used in recipe Bundles because users are likely to have all the ingredients for a recipe already in their cart.

Minimalist Design

Our website aims to use minimalist design that presents only the most important actions that users might want to take. Our home page emphasizes the core functionality of the site, encouraging users to select an aisle first and foremost, and informing users that Bundles are an option.


An image showing the homepage of the prototype.
An image showing the homepage of a grocery shopping website.


In contrast, many grocery sites are so overrun with ads, that users have to scroll considerably to even see that categories are an option. This further cements users’ inclination to use the search bar exclusively. The idea of categories on a home page isn’t itself novel, but the emphasis in our design makes the interaction far less overwhelming.

Interaction Flow

The diagram below shows how user actions link together in our prototype, and highlights in a black box the interactions that we haven’t designed.


An image showing the My Bundles page of the prototype, with four numbered sections.

Design feedback and Revisions

In the most recent phase of development we focused on revising and polishing the current prototype. The design revisions consisted of two stages.

First, a rough prototype of the interface was taken back to test users who helped refine the ideas present in the prototype. These feedback sessions primarily focused on the design of user-requested features and identifying user experience pain points.

Second, after implementing feedback from the design revision sessions, we brought a team of designers (consisting of other students taking the course) on board to perform a heuristic evaluation of the prototype. This process was designed to identify areas of improvement by evaluating our interface using Jakob Nielson's ten general usability heuristics. We also gathered feedback from our instructor to implement specific UI changes and to provide insight from his experience working in design at a company.

The final development phase focused on refining the design to implement the design feedback from the heuristic evaluations as well as polishing the design as a whole. The first major design change which needed to be made was that users expressed frustration and the feeling of being overwhelmed with the initial prototype. They said that they "could understand the fundamental concept of trying to mimic store shelves, but there [were] just so many things happening that [they couldn't] focus on the one task [they wanted] to perform." In response, we made a deliberate attempt to reduce the number of items shown as well as provide visual structure to the page to ground the design.


An image depicting the refinement of the prototype. On the left is an image showing many varied items displayed as images layed out in a grid on a white background. The right hand image displays items arainged in three rows and set into a shape which suggests the items are placed on a virtual shelf.

Based on user feedback, we revised how our filtering and in-aisle search features displayed results. In the first iteration, the items that matched the search or filtering criteria were highlighted to make them distinct to the user. This led to an overly cluttered interface, and users became frustrated with being unable to rapidly see all items fitting their selection criteria. We solved this problem by transitioning to a system where the screen will display only items that meet the filtering or search criteria.


An image depicting the redesign of the filtering system. On the left is an image showing many items displayed as images items are highlighted in yellow if they fulfill the selected filter. The right hand image displays fewer items populating the shelf with only items that fulfill the selected filter.

A fairly lightweight and primarily visual feature that we implemented came from some users’ expressing a desire for a way to navigate within an aisle while maintaining the ability to see all the items pass as they navigate--similar to the brick and mortar experience of navigation flags within an aisle. [1]


An image depicting the forzen foods isle of a rocery store. Signs hang over the refridgeration units periodically. The signs denote diferent sections of the refridgeration units such as entres and frozen pizzas.

We structured our solution under a header navigation architecture where users can navigate within an aisle by selecting a category, and when the user selects a category, the items scroll past as though the user is walking through the virtual aisle.


An image depicting the dairy isle with a category toolbar above the products. The left image shows the milk category selected. the right image shows the cheeze category selected and a development tag describing that items would shift along the shelves to display the cheese while giving a previw of the other catagories as you pass.

Users also expressed frustration with traditional e-commerce systems' lack of a method to save commonly purchased items (to simplify repeat purchases). Some of our users expressed how they would appreciate the ability to purchase all of the ingredients for a recipe without having to find them all individually. To solve this, we introduced the system of Bundles: saved, user-defined item groupings that can be added to the cart all at once. Users can create and modify their Bundles at any point in the shopping experience, but we expect that the majority of Bundle creation will occur at checkout--the final configuration of items are already together in the cart and the user, having just done the work to track down these items, is more willing to create a Bundle to save them time on their next visit. Bundles can be used in a wide range of capacities--everything from ignored to a central hub of the shopping experience--for a wide variety of use cases, and we expect that the majority of our users can find value somewhere on this spectrum.

The last major change that was made in response to user feedback was a shift to emphasize actions occurring as pop-up modals throughout the experience. One way we used this was to combat the problem of users having difficulty tracking what was in their cart in traditional e-commerce experiences. One user remarked, "[when online shopping] I find I don’t really know how much I have in my cart. I just put things in my cart as I go, but then I'm always surprised by how much I ordered and how much I spend when it comes to checkout." We aimed to make checking the cart status more dynamic and integrated with the overall experience by showing the cart contents in a pop-up modal which the user can easily open and close by clicking on the cart icon throughout their shopping experience.


An image depicting a popup window displayed over the isle. The window has the title Cart Total $36.84 and has a list of the items in your cart. The top right hand corner of the window has an x denoting the ability to close the window and the bottom right hand corner has two butons. One says procede to checkout and the other says create bundles

Iterative Improvements

Acting on Heuristic Evaluation Feedback

Based on the feedback from a heuristic evaluation conducted by classmates, we implemented a number of changes in our prototype. View a summary of the heuristic evaluation feedback, whether or not we implemented the change, and how we implemented each change here.

The first change we made was to rethink and further develop our Bundles feature, originally called “Recipes.” In our heuristic evaluation, we found that the wording “Group by Recipe” was confusing, and that if users had recipes they wanted to use, they’d rather see them at the beginning of the shopping process rather than the end. This didn’t match the conceptual model that we as designers had imagined for the feature--we wanted the feature to be an easy way of grouping items at checkout so that they could be quickly added for future shopping trips. In order to address this problem, we implemented four changes.

First, we changed the name of the feature from “Recipes” to “Bundles.” While “Recipes” has a specific meaning in the context of grocery shopping that is strongly associated with the planning phase of grocery shopping (something we explicitly wanted to de-emphasize in our design), “Bundles” is more general, and more closely matches our conceptual model of the feature.

Second, we re-worded the tooltip explanation of the feature to emphasize returning to shop next time, to better communicate why the user is prompted to create Bundles before checkout. We also made the explanation more concise, reducing the cognitive load the user needs to engage with the feature. These first two changes are illustrated in the screenshots below, which show our prototype before and after implementing these changes.


An image showing the old prototype with add to recipe button with tooltip.
An image showing the new prototype with add to bundle button with tooltip.


Third, we added a way for the user to create Bundles from scratch. While our intended use of Bundles was to easily group together items the user was currently buying, we also wanted to allow users who enjoy planning to be able to put in Bundles ahead of time. From a conceptual model standpoint, it’s also easier for the user to imagine that they’re adding things to an existing collection at checkout if they can add things to the collection at other times as well. Below, creating a Bundle from checkout is shown on the left, and creating a Bundle from scratch is shown on the right.


An image showing creating Bundles from the cart.
An image showing creating Bundles from scratch.


Finally, we added Bundles to our header-level navigation, strengthening the user’s conceptual model of “Bundles” as a collection of groups they can access for later. The headings before and after this development phase are shown below.


An image showing the old header.

An image showing the new header.

Another set of changes we made helped clarify our search functionality. First, we more clearly separated the in-aisle search bar from the global search by making the in-aisle search bar appear at the top of the screen when the user clicks “Search Aisle.” We also added text inside the search bar to clarify where it’s searching. Finally, we made the “Search Aisle” and “Search Storewide” buttons different colors to emphasize different functions. The “Search Storewide” button is the same color scheme as the “Choose Aisle” button in the top left of the page, indicating that it takes you to a different screen. These changes are shown below.


An image showing the aisle view in the old prototype.
An image showing the aisle view in the new prototype.


Finally, we added an additional modal screen after the user clicks on an item that shows details about the item and prompts them to select a quantity and add to the cart, reducing user error in adding items to the cart.

An image showing the pop-up modal that appears when the user clicks an item in the prototype.

Acting on Instructor Feedback

In addition to our heuristic evaluation feedback, we reached out to our instructor for more specific feedback on our user interface. Based on that feedback, we implemented the following changes:


  • Homepage that emphasizes aisle browsing and bundle functionality

We updated our homepage to emphasize the things that make our design unique: browsing by aisle, and Bundles. Because these features are what the user spends the most time interacting with in our design, highlighting them on the landing page helps the user build a more accurate conceptual model of our product.


An image showing the home page before the revisions.
An image showing the home page after the revisions.


  • Aisle header that provides user control and freedom, and highlights primary actions with layout

In order to improve user control and freedom, and the user’s conceptual model of the design, we rearranged the locations of buttons in the header bar and the aisle header. By adding the buttons “Browse Aisles” and “My Bundles” to the header, we improve user control and freedom by allowing them to access those options at any time while using the website. We also moved these buttons, along with the “Order again” button, to be left-aligned, because they are “backtracking,” allowing the user to retrace their steps or choose a different path rather than moving the user closer to checkout. We moved the “Choose Aisles” button in the aisle view further left for this same reason. We moved the cart out of the header and into the aisle view to emphasize that it’s part of the core experience, and not related to navigation like the other items in the header. We also moved the “Preferences,” “Search Aisle,” and “Search Storewide” buttons to be in-line with the aisle’s subcategories to clarify that they’re used for finding items in the store, as opposed to navigating the website.


An image showing the in-aisle header of the prototype before revisions.

An image showing the in-aisle header of the prototype after revisions.

  • Search bar that remains hidden to encourage browsing, but works predictably/modularly when you click search

As mentioned earlier, we adjusted our in-aisle search bar so that it pops down from the top of the screen. By keeping the search bar hidden by default, we reduce unnecessary clutter on the screen and can keep the user focused on the core experience of browsing.


An image showing the aisle browsing page without the pop-down in-aisle search bar.
An image showing the aisle browsing page with the pop-down in-aisle search bar.


  • Categories in an aisle disappear if there are no items that apply after a filter

In our previous prototype, when filtering items within an aisle, the aisle’s categories remained the same even when there were no items falling within that category. This led to the user developing a false conceptual model, believing that there were more items fitting their filter criteria in those categories. To resolve this, we adjusted our UI so that only the categories of the remaining items are listed. Additionally, we adjusted the way items are stacked in aisles, so that items in different categories are in distinct columns.


An image showing the filtered aisle view before revisions.
An image showing the filtered aisle view after revisions.


  • Increased the size of the cart to make it feel more like in-person shopping

By making the cart icon bigger, we can take advantage of the user’s real-world perceptions, and make it more intuitive for the user to know where to check how many items they have currently and how much they cost.


An image showing the aisle view before revisions.
An image showing the aisle view after revisions.


Design Founded in User Needs

Our final design aims to add value to the online-grocery shopping experience for each of the core user personas established in the needs analysis phase. We outline how our design does this for each persona below.

Gourmet Chef


An image depicting a popup window displayed over the isle. The window has the title Cart Total $36.84 and has a list of the items in your cart. The top right hand corner of the window has an x denoting the ability to close the window and the bottom right hand corner has two butons. One says procede to checkout and the other says create bundles

The Gourmet chef persona loves cooking and meal-planning, but isn’t thrilled about the logistics of shopping for a group.

Why our design might appeal to them:

  • Logical groupings in the aisles helps this persona compare prices and quality side by side, rather than having to scroll extensively between options.
  • The additional stocking capabilities of online shopping means this persona is less likely to have to go to multiple stores to find the right ingredient, saving them time.
  • Ever prepared, this persona prepares recipes and sometimes they might want to make a winning dish a second time. In a typical experience, they have to go through the repetitive process of looking up the recipe, finding the ingredients, and making a shopping list. With Bundles, they can order all the ingredients in one click.

Attention Elsewhere


An image depicting a popup window displayed over the isle. The window has the title Cart Total $36.84 and has a list of the items in your cart. The top right hand corner of the window has an x denoting the ability to close the window and the bottom right hand corner has two butons. One says procede to checkout and the other says create bundles

The Attention elsewhere persona isn’t interested in grocery shopping at all, and would rather spend their time doing other things.

Why our design might appeal to them:

  • This persona has never made a meal plan in their life, so the ability to browse aisles gives them a more forgiving experience (if they don’t know what exactly to search for) while also empowering them with the ability to filter by their most important factors like price.
  • While a persona who sees grocery shopping as an unavoidable chore is difficult to please, they might be more likely to gravitate to an online interface to save time--especially if they live far away from a grocery store as some of our users did.

Community Builder


An image depicting a popup window displayed over the isle. The window has the title Cart Total $36.84 and has a list of the items in your cart. The top right hand corner of the window has an x denoting the ability to close the window and the bottom right hand corner has two butons. One says procede to checkout and the other says create bundles

The Community builder persona puts a lot of time and energy into grocery shopping in order to ensure that their housemates are well-fed.

Why our design might appeal to them:

  • As the primary purchaser in the house, this persona needs to make sure weekly staples are purchased so that everyone in the house is happy. Bundles can make sure nothing is forgotten--in addition to their original purpose of aiding meal planning.
  • Online ordering relieves the burden of physically taking a trip to the store, which is especially nice since this persona is likely to be doing other tasks to maintain a household.

Cognitive Walkthroughs

To assess a user interface, it’s useful to conduct a cognitive walkthrough to determine where users may encounter errors or difficulty. A general cognitive walkthrough is shown in the diagram below, but to better illustrate specific issues, we conduct cognitive walkthroughs for three specific goals, illustrated in tables. For the purpose of simplicity, we assume that the user has already navigated to the website’s homepage and is logged in.


Goal 1: Adding a snack to the cart


For our first user goal, we assume that the user is buying groceries and wants to add a snack to their order. They know the category of snack they want, but not which specific snack they want.


Task Will users understand how to start it? Are the controls conspicuous? Will users know the control is the correct one? Was there feedback to indicate if the task was completed?
Click the “Snacks” aisle button Yes--the aisle buttons are round and distinctly colored, indicating they can be clicked Yes--the aisle buttons take up a large amount of the page Yes--the aisle button is labeled “Snacks” and has an image associated with snacks Yes--the page changes to the snacks aisle, and the user can read the title of the aisle to determine if they’ve reached the correct aisle
Click the category name that sounds good Maybe--the category names have a gray underline indicating the current category being viewed, but no indication that they are clickable buttons Yes--the category names are near the top of the page near the aisle name Yes--the different category names correspond to the category the user wants to navigate to Yes--the page scrolls to the category the user clicked
No--nothing happens if the user is already in the category they clicked
Click the left and right arrows to look at more items Yes--items on the right side of the screen are partially cut off, and the arrow and scrollbar at the bottom of the screen indicate there’s more to see Yes--the arrows are in a darker color than surrounding UI elements Yes--the arrow is a common UI element indicating navigation Yes--the aisle scrolls to left or right to show more items
No--if the user is at the far end of an aisle and tries to go further, nothing happens
Click the item the user wants Yes--the action of clicking the item is common to all online grocery shopping applications Maybe--while it is intuitive to click the item, it could be made more obvious by highlighting it on hover Yes--clicking the item is standard practice Yes--a modal showing the item’s picture and name pops up
Enter item quantity Yes--entering a quantity is a standard task across online shopping applications Yes--the text asking for quantity is conspicuous, as are the text box and plus and minus buttons Yes--the plus and minus indicate more or less, and clicking inside the box to type in a number is standard across applications Yes--the number updates to the number the user entered, or increases or decreases
Click “Add to cart” Yes--the “Add to Cart” button is clearly labeled Yes--the button is on the right hand side, indicating that it brings the user closer to checkout, and is colored differently Yes--the button is labeled clearly Maybe--there is no explicit message, but the modal closes


Goal 2: Creating a new Bundle for lemonade


For this goal, we assume the user is buying groceries to make lemonade, and at check-out wants to create a Bundle for lemonade.


Task Will users understand how to start it? Are the controls conspicuous? Will users know the control is the correct one? Was there feedback to indicate if the task was completed?
Click an aisle icon or name Yes--the aisle buttons are round and distinctly colored, indicating they can be clicked Yes--the aisle buttons take up a large amount of the page No--the cart isn’t visible from the homescreen, so the user must first enter an aisle. Yes--the page changes to the selected aisle page
Click the cart icon Yes--clicking the cart icon is standard across online shopping applications Yes--the cart is large, in the main body of the page, and aligned to the right hand side of the page Yes--clicking the cart is standard practice Yes--a modal showing the cart is opened
Click “Create Bundles” Yes--the button’s name indicates its function Yes--the button is located directly to the left of the Checkout button, implying it is an action to be taken before checking out, which is what the user is trying to do Yes--the button is clearly labeled Yes--the user is navigated to a Bundles modal
Drag items from cart into Bundle Yes--the blank Bundle shown has instructions for doing this Yes--the blank Bundle shown has instructions for doing this Yes--the blank Bundle shown has instructions for doing this, and the items from the cart are shown as concise blocks, making it easy to imagine moving one Yes--the moved item is displayed in the in-progress Bundle
Enter Bundle name Yes--clicking grayed out text in a name field is standard practice for naming an item Yes--the text is grayed out, and being able to click in a name field is standard practice Yes--clicking inside a name field to rename it is standard practice Yes--when the user clicks outside the name field, the name of the Bundle is updated to what they typed in
Click “Save” button Yes--the button’s name indicates its function, it only appears after the user has added items to the new Bundle, and the button is inside the new Bundle Yes--the button is colored differently and is in the same area of the screen the user is looking Yes--the button is clearly labeled Yes--a message confirms that the user has saved the Bundle


Goal 3: Using an existing Bundle to add weekly staples to the cart


For this goal, the user wants to add items to their cart from an existing Bundle called “Weekly Staples” that contains items the user buys every week.


Task Will users understand how to start it? Are the controls conspicuous? Will users know the control is the correct one? Was there feedback to indicate if the task was completed?
Click “My Bundles” Yes--it is standard practice for text in a header bar to be links for navigation Yes--the text is right-aligned, and in the header bar with other buttons for sitewide navigation Yes--it is standard practice to click text links in header bars Yes--the web browser navigates to a new page
Click “+ Add All to Cart” Yes--the task they want to achieve is communicated clearly, and is inside a button icon Yes--the button is clearly colored and round Yes--the button is clearly labeled Yes--the user’s cart on the right side updates to show all the items in the bundle
Note--there should be a brief highlight animation or something else to draw the user’s attention to their cart

Moving Forward

We are pleased with what we’ve been able to accomplish in this phase and believe that our product’s core concept could find real-world traction among a subset of grocery shoppers. That said, there’s still more we would’ve liked to do if we’d had more time--we would spend our next sprint increasing the visual fidelity of the home page and main aisle view before doing another round of user testing. We would also be interested in isolating features that we believe are most compelling (i.e. bundles) for a round of A/B testing to see whether users truly prefer our current aisle-centric design or whether they would gravitate toward a traditional Amazon-style view, but with bundles added. Finally, there’s still plenty of additional room to explore with bundles and if we had more time it would be interesting to design a “social” component (sharing, trending, liking, saving, recommended) to them and see if it adds user value.

A few key ideas communicated in our instructor feedback that we didn’t address include:

Suggesting Bundles. One possible area for improvement is to have the site suggest Bundles at checkout based on what the user has in their cart, or scrape recipes online for ingredient lists. However, for the scope of this project we chose to look at manual entry, both for simplicity and to avoid some users’ concerns about privacy related to machine learning algorithms.

UI issues related to higher-fidelity mock-ups. When introducing real images of food and real product names, we introduce new issues users will face when navigating a user interface, which we didn’t address for the scope of this project. These include having legible and consistent images of products arranged within a grid that still feels natural to navigate from side to side, and having confusing, long, or repetitive item names.