The Good Stuff Website Redesign — Case Study

Julian Tomlin
8 min readSep 16, 2019

--

The Good Stuff is a Vancouver based frozen smoothie online store. Using fresh ingredients they design different recipes that focus on healthy living and good taste. As a fairly new startup, they requested that I look at their current site and see if I can improve it in any way. I took on the role as a solo UX researcher and designer as well as front end developer and set out to see if I could make their checkout process more intuitive.

Research

User Testing

After quickly browsing the site myself I made a quick list of some of the issues I saw. Using this shortlist I created a few user tasks that I could give to users to see how they would navigate the site. Also, I checked a few competitor websites to see how their stores handled the checkout process.

I gathered a bunch of volunteers and scheduled a solid week of user tests, doing anywhere from 3 to 5 tests a day. These tests were either done in person or over the internet using a screen sharing program. For these tests, I gave participants a list of activities to do, such as successfully order some smoothies, or navigate a competitors site. I recorded the screen capture of all these tests so I could review them at a later time and consolidate all the similar problems I found. After the test, I interviewed the users on how they felt about the experience as well as quizzed them on important information to see if they understood some requirements for the ordering process.

After all the testing was done I made a list of pain-points that had occurred multiple times during the user tests.

Pain Points

Here are some the problem I found with the site

Item Cards

Item cards in store page

Each item in the store was displayed with an item card, however, the dimensions of these cards would change when the user hovered over them. The button that would appear on the bottom would sometimes disappear when the user went to click on them as a result. The image carousel was also rarely used (except for the nutrient information), adding clutter without providing many benefits.

Item Detail Page

Detail page for shop items

Clicking into the details page for the item would provide users with a bit of background for each item. What ended up happening was if users were interested in learning about one item they were likely to want to do the same with other items too, causing them to bounce in and out of item description pages. I wanted to preserve the availability of this information while limiting the number of time users would have to bounce in and out of pages.

Minimum Order Size & Info Banner

Order now page

Orders could not be completed without having at least 6 items in the shopping cart. Despite this information appearing at the top of the shop page none of the users I tested read the entire line and a vast majority was not aware of the minimum order size. Users would end up going to the checkout page only to discover they were not able to proceed without navigating back to the store page and adding to their order. Additionally, the information banner at the top of the page confused some users. Some thought the icons were buttons they had to click to manage their delivery options. To cut down on the confusion the amount of information on this page would need to be simplified.

Top Navigation

Top nav

Several other small problems were also present on the site, such as the top nav having links to an item page for information and an item page for adding the items to your cart, which were redundant and added needless complexity to the checkout experience. Additionally, the top nav did not indicate what page the user was currently on.

Design

Wire-framing

Over numerous design brainstorming sessions, I sought to address the pain-points listed above. I created wire-frames for each solution and created a prototype out of them.

Item Cards

Updated Item Cards (Left: hover-over, Center: static, Right: nutritional toggle and added to cart)

The first thing I did to the item cards was to simplify them. I removed the image carousel which more or less fixed the dimension problems seen before in the hover-over effect. To maintain some of the functionality of the carousel I also added the ‘blended’ image of the smoothie to as a part of the hover over effect. This also has the added benefit of giving the user more feedback on what item they are currently hovering over. The nutritional information became a toggleable image with the toggle icon only appearing on hover over. When an item was added to cart the “add to cart” button would be replaced with ‘+’ and ‘-’ buttons as well as the number of that item currently in the cart. These new buttons would always be displayed as long as the item was in the cart.

Item Detail Page

To solve the problem of having users navigate in and out of multiple item descriptions was to simply move the item description to a light-box that would be displayed whenever the user clicked on the item image or name. clicking outside of the light-box would close it so they could continue shopping without having to reload any page.

Minimum Order Size & Info Banner

Cart Progress Bar

To cut down on information overload the information banner in the “order now” page was removed completely. In its place, a box progress bar was placed. Whenever a user added an item to their cart a pip would be added to the bar, and once 6 pips were accumulated the “minimum order” text would change into a “checkout now” button, which would bring the user to the checkout page when clicked on. This change sought to inform the user that they needed 6 items clearly and intuitively.

Top Navigation

Since the item details were to be included in light-boxes in the ‘order now’ page it made the ‘collection’ and ‘smoothie’ pages completely redundant, so they were removed from the top nav. In its place a link for the ‘delivery area’ page was placed, as it was the most frequently visited page outside of the primary navigation according to the google analytics. To show users what page they were currently on the style of the top nav links were changed to underlined. If the user was on the ‘order now’ page the green box would be removed from the top nav link for that item.

Testing

After the prototype was created I ran a series of user tests, checking where users clicking and asking what they were thinking while navigating the prototype. Once I was confident the design was intuitive and fixed the pain points I identified previously I moved ahead to the development phase.

Development

Learning Liquid

This was my first time developing a page for shopify so I spent a while watching tutorials and exploring the existing code for the website before I began making my changes.

The first thing I did was inserted a bunch of <h1> tags into the code and searched the website to see where they showed up. This gave me an idea of what file corresponded to what parts of the page. Next I tried to find all the major buttons and see where the functions for the existed. This presented me with a serious challenge, however. The “add to cart” button, despite being very important to the site, didn’t appear to do anything when clicked according to the code. It existed in the HTML but didn’t reference anything and wasn’t mentioned anywhere else in the entire code. Through some sleuthing and deducing I discovered that changing the class name of the button removed the functionality. The website had several Apps that I did not have accesses to the code of, so I concluded that those apps must be listening for a click event on an element with the class name and running a function to add the item to the cart. With this knowledge I was able to create my own “add to cart” buttons by simply creating elements with that class name.

Old ‘turbo checkout’ box

Removing items from the cart was not as simple as that button didn’t exist anywhere in the code at all. It did, however exist on the page itself in a small box called the turbo cart. To create the ‘-’ from cart button on the item card I had to make a custom function. This function looked up the ‘-’ button for the corresponding item in the turbo box and clicked on it. I also created a new ‘Clear all’ button using the same method. After this the ‘turbo checkout’ box was hidden from view on non-mobile versions of the site.

Cart progress bar as it appears on the site

The cart progress bar was created in 3 layers, a background which contains the grey, a foreground which contains the white notches, and a middle ground which contains the green fill. The foreground and background were static div elements and the green fill would change size depending on how many items were in the cart when the page was loaded. To make the progress bar change dynamically I added some jQuery to the ‘addToCart’ and ‘removeFromCart’ functions that would increase and decrease the width of the green div accordingly. A lot of CSS manipulation and tweaking later and I had a fully functioning progress bar, complete with a dynamic ‘GO TO CART’ button.

Conclusion

Doing the redesign of this website presented me with a lot of challenges which I had to solve by myself for the most part as I was the only designer and developer on this project. Due to this, however, I gained a lot of experience digging around in preexisting, poorly commented code. Being unfamiliar with the liquid language I was unsure of some of the things I designed would be doable, but I ended up achieving everything I sought out to change.

The changes I made to the site are currently live and can be viewed at:

thegoodstuffco.com

and if you live in the Vancouver area I recommend the Diesel Monster.

--

--