
The most efficient way to build accessible websites and apps is to “shift left” by incorporating accessibility testing into the earliest stages of your development and design process. In this article, Harris Schneiderman will walk you through the process of analyzing a wireframe from an accessibility perspective and making coding decisions to optimize for accessibility in both design and developme
HS
Harris Schneiderman·July 21, 2020Frontend 
In this article, Kelvin Omereshone is going to be looking at how to use Chakra UI and NuxtJS in building accessible front-end applications. In order to follow along, you should be familiar with using the progressive front-end framework Vue.js with Nuxt. If not, see the Vue.js and NuxtJS docs to get started. In order to make the web more accessible, there are a couple of best practices and standard
KO
Kelvin Omereshone·July 20, 2020Frontend 
What’s new at Smashing? When’s the next event? Did you miss out on anything? Don’t worry, you’ll find everything gathered here in one place so you don’t need to have a hundred tabs open. (Yes, it has been that busy!) Unfortunately, the effects of COVID-19 are still so wide-reaching throughout the world, so that the Smashing team has had to make big changes to our plans this year.

With so much pressure to be our best selves and use every waking moment to develop skills, it’s easy to lose track of our own wellbeing. Self-improvement and commitment to your craft are great — but only if you find the right balance.

Since React was introduced, it has transformed the way front-end developers build web applications, and its virtual DOM is famous for effectively rendering components. In this tutorial, Shedrack Akintayo will discuss various methods of optimizing performance in React applications, and also the features of React that we can use to improve performance.

In this article, Mike Rogers will introduce you to Stimulus, a modest JavaScript framework that complements your existing HTML. It allowed him to build applications in a way that feels reusable and approachable. While he doesn’t think Stimulus will take over the web like React and Vue have, he thinks it is a worthwhile tool to learn. By the end, you’ll have an understanding of the premise of Stimu

We’re moving all of the 2020 conferences online. We hope this means that more of you can join us for these great line-ups! All of our online conference events will take place on the Hopin platform. We roadtested this platform for our Smashing Meets, and we love the way it allows for social chat and side events alongside the main conference. It’s as close as we can get to an in-person experience.

The Scrabble GO, Instacart and YouTube mobile apps have recently undergone disruptive redesigns. Were they worth it in the end? Judging by their users’ reactions, the answer to that is “No”. But that doesn’t mean that redesigns or design tweaks are a bad idea after launch. In this article, Suzanne Scacca will take a look at the mistakes made and the lessons we can extract from them.

We’re talking about Gatsby. What is it and how does it fit into your web development stack? Drew McLellan talks to expert Marcy Sutton to find out.

In this article, Rachel Andrew takes a look at a new effort to crowdfund the costs of implementing browser features. She encourage developers to use, talk about, and raise implementation bugs with browsers to try to get features implemented, however, what if there was a more direct way to do so? What if web developers could get together and fund the development of these features? This article is b

