Blog

Home Depot – A study in UX failure

I have a guest post today from my partner who works at the Pro-Desk at Home Depot helping contractors with large orders. Management decided to redesign the work space without getting feedback first. Enjoy!

photo of a checkout area in Home Depot

This is the redesigned Pro-Checkout area of Home Depot with four Pro registers: two facing south and two facing north; drinks & snacks in between.

Primary customers: Contractors

  • with large orders; and
  • large pieces of lumber

Problem 1: Register bottlenecks

This aisle is wide enough for one associate with a client, plus one typical lumber/flat-top cart, which are extra wide, yet there are two registers per aisle creating a bottleneck that prevents clients from getting around someone already checking out at the front register to an available associate at the back register.

When clients finish at the front register, they are unable to move past a working client at the back register, forcing them to push the line of waiting customers back so they can exit in reverse.

photo of a checkout aisle

This creates a further bottleneck at the output of all four registers where carts pile up and get in the way when clients have multiple carts of goods.

Problem 2: Bagging

Bags are located on the far side of the desk, away from where they are needed while checking out a customer, forcing an associate to look away from the client instead of engaging.

photo of checkout registers with stacks of paper bags on the sides

Problem 3: Lack of space

Our primary clients have large carts of long pieces of merchandise and the narrow aisles don’t leave enough room for turning the corner resulting in items getting bumped or ran into along with client frustration.

photo of the space between the end of the register aisle and the exit

Example: A customer has 20 pieces of 12’ drywall, 4’ wide; or 16’ long dimensional lumber. The back end will hit the drinks and snacks or the person manning the back register, plus the front end may likely hit the wall or desk.

To circumvent this associates have started having customers leave large carts in the main aisle, blocking throughput, so they can scan things there. There is potential loss of product since the associate cannot keep a close eye on the terminal to ensure all items are scanned properly. Additionally this blocks waiting customers from progressing to the next available associate because of carts in the main aisle.

Problem 4: Small drink fridges

One of our biggest sellers is PowerAid which does not fit in the narrow slots for soda or the RedBull slots on the other side.

photo of a small clear front refrigerator that is mostly empty

Problem 5: Light switch placement

Each lighted checkout sign has two sides that can illuminate independently. Instead of putting a switch on each side, both switches are on one side with no label. Which one turns on what light?

photo of two switches stacked on the side of a vertical beam

Problem 6: Desk height

The desktops sit at 2 feet 9.5 inches high, which works fine if you’re sitting in a chair. However, Pro-Desk associates stand all day making this setup less than ideal. This height creates back fatigue or severely bent wrists when using the terminal.

We devised some inventive solutions, like trying to raise the keyboard and mouse level up to a comfortable position, which management promptly nixed.

The monitor post is too short, making it impossible to raise the monitor to eye level.

photo of a man bending over to use a computer

Problem 7: Dead space

Lots of unused space that should have drink machines or something in it. Space is at a premium, use it efficiently!

photo of empty floor space between a wall and a register

Problem 8: Coffee

Our “luxurious” coffee bar is 10 times worse than it was and has gotten comments from customers already.

photo of a small cabinet with two coffee urns

Problem 9: Mouse pads

photo of a mouse pad shaped like a man waving that is barely large enough for a mouse

Whoever made these has apparently never used a mouse and needs to be fired.

Grad School Statement of Intent

Hello readers! Today I came across my grad school statement of intent that I had to submit with my application to the UT iSchool in 2008. I updated it in 2012 when I added it as part of my academic portfolio.

screenshot of the home page of my academic portfolio website from grad school

In my cube at work, I have a very prominent sign with a motto by web designer Mark Wyner that reads

Visual-design integrity for people with modern devices and browsers, and information integrity for everyone else.

As a web developer, I think what lies underneath the presentation layer is the most important part of any web page. While visual design is necessary and increases usability for many users of information, it cannot and should not supersede a solid informational foundation. I am a strong proponent of Web standards, semantic markup, and accessibility for all and I believe that studying and learning at the School of Information has allowed me to better understand the ideals of data organization for which I already have a passion, ultimately making me a better web creator.

I thrive on organization, naming conventions, and process, all of which have helped me in my career as a web developer.  I have been very interested in learning about structuring data to make it optimally usable by both humans and machines, independent of the delivery method.  I want to go beyond the page level, beyond markup, and begin to classify knowledge and make it accessible to all.  I want to create information hierarchies that are easily understood so that the data can be found and used anywhere it is needed. My interests have revolved particularly around information architecture and increasing accessibility for deaf users. Whenever possible, I have chosen to pursue research assignments that have furthered my knowledge in these areas.

Until recently, I struggled to put a name to this area of study that I see as crucial for me to become the kind of professional I want to be.  When I learned that programs existed for information architecture, I felt as if I had finally found my “tribe.”  For me, specializing in information architecture is all about consolidating the wide breadth of knowledge I have around web development into a single path. I am enjoying the beginnings of my journey down that path and focusing my learning on the organization of data, usability of that data, and hope to eventually help form standards and best practices for the field. Much of my coursework has provided a solid foundation in this field and allowed me to get closer to finding my niche in user interface design and the user’s experience with information retrieval.

Through my graduate studies, I have gained an improved understanding of how users interact with information as well as the systems storing that data and the programs allowing users access to it. Another area that interests me is human factors and thus far in my career, I have had few chances to talk with users to measure their success (or frustration) with websites. Eager to learn more about the human factors aspect when designing and developing systems, I took a course on usability. It gave me a chance to design and conduct my own usability study, allowing me to observe firsthand how people approach using a website. Through these observations, I was able to make well-informed suggestions for improvement based on empirical research, not just my gut feelings about how a site should be designed.

During my career, I have made huge, personal strides towards creating more usable websites. In early 2007 I read Jeffrey Zeldman’s book Designing with Web Standards and it changed my outlook on the building of websites, opening my eyes to a new way of looking at information access. It was the first tangible explanation I had seen for structuring the data of web pages separate from the presentation layer. His work introduced me to the pure CSS coding method and taught me the concept of “semantic markup” which informs my work today. His book also led me to start studying accessibility practices and striving to make information available to all visitors, regardless of browser, device, or disability. I believe earning a Master of Science in Information Studies (MSIS)  will allow me to deepen this knowledge and understanding about what makes for good design, and that will benefit many people.

Using the tools I have acquired from studying information architecture at UT Austin, I want to move beyond being a “code-monkey,” plain and simple. I want to be at the genesis of projects, helping large organizations, such as government or academic institutions, determine the best courses of action for managing their data and creating user-friendly interfaces for retrieval of that data. I want to influence how organizations structure and maintain their information as well as influence the interface through usability testing and interviews. I want to get beyond just being the one who implements designs to being someone who helps create and define those designs with the user in mind.

I view the completion of my MSIS degree as a great beginning, one that will provided the tools and foundation that will truly create a jumping off point for me and my career. I not only learned how to organize information in more intuitive ways or how to better help users interact with information; I also gained new concepts and insights as a web professional. I know I have a lot to offer and I believe this degree will open amazing doors for me, providing the knowledge to create great designs that are usable, accessible, and have a solid base in information architecture.

Gold’s Gym Class Schedule

Another accessibility challenge! I like trying to use websites with just a keyboard, which rarely works. The Gold’s Gym class schedule page is no exception. It has so many elements that respond to clicks only that it’s basically useless to a keyboard. I’m going to address the three issues that make this page unusable.

  1. Week selector
  2. Day selector
  3. Class information details
screenshot of the class schedule page with multiple areas highlighted

These  examples suffer from the same issues:

  • Mark up that prevents keyboard focus
  • JavaScript that does not include key press functionality

The class schedule defaults to the current week and current day to display information. If you want to look at a different week’s schedule, you have to use the tiny forward and backward arrows next to the week dates.

screenshot showing arrows next to the week April 23, 2018 - April 29, 2018

While each arrow is marked up as <a>, it does not get keyboard focus because there is no href attribute.

<a class="display-table-cell text-left" ng-click="vm.changeWeek(-1)"> <i class="material-icons">chevron_left</i> </a>

I solved that issue by adding tabindex="0"

(That’s the recurring theme for this post!)

However, even though the arrows now gain keyboard focus, they do not respond to key presses. Looking at the code I noticed the ng-click attribute, searched to find that’s AngularJS syntax and found there are others such as ng-keypress. I tried using that via the Chrome inspector but it didn’t work. There’s probably more to it to support key presses.

Each day of the week has a similar issue. Let’s look at the code:

<div class="border border-thin" ng-click="vm.setSelectedDay(day)">...</div>

The days are not marked up as buttons or links so again, no keyboard focus and they use the ng-click attribute only. tabindex="0" to the rescue.

screenshot showing three boxes for days of the week Monday April 23, Tuesday April 24, and Wednesday April 25

The last major issue is accessing the details of a class. For a mouse user, clicking a class opens a modal window. (Once on the modal window, keyboard tabbing resumes on the parent page but that’s another issue.)

screenshot of a modal window with close button and class details

For keyboard users, at this point you’re skipped from the “All instructors” select box, passed all the class details, to a form at the bottom of the page.

The whole class details area is marked up as a table. For a mouse user, an entire table row is a hotspot, not just the word Details.

<tr ng-repeat="scheduledClass in vm.filteredSchedules" ng-click="vm.openClassModal(scheduledClass)" class="ng-scope">...</tr>

tabindex="0" to the rescue.

All of these could benefit from using the :focus pseudo class to emulate the hover states for better visibility of what’s in focus.

screenshot of a row from the classes table showing the first row highlighted and in focus

With just a few tweaks, this page would be far more accessible.