Stop Lying to Your Users: Insights from Kent C. Dodds (Frontend Nation Talk)

Stop Lying to Your Users: Insights from Kent C. Dodds (Frontend Nation Talk)

Kent C. Dodds' Frontend Nation talk urges developers to stop misleading users about their apps' readiness. He suggests using server-side rendering, graceful degradation, and HTML forms to align user perception with actual application state.

Ana Marija Majkić

Ana Marija Majkić

June 4, 2024

In his talk at Frontend Nation, Kent C. Dodds challenged us to rethink how we design and build web applications, urging us to stop lying to our users. Through a series of insightful examples, Kent shed light on a common issue plaguing many modern websites and web apps - the disconnect between what the user perceives and the actual state of the application.

The Lie We Told Our Users

Kent defined a lie as something that "misled or deceived" the user. He presented several examples to illustrate this concept. Two selected ones many companies are guilty of:

  1. Chase.com: The website initially showed a footer and some spinners, giving the impression that the page was fully loaded, when in reality, the dynamic content was still being fetched and rendered.
  2. YouTube.com: The initial HTML file sent by the server contained only enough information to display a basic fallback UI, while the actual search functionality was delayed by the download of a large JavaScript bundle.

The common thread in these examples was that the application appeared ready and functional, but the user was ultimately met with a subpar experience due to hidden limitations or ongoing processes.

Embracing a Progressive Approach

Kent proposed a simple principle to address this issue: "If the app isn't ready, don't make it look like it is."

He suggested several strategies to implement this approach:

  1. Server-side Rendering (SSR): By rendering the initial page on the server and delivering it to the client, the user could be presented with a fully functional UI from the start, without the need for excessive client-side JavaScript.
  2. Graceful Degradation: When SSR was not feasible, Kent recommended using techniques like setting cookies to hide dynamic content until it was ready, or reserving space for ads and other dynamic elements to prevent layout shifts.
  3. Leveraging HTML Forms: Kent pointed out that the web already had a built-in solution for user interactions - HTML forms. By embracing the native capabilities of the web platform, developers could provide a more reliable and responsive user experience.

The key takeaway was that by aligning the user's perception with the actual state of the application, we could create more honest and trustworthy experiences, ultimately empowering users and building stronger relationships with them.

To learn more about these insights and practical strategies for improving web development practices, watch Kent C. Dodds' full talk on Stop Lying to Your Users. You'll discover how to apply these principles to create more transparent and user-centric applications.

Watch the full talk here to see all the scenarios Kent raised.

© All rights reserved. Made with 💛 by BitterBrains, Inc.