There is a high possibility that a lot of components in your React application will have to make calls to an API to retrieve data that will be displayed to your users. It’s already possible to do that using the `componentDidMount()` lifecycle method, but with the introduction of Hooks, you can build a custom hook which will fetch and cache the data for you. That’s what Ademola Adegbuyi will cover
AA
Ademola Adegbuyi·July 13, 2020Frontend 
We shipped the first copies of *[Click! How to Encourage Clicks Without Shady Tricks](https://www.smashingmagazine.com/printed-books/click/)* in June, with a little extra something for preorder customers. The book is one of our most creative — beautifully designed and filled with great strategies for increasing conversion without falling into the dead-end routine of dark patterns. It’s a well-time

Transitions are a nice way to remove, change, or update data in an application because their occurrence adds a nice effect and is good for the user experience. In this tutorial, Timi Omoyeni will look at the different ways to apply transitions in both Vue.js and Nuxt.js applications. Using these transitions in your applications and websites create a better visual experience and sometimes draws and

There was a time when marketers used things like urgency, scarcity and FOMO to drive online shoppers to a sale. But scare tactics can actually hurt a brand’s relationships with customers. By their very nature, we run into similar problems with shipping and inventory alerts. That said, there are ways that web designers can keep panic and frustration from seeping into the shopper’s experience. If yo

Tauri is a toolchain for creating small, fast, and secure desktop apps from your existing HTML, CSS, and JavaScript. In this article, Kelvin explains how Tauri plays well with the progressive framework Vue.js by integrating both technologies in bundling an example web app called **nota** as a native application.

If you are the sort of person who doesn’t like reading about things if you can’t use them now, then this article probably isn’t for you — we have many others for you to enjoy instead! However, if you like to know what is on the way and read more about the things you can play with in a beta version of a browser, read on! Today, Rachel Andrew takes a look at some of the interesting CSS features that

Gatsby is a modern static-site generator that has revamped the way static websites are being built. It incorporates React, Node.js, and GraphQL to create stunning and blazing-fast websites. In this post, Aleem Isiaka will introduce Gatsby plugins, discuss the types of Gatsby plugins that exist, differentiate between the forms of Gatsby plugins, and, finally, create a comment plugin that can be use

From June 30th to July 2nd, Google’s web platform team brought together the web community for [web.dev LIVE](https://web.dev/shows/web-dev-live-day-1), a digital event to talk about the latest development to the platform and tools ecosystem, give developers a chance to talk to each other and ask their burning questions to the team. Over the three days, the Google team shared a round of updates and

Testing gives confidence in written code. In the context of this article, ‘testing’ means ‘automated testing’. Without automated testing, it is significantly harder to ensure the quality of a web application of significant complexity. Fails caused by automated testing may lead to more bugs in production. In this article, Chidi Orji is going to show you how React developers can quickly start testin

Statically generated sites or pre-rendering and server-side rendered applications are two modern ways to build front-end applications using JavaScript frameworks. These two modes, yet different, are often mixed up as the same thing and in this tutorial, Timi Omoyeni is going to show you the differences between them. You’ll learn what a server-side-rendered application is, as well as learn about fr

Information architecture is the process of categorizing and organizing information to create structure and meaning. To give this context, in this article Carrie Webster explores not only the basics of information architecture, but also the broader view of the information age, how we use information and how it impacts our world and our lives. Understanding the bigger picture enables us to get a muc

What could be a better way to welcome July than with some colorful inspiration? Well, we might have something for you: wallpapers created with love by artists and designers from across the globe.

We’re talking about CUBE CSS. What is it, and how does it differ from approaches such as BEM, SMACSS, and OOCSS? Drew McLellan talks to its creator, Andy Bell, to find out.

In this tutorial, Chidi Orji will show you how to work with Firebase push notifications in the backend and frontend. We’ll set up the notifications system with an Express back-end server. Afterwards, you’ll listen for the notifications in a React front-end app. You will implement the backend first, then move on to the frontend. In that way, you can use whichever section appeals more to you. So let

In the tenth issue of Inspired Design Decisions, Andy Clarke will explain how Giovanni Pintori — the Italian graphic designer best known for his work with Olivetti — can inspire design for the web with his distinctive use of color and shape. Andy will teach you how to use color to attract attention and then to lead someone’s eye around a design. He’ll discuss how a minimal color palette can act as

Front-end developers and designers create amazing static assets for web applications. Today, Philip Kiely will be focusing on what happens after the style hotfix or beautiful graphic you just finished is pushed to master. He’ll also investigate handling files that users upload, called media files. Together, you’ll develop an intuition for the strategies available to Django developers for serving t

Building a well-functioning application requires good testing; otherwise, knowing whether your application works as expected would be a matter of guesswork and luck. Jest is one of the best tools available for testing React applications. In this article, Adeneye David Abiodun will show you everything you need to create a solid test for your React components and application.
AD
Adeneye David Abiodun·June 24, 2020Frontend 
We’re at a point now where restaurants can no longer be reluctant or stingy about improving their digital presence. And, as a web designer, this should get you excited. The restaurant industry has begun to undergo a major digital transformation. Those that want to survive will need a website that can handle the new way of operating, which means they can no longer afford to hold onto that cheap web

In this article, we’ll be looking at a new way of retrieving data in React Apps named SWR. This is a set of hooks for remote data fetching that makes things easier, such as caching, pagination, and so on.

Every month, we present an overview of things the Smashing team has been working on — all in one place. We organized Smashing Meets on three days — events that were open to everyone in the web community. With sessions on performance, CSS, GraphQL, and creative courage, we made sure to leave plenty of time for Q&A, networking, competitions and prizes. The past few weeks have been quite challenging:

The ancients can teach us a thing or two about design — even web design. The Roman architect Vitruvius had buildings in mind when laying out his golden triad, but its principles are just as applicable to the web as they are to brick and mortar. Today’s article is about architecture, and how some of its core tenets apply to the worldwide web. Architectural terms are not unusual in web development,

When using cross-platform frameworks, people might forget the nuances of each of the platforms they want their code to run on. This article aims to address that. Today, Carmine Zaccagnino is going to see some of those differences and how to overcome them. More specifically, he’re going to talk about storage and UI differences, which are the ones that most often cause confusion to developers when w

UI or User Interface test is a form of acceptance testing done to verify the user flows of your front-end application. The emphasis of these kinds of software tests is on the end-user that is the actual person who will be interacting with your web application on a variety of devices ranging from desktops, laptops to mobile devices. In this final part of Mirage JS Deep Dive series, Kelvin Omereshon

In this article, we’re going to learn how to use Immer to write reducers. When working with React, we maintain a lot of state. To make updates to our state, we need to write a lot of reducers. Manually writing reducers results in bloated code where we have to touch almost every part of our state. This is tedious and error-prone. In this article, Chidi Orjil going to see how Immer brings more simpl

In this episode of the Smashing Podcast, we’re talking about learning React. What’s React like to work with, and how can experienced developers get started? Drew McLellan chats to Mina Markham to find out.

With the right apps, working from home is a blessing for those with a disability. Working from home allows you to attend to your medical needs in ways that might be disruptive in an office, like running a nebulizer or using an IV. Or you may avoid the hassle of navigating a building that’s not truly accessible. In this article, Claudio Luis Vera explains what to keep in mind when choosing between

Adding Internationalization to your Vue.js application has a lot of use cases and in this tutorial, we’re going to learn how to do this with the Vue I18n plugin and how to set it up in our application.

In this article, Adeneye David Abiodun explains how to build a facial recognition web app with React by using the Face Recognition API, as well as the Face Detection model and Predict API. The app built in this article is similar to the face detection box on a pop-up camera in a mobile phone — it’s able to detect a human face in any image fetched from the Internet. Please note that you will need t
AD
Adeneye David Abiodun·June 11, 2020Frontend 
So far, we have seen how we can create records with Mirage, intercept API requests via route handlers and, last but not least, how the shape of the data returned to us from Mirage is affected. In this third part of Mirage JS Deep Dive series, Kelvin Omereshone will be focusing on using `response`, `timing` and `passthrough` in Mirage for a better handle on simulating an actual backend server. Howe

Stress isn’t just something that makes people feel uncomfortable. It stimulates the urge to “fight” or “flight”. The very last thing you want is to design a website that stresses visitors out, leading them to dread the experience or abandon it entirely. There are many things that might invoke this response from your visitors, including the design. In the following guide, we’re going to look at som

To make the move from “site” to app, we’ll need to dive into the world of “app-generated” content. In this article, Bryan Robinson will get you started in this world with the power of serverless data. He’ll start with a simple demo by ingesting and posting data to FaunaDB and then extend that functionality in a full-fledged application using Auth0, FaunaDB’s Token system and User-Defined Functions

Right questions don’t simply roll off the tongue, but it’s a handy skill everyone can train. The following pieces of advice will help you to formulate questions that foster reliable answers from your users and clients. Slava Shestopalov will talk about 12 kinds of questions explained with examples. The first part includes six frequent mistakes and how to fix them. The second part presents six ways

In this tutorial, Shedrack Akintayo is going to learn about higher-order components, the syntax of higher-order components, as well as use cases for them. In the process, you will build a higher-order component from an existing React component. By the end of this tutorial, you will understand the basics of higher-order components and how to build them.
SA
Shedrack Akintayo·June 8, 2020Frontend 
Constructing an equivalent experience may mean changing the way you think about development and design, and potentially reevaluating your existing work. In this article, Eric Bailey will discuss learning how to embrace an equivalent, inclusive mindset. He will also provide practical, robust ways to improve your websites and web apps by providing solutions to common, everyday barriers cited by the

We stand firmly behind the Black Lives Matter movement. We have always stood strongly behind introducing a wide range of voices to Smashing publications and conferences. Positive change is difficult, but it’s possible. It takes work, time, and dedication. We are fully committed as a team to see it through.

Getting a client or stakeholder to approve a design concept can be challenging. However, testing can make it easier, as well as ensuring you have the right solution. In this post, Paul Boag will explore some of the advantages testing design concepts can provide to us as designers, and demonstrate that you can do it cheaply and without slowing down the delivery of the overall project. Let’s begin!

If you’re a React developer who’d like to learn how you can start consuming APIs in your React applications, then this article is for you. Consuming REST APIs in a React Application can be done in various ways, but in this tutorial, Shedrack Akintayo will be discussing how we can consume REST APIs using two of the most popular methods known as Axios and Fetch API. You will learn what a REST API is
SA
Shedrack Akintayo·June 3, 2020Frontend 
Whether we are designers, marketers, entrepreneurs, or product owners, we are all in the same boat. We want to give users a good experience, but we also need them to take action. Meet “Click!”, our new practical guide on how to build trust, increase conversion and boost business KPIs effectively — without alienating people along the way. Written by Paul Boag. Jump to table of contents and get the

In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.

In this article, Chidi Orji will explore the concept of error boundaries in a React application. You’ll work through an example app to see how we can use error boundaries to deliver a better app experience. Finally, you’ll integrate Sentry into our error boundary for realtime error reporting. The only prerequisite is that you have some familiarity with React class components. Let’s dig in!

Do you need a little inspiration boost? Well, then our new wallpapers collection is for you. Designed with love by the community for the community, the wallpapers are available with and without a calendar for June 2020.

In this post, Rachel Andrew looks back at our successful Smashing Meets, A free event across two days and many timezones, with three speakers each day and plenty of chance for attendees to chat and ask questions of the speakers. Toady, she considers how we will take everything we learned to make our Smashing Live conference even better.

Factories are a faster way to create new database records., A fixture is a state of a set or collection of objects that serve as a baseline for running tests, and a serializer is responsible for transforming the response. In this second part of the Mirage JS Deep Dive series, Kelvin Omereshone will be looking at Mirage JS’ Factories, Fixtures, and Serializers. You’ll see how they enable rapid API

User research helps companies make higher quality software faster and more cost-effectively. However, there can sometimes be resistance to the up-front costs of running UX studies. In this article, Steve Bromley will equip you with some of the tools you will need to run the right kind of research study. This helps a research team run high quality, reliable studies that have a real impact on design

Pug is a template engine that allows you to write cleaner templates with less repetition. In Angular, you can use Pug to write component templates and improve a project’s development workflow. In this article, Zara Cooper In will cover how you — as an Angular developer — can use Pug to write better templates more efficiently. You’ll learn how to install Pug in your Angular apps and transition exis

Our industry tends to place a lot of focus on how, often at the expense of why. An equivalent experience is one that has been deliberately conceived of and built to be able to be used by the widest possible range of people. To create an equivalent experience, you must understand all the different ways people interact with technology, as well as common barriers they experience. Once you have a comm

A desk is an essential piece of equipment for a web designer. Without it, you’d end up working from wobbly tables at cafes or staring down at your lap all day — uncomfortable options, to say the least. Then again, your desk could also cause you discomfort if you sit in it the wrong way or for too long. Rather than feeling like your desk is a torture device, Suzanne Scacca shares some pointers for

Axios is a promise-based HTTP client that works in the browser and Node.js environment or, in simpler terms, it is a tool for making requests in client-side applications and Node.js environment. In this tutorial, Timi Omoyeni will learn how to make a request in our Nuxt.js applications using the Axios module. You will also learn how to use the `ayncData` and `fetch` methods to fetch data on the se

Tailwind is a popular utility-first CSS framework that provides low-level class names to web developers. It does not have any JavaScript and works well with existing frameworks such as React, Vue, Angular, Ember, and others. Whilst this is positive, it can be confusing for new developers to understand how to integrate Tailwind in their applications. In this article, Tilo Mitra will explore ways to

Great logo design can do incredible things for the company behind it. Set the tone for the brand. Improve memorability. Help users emotionally connect to the brand. Create consistency between all marketing channels. Set it apart from the competition. But as a web designer, do you know how to tackle the lofty request of logo design when a client brings it to you?