The Gnarly Bits of Product Design

As designers, we focus on the core interaction and forget the bits and pieces around it. The stuff that some people refer to as ‘polish’.

Here is a brain dump of my top easy to forget but important design stuff.

  • defining which events should be tracked
  • did we consider loading states, especially for users on slow connections?
  • how about error handling for total connection loss?
  • are we handling component-level failure states to prevent the whole UI from breaking?
  • does this change have some cascading impact on another part of the product?
  • does this action need a toast message to give user feedback?
  • do we need a tooltip to guide users? If so, what should the copy be?
  • should this action have a keyboard shortcut? If so, which one makes sense (and is it available across OS and browser combos?)
    • should the shortcut be included in the tooltip (refer to the previous point)
  • is the UX copy clear enough for everyone to understand?
  •  did we consider the most extreme case e.g.
    • in a file upload flow a user who tries to upload 1k files at a time
    • in a text input field someone who writes 1 character and someone who writes 100k characters
  • if we are working with APIs did we consider what happens if we hit the rate limit?
  • what happens with wrapping and truncating text? (some users will have browser-level translations leading to longer than expected text span)

How do we avoid forgetting this stuff?

My current approach is to create a Linear template for every design issue. It ain’t much, but it’s a start.

Posted:

Categories: