• How Partytown Eliminates Website Bloat From Third-Party Scripts

    Great user experience starts with a page that loads instantly. The average user doesn’t spend much time waiting for a web page to load or to interact with the page: According to Google, if a page’s load time goes up from 1 second to 3 seconds, the probability of the user bouncing increases by 32%. […]

    READ MORE
  • CTA Modal: How To Build A Web Component

    I have a confession to make — I am not overly fond of modal dialogs (or just “modals” for short). “Hate” would be too strong a word to use, but let’s say that nothing is more of a turnoff when starting to read an article than being “slapped in the face” with a modal window […]

    READ MORE
  • Boosting UX With Design KPIs

    Imagine that you’ve just received an invite to a new meeting. The description is a bit vague, but the title is sitting right there, with its heavy weight, making you a bit worried: design KPIs. Now, what do you think the meeting is going to be about? It wouldn’t be surprising to hear about conversion […]

    READ MORE
  • Preventing Bad UX Through Integrated Design Workflows

    Let’s take a moment to think about the time you’ve spent navigating intranets, password resets, project management software, or government websites. How many moments of technological frustration can you add up in the last few days when you think about them? Some of these websites and platforms are too important to avoid — they enable […]

    READ MORE
  • What If Our Sliders Actually Slid?

    One of my main mantras is using “Creative Coding” to level up your skills. It’s one of the main reasons I have gotten to where I am. But when so much of the web is very “set in its way”, it takes a little more for us to think “outside the box” and have fun! […]

    READ MORE
  • Testing The CLI The Way People Use It

    Thousands of tools for the command-line interface (CLI) are out there, without exaggeration. They serve all kinds of purposes. Yarn is one of the most used CLIs in the world, bringing ease to the package management of millions of projects. Others are narrower in scope, serving as a way to communicate with a particular tool […]

    READ MORE
  • Designing Better Navigation With Navigation Queries

    When designing interfaces, we often focus on the usual suspects. How do we design better mega-menus and carousels? How do we support users with better breadcrumbs? How do we better display our sidebar navigation? And how do we provide a better search experience, along with decent filtering, sorting and search? While all these features for […]

    READ MORE
  • Productivity Tips And Tools For A More Efficient Workflow

    Sometimes it’s the little productivity hacks that turn out to be the most precious. A shortcut or tool that saves only a few seconds of your time but that makes you wonder how you could have gotten along without it. In this post, we compiled productivity tips and tools to help you in your day-to-day […]

    READ MORE
  • Jamstack Rendering Patterns: The Evolution

    In the early days of the Jamstack, developers mostly used it for static sites and opt for a more verbose frontend framework like Vue and React when they need to perform more sophisticated operations like server-side rendering in web applications. The need for adding dynamic functionalities to web apps never went away, but it didn’t […]

    READ MORE
  • The Ultimate Guide To Push Notifications For Developers

    I’ve spent the past several years building messaging tools — for more than three years now I’ve been leading the design team at OneSignal, a customer engagement platform that enables developers and marketers to send transactional and promotional messages via push, in-app, email and SMS. I’ve learned a lot about how messaging works including the […]

    READ MORE
  • How To Use Storytelling In UX

    As human beings, we love stories. And stories come in all shapes and sizes. Children love fairy tales; teenagers ask “and then what happened?” when their friends recount gossip; history buffs explore biographies for insight into famous personalities; science lovers enjoy documentaries that offer explanations of the world around us; and everyone likes a satisfying […]

    READ MORE
  • When And How To Use Freelancers In Your Organization

    Using freelancers has always been a somewhat divisive subject. Freelancers can be a helpful addition to any team when used in the right way and at the right time. But when is that right time? How do you find a good freelancer? How can platforms like Upwork help? How do you ensure your freelancer will […]

    READ MORE
  • Designing A Better Carousel UX

    Carousels don’t have a good reputation, and rightfully so. They have plenty of accessibility issues, they often exhibit low click-through rates, can be very disruptive when auto-advancing and people frequently scroll past through them. Add to it small progress dots with tiny tap areas, barely visible labels and a bit of parallax, and you have […]

    READ MORE
  • Boost Resource Loading With fetchpriority, a New Priority Hint

    JavaScript, CSS, images, iframes, and other resources impact how quickly website loads, renders and becomes usable to the user. Loading experience is crucial to the user’s first impression and overall usability, so Google defined Largest Contentful Paint (LCP) metric to measure how quickly the main content loads and is displayed to the user. The main […]

    READ MORE
  • Around The Artifacts Of Design Systems (Case Study)

    It can be easy to assume that everyone needs a design system, that you can pick one off the shelf or put one together pretty quickly, and your problems are over. As with many things on the web, your mileage may vary. What I want to share with you are some observations from the last […]

    READ MORE
  • Dynamic Data-Fetching In An Authenticated Next.js App

    Next.js has five types of data-fetching patterns for determining how you want content to be seen in your application: static-site generation (SSG), server-side rendering (SSR), client-side rendering (CSR), incremental static regeneration (ISR), and dynamic routing. You can choose whichever of these patterns that suits the structure of your application. To learn more about these patterns, […]

    READ MORE
  • Designing Better Breadcrumbs

    Nobody gets particularly excited about breadcrumbs navigation. You know, those tiny little crumbles of pathways that illustrate where a user currently is in the intricate hierarchy of the website. Their design is seemingly obvious, so is their position on the page, and it doesn’t seem like much innovation is required for breadcrumbs to shine. As […]

    READ MORE
  • Devs For Ukraine, A Free Online Charity Conference 🇺🇦

    In these difficult times, we all are Ukraine. Today we would like to highlight a wonderful initiative from the community: Devs For Ukraine, a free online charity conference in support of Ukraine, organized by the lovely people at Remote. The conference will take place April 25–26, 2022, with the goal to raise funds and provide […]

    READ MORE
  • How To Get Work Done: Wrangling Stakeholders And Overcoming Obstacles

    A long time ago, in a galaxy far, far away, I could build a website from beginning to end by myself with nobody interfering. I would create the content, design the look and feel, and write the code. Nobody understood what I did, and nobody cared. It was glorious. Today, the web has got complicated, […]

    READ MORE
  • How To Build A Progressively Enhanced, Accessible, Filterable And Paginated List

    Most sites I build are static sites with HTML files generated by a static site generator or pages served on a server by a CMS like WordPress or CraftCMS. I use JavaScript only on top to enhance the user experience. I use it for things like disclosure widgets, accordions, fly-out navigations, or modals. The requirements […]

    READ MORE