• State Management In Next.js

    This article is intended to be used as a primer for managing complex states in a Next.js app. Unfortunately, the framework is way too versatile for us to cover all possible use cases in this article. But these strategies should fit the vast majority of apps around with little to no adjustments. If you believe […]

    READ MORE
  • Stories Of September (2021 Desktop Wallpapers Edition)

    September is just around the corner, and, well, that means… it’s time for some new wallpapers! Since more than ten years now, our monthly wallpapers series is the perfect opportunity for artists and designers from all across the world to challenge their creative skills and dive into a little project just for fun. Telling the […]

    READ MORE
  • Refactoring CSS: Optimizing Size And Performance (Part 3)

    In previous articles from this series, we’ve covered auditing CSS codebase health and the incremental CSS refactoring strategy, testing, and maintenance. Regardless of how much the CSS codebase has been improved during the refactoring process and how much more maintainable and extendable it is, the final stylesheet needs to be optimized for the best possible […]

    READ MORE
  • Compound Components In React

    Compound components help developers build more expressive and flexible APIs to share state and logic within components. This tutorial explains how this can be achieved with the help of using the Context API and React to build components by using this advanced pattern. Note: In order to be able to follow along, you’ll need a […]

    READ MORE
  • Pushing Back Against Privacy Infringement On The Web

    At the ripe old age of 25, nytimes.com is now older than some of the people who work building it. Wikipedia turned 20 this year, and the first browser shipped 30 years ago. The Web has over 4 billion internet users and is nearing 2 billion websites. By this point, it’s reasonable to expect to […]

    READ MORE
  • Creating A Public/Private Multi-Monorepo For PHP Projects

    To make the development experience faster, I moved all the PHP packages required by my projects to a monorepo. When each package is hosted on its own repo (the “multirepo” approach), it’d need be developed and tested on its own, and then published to Packagist before I could install it on other packages via Composer. […]

    READ MORE
  • How To Automate Documentation Workflow For Developers

    To get the most out of this tutorial, you should be familiar with: Git, GitHub and Linux and the command line. Why Should You Care About High-Quality Documentation? Many teams struggle with writing documentation. When you go to check a framework, the documentation will often be out of date or unclear. This can lead to […]

    READ MORE
  • HTTP/3: Performance Improvements (Part 2)

    Welcome back to this series about the new HTTP/3 protocol. In part 1, we looked at why exactly we need HTTP/3 and the underlying QUIC protocol, and what their main new features are. In this second part, we will zoom in on the performance improvements that QUIC and HTTP/3 bring to the table for web-page […]

    READ MORE
  • Jamstack CMS: The Past, The Present and The Future

    The world’s first website was made from static HTML files created in a text editor. While it looks unassuming, it laid the foundation for the web we have today. Fast-forward 30 years, and website technology has changed significantly — we have images, stylesheets, JavaScript, streaming video, AJAX, animation, WebSockets, WebGL, rounded corners in CSS — […]

    READ MORE
  • How To Build An Ethical User Research Practice At Any Organization

    Ethics are an important part of human-computer interaction because they keep people at the heart of the design process. Unethical practices at companies lead to the creation of technology that we all use but often neglect the influence of those intended to serve. As seen in the discussions about privacy at Facebook and AI-powered imaging […]

    READ MORE
  • Creating An Interactive Gantt Chart Component With Vanilla JavaScript

    If you work with time data in your app, a graphical visualization as a calendar or Gantt chart is often very useful. At first glance, developing your own chart component seems quite complicated. Therefore, in this article, I will develop the foundation for a Gantt chart component whose appearance and functionality you can customize for […]

    READ MORE
  • Free Open-Source Icons

    It’s incredible to see people from all across the world putting all their love and lots of hours into something that they then release for free, for everybody to use. They help projects on a tight budget shine, without asking for anything in return — and, of course, they never cease to inspire. In this […]

    READ MORE
  • How To Develop Your Business’ Technology Roadmap

    When people have an idea for a piece of software or an app, they tend to be pretty energized about getting it to market as quickly as possible. It’s exciting to create an app or piece of software no one’s ever imagined or built before. As software developers, we’re usually right there with them. At […]

    READ MORE
  • Useful Figma Plugins And Tools

    There are literally thousands of Figma plugins out there. Which ones do you use? How often do you use them? We’ve scouted for some of the useful ones, and we hope that the ones listed below will help you improve your workflow. Whether you’re just starting out with Figma or have been using it for […]

    READ MORE
  • New Smashing Workshops on Front-End & Design

    You might know it already, but perhaps not yet: we regularly run friendly online workshops around front-end and design. We have a couple of workshops coming up soon, and we thought that, you know, you might want to join in as well. All workshops sessions are broken down into 2.5h-segments across days, so you always […]

    READ MORE
  • Handling Mounting And Unmounting Of Navigation Routes In React Native

    In this article, we are going to walk through mounting and unmounting of navigation routes in React Native. An expected behavior of your app is that once the authentication condition is met, a new set of navigation routes are available only to logged-in users, while the other screens which were displayed before authentication is removed […]

    READ MORE
  • Cookieless Alternative To Embed HTML, CSS And JS Code Snippets

    When we implement websites today, we are confronted by a lot of things we need to take care of. Ideally, we want to have a fast, secure, accessible, and fair website. At the same time, we want to have an interactive website with comments, polls, videos, code examples, and many more. Together with a friend, […]

    READ MORE
  • Smashing Podcast Episode 41 With Eva PenzeyMoog: Designing For Safety

    In this episode, we’re talking about designing for safety. What does it mean to consider vulnerable users in our designs? Drew McLellan talks to expert Eva PenzeyMoog to find out. Show Notes Design for Safety from A Book Apart The Inclusive Safety Project Eva on Twitter Eva’s personal site Weekly Update How To Build An […]

    READ MORE
  • HTTP/3 From A To Z: Core Concepts (Part 1)

    You may have read some blog posts or heard conference talks on this topic and think you know the answers. You’ve probably heard things like: “HTTP/3 is much faster than HTTP/2 when there is packet loss”, or “HTTP/3 connections have less latency and take less time to set up”, and probably “HTTP/3 can send data […]

    READ MORE
  • Four Useful VSCode Extensions For Web Developers

    Inline Parameters Which param is the array and which is the callback in PHP functions array_map and array_filter? I can never get it right. To avoid this confusion we can use Inline Parameters, which prints inline the names of the function parameters (for JavaScript, TypeScript, PHP, and Lua). HTML End Tag Labels With deeply nested […]

    READ MORE