Gutenberg Designers Explore Adding Configuration Options to Block Editor Onboarding Modal

Gutenberg designers are considering replacing the current welcome guide modal with a new onboarding screen that prompts users to configure some of the editor’s many individual preference settings.

The existing welcome setup was designed during the earlier days of the block editor when many WordPress users were experiencing it for the first time. It briefly introduces users to the concept of blocks and invites them to customize them. The editor has matured since this welcome guide was created and it could use an update.

The existing welcome guide

The editor is now loaded with more settings for personalizing the content creation experience, such as document toolbar placement and accessibility features, that users may not ever discover on their own.

“To create an editing experience that feels intuitive, folks will often need to tailor these settings based on their individual preferences and needs,” Automattic-sponsored designer James Koster said in a post on the Make Design blog. “There is no such thing as a one-size-fits-all.

“Instead of relying on people to find these settings on their own (admittedly they’re a little scattered, but that’s another issue), it might be good to surface them during onboarding. Consequently, users can set up a comfy editing experience straight-away.”

Koster is proposing users configure these settings when getting started with the editor for the first time. He shared a video demonstrating how that might look.

The modal is much bigger than the existing welcome guide. It is also more interactive. When users mouse over the options in the left side, it shows a preview in the right side of the modal. The following user preferences are included in Koster’s prototype:

  • document toolbar display
  •  the block toolbar
  • text formatting tools
  • accessibility options for toolbar button display, editor styles, and block keyboard navigation

The first screen of the modal allows users to skip the setup and go straight to writing. This will be useful for those who do not care to configure any user preferences or those who are in a hurry.

Koster posted the proposal a couple weeks ago, asking whether it is a good idea in the first place, but hasn’t received much critical feedback.

Visually, the larger modal is an improvement on the existing welcome guide, but will it be overwhelming to users who are brand new to the block editor? Will it even make sense to them? A certain level of familiarity with the block editor is required to have any context for the editor customization options. An onboarding wizard with a lot of new terms could take a psychological toll on new users. It’s a lot to take in before getting started in the editor. Are these preferences so important that they need to be the first thing users see when they open the editor? Something like this will need some real user testing before it makes its way to millions of users.

Koster and the Gutenberg design contributors are still looking for feedback on the project. If you have thoughts on these designs or suggestions, leave a comment on the proposal.

APIs Are Now at the Center of Digital Transformation

As we take stock of how COVID-19 has affected the way we operate, nothing in technology is more apparent than the switch to digital. Although many of us have transitioned from water-cooler conversationalists to reluctant Zoom dwellers, the impact on business processes themselves might actually be more profound.

According to McKinsey, coronavirus has acted as an accelerant on companies offering digital products and services. Across all business areas, digital adoption has accelerated to such a degree that it’s the equivalent of fast-forwarding six years so that we’re now operating in 2027, where 60% of all businesses in the US employ digital processes.

Acceleration of Digital Adoption Was 6 Years Due to Coronavirus McKinsey Study

Where Does Cybersecurity Go from Here?

I had the opportunity to hear Chris Krebs, founding partner of the Krebs Stamos Group and former director of the Cybersecurity and Infrastructure Security Agency (CISA) deliver the opening keynote at the 25th Black Hat Security Conference.

For 25 years, the InfoSec community and industry have chipped away at security vulnerabilities in technology with research and adversary insights. For 25 years, vendors and software firms have introduced new products and protection. With the last 25 years as prologue — and as we look to the next 25 years — we need to ask, "Are we on the right track?"

Multi-tenancy Architecture With Shared Schema Strategy in Webapp Application Based on Spring-boot, Thymeleaf, and Posmulten-hibernate (Part 1)

Potential Problem and Solution

Let's imagine that we are a SaaS solution provider.  Your customers are primarily companies that want to have their own space in the scope of your service where their users can work together around your service. In this article, we will refer to your clients as tenants.  The solution uses a relational database. During architecture design, when you already know that you will pick a relational database, you may face of choice between a single database or multi-tenant architecture.

Suppose there is a requirement that the application should allow sharing of data (CRUD) between tenants, and sharing by calling REST API or some queue solution is not acceptable from a performance standpoint. In that case, a single database solution seems to be the most reasonable in which you just need to execute SQL operations. Although with some compromise, you might achieve the same effect with multi-tenancy architecture that uses a shared schema strategy by defining some of the tables that should not be isolated by the discriminator column (described in the latter part of the article) and applying additional queries that are used for authorization. However, we must remember that isolating tenant data in the single database solution requires a lot of additional code that the developer has to implement to protect data. This approach might complicate implementation without mentioning sharing data, making developers work much harder. In case when sharing data between tenants is not our requirement. A single database solution can still be our choice, but the additional code we would have to implement increases the time and effort to deliver it. By choosing multi-tenancy architecture, we might get rid of this problem.  Of course, choosing this approach comes to some other challenges that we would not have with a single database, and they are different depending on the picked strategy, but this topic is for another article. To go ahead with multi-tenancy architecture, we must decide which strategy to pick. The most popular three strategies are separate database, separate-schema, and shared-schema. And also, in this case, each strategy has pros and cons. From an isolation standpoint, the strategy of a separate database guarantees the highest level. And shared schema strategy has the lowest level compared to mention two others. That is why it is important to ensure your potential customer agrees that his data will be stored in the same schema. As for performance, the separate database seems to be the best choice. Although the application would have managed a database connections pool for each tenant, operations on a single database would be executed only for one tenant. But also, please remember that by implementing the separate schema or shared schema strategy, we can combine it with a separate database. For example, by keeping one group of tenants in a single database with a separate/shared schema and one tenant, we have guaranteed the highest performance and data isolation level in a separate database. Such an approach would also require some wise routing strategy, but this topic is for another article.  The most significant advantage of the shared schema strategy is that it requires the least amount of resources, reducing costs. It would help if you considered other things when choosing the right strategy, like DDL operations execution, fault tolerance, and many others. But it is not the topic for this article.

Java Thread Programming (Part 3)

Continuing from part 2, let’s start this article with a bit of context first (and if you don’t like reading text, you can skip this introduction, and go directly to the section below where I discuss pieces of code).

Context

  • When we start an application program, the operating system creates a process.
  • Each process has a unique id (we call it a PID) and a memory boundary.
  • A process allocates its required memory from the main memory, and it manipulates data within a boundary.
  • No other process can access the allocated memory that is already acquired by a process.
  • It works like a sandbox, and in that way, avoids processes stepping on one another's feet.
  • Ideally, we can have many small processes to run multiple things simultaneously on our computers and let the operating system's scheduler schedule them as it sees fit.
  • In fact, this is how it was done before the development of threads. However, when we want to do large pieces of work, breaking them into smaller pieces, we need to accumulate them once they are finished.
  • And not all tiny pieces can be independent, some of them must rely on each other, so we need to share information amongst them.
  • To do that, we use inter-process communication. The problem with this idea is that having too many processes on a computer and then communicating with each other isn’t cheap. And precisely that is where the notion of threads comes into the picture.

The idea of the thread is that a process can have many tiny processes within itself. These small processes can share the memory space that a process acquires. These little processes are called "threads." So the bottom line is that threads are independent execution environments in the CPU and share the same memory space. That allows them faster memory access and better performance.

Integrate Oracle Database With Apache Kafka Using Debezium

Oracle Databases are used for traditional enterprise applications, cloud-native use cases, and departmental systems in large enterprises. Debezium connector for Oracle is a great way to capture data changes from the transactional system of record and make them available for use cases such as replication, data warehousing, and real-time analytics.  

What Is Debezium?

Debezium is an open source distributed streaming platform for change data capture (CDC) that provides Apache Kafka Connect connectors for several databases, including Oracle.

On Some Aspects of Big Data Processing in Apache Spark, Part 2: Useful Design Patterns

In my previous post, I demonstrated how Spark creates and serializes tasks. In this post, I show how to utilize this knowledge to construct Spark applications in a maintainable and upgradable way, where at the same time "task not serializable" exceptions are avoided.

When I participated in a big data project, I needed to program Spark applications to move and transform data from/to relational and distributed databases, like Apache Hive. I found such applications to have a number of pitfalls, so all "hard to read code," "method is too large to fit into a single screen," etc. problems need to be avoided for us to focus on deeper issues. Also, Spark jobs are similar: data is loaded from a single or multiple databases, gets transformed, then saved to a single or multiple databases. So it seems reasonable to try to use GoF patterns to program Spark applications. 

Understanding the Good and the Bad of .NET Development Framework

.NET development framework has gained a lot of popularity in the dev market. It is used by millions of developers to create a variety of software applications. The reason is that .NET offers a plethora of features to develop any type of software product as per the given requirements. Furthermore, the platform has seen great advancements in the last few years, providing more ease to the developers to create cross-platform applications. This has further increased the popularity of the .NET framework, encouraging more developers to join its gigantic dev ecosystem.

The recent introduction of .NET 6 has further strengthened the development infrastructure of the platform. It has now become more feature-rich than ever, allowing developers to create advanced applications for the cloud, IoT, desktop, and mobile devices. You can also call it a perfect unified platform where you can get tons of development options according to your requirements. All you need to do is just become proficient in those dev technologies that are offered by .NET, such as Xamarin, ASP.NET Core, and others.

Compare the Best Rank Tracking Tools

Want to jump straight to the answer? The best rank tracking tool for the majority of users will be Semrush or SE Ranking.

For website owners, search ranking results are everything. You need to know whether your search engine optimization (SEO) strategies are working and where and how to adjust your keyword emphasis on the fly.

When you want to measure your search engine result pages (SERPs), the best rank tracking tools provide this information. These tools show you the progress you are making over time, while also giving you real-time information.

The Top 6 Best Rank Tracking Tools

  1. Semrush – Best overall
  2. SE Ranking – Best for real-time tracking of keywords
  3. Ahrefs – Best for tracking backlinks
  4. SERPWatcher by Mangools – Best for daily rank tracking updates
  5. Wincher – Best for rank tracking on a budget
  6. Serpstat – Best for SEO campaigns

Finding just the right rank tracking software to use with your website can be a challenge. We will break down the most important aspects of each of these tools, helping you find the software that delivers the features you need.

#1 – Semrush – Best Overall

  • Customizable historical site rankings
  • Tracks performance in special categories
  • Monitors your competitors’ sites
  • Delivers alerts after ranking changes
Try for free

Semrush delivers a wide range of features for keeping an eye on your site’s SEO results.  

You’ll receive a historical ranking of your site’s keywords over time, helping you track your progress. You can group these rankings to show which keywords are giving you a top three, a top 10, or a top 100 ranking.

Should any of your pages rank in areas outside of general search, such as in featured snippets, Semrush will highlight these results. 

Semrush Keyword Research landing page

For those who need to go beyond the most common features found with rank tracking software, Semrush delivers. You can receive help with:

  • Researching additional keywords for your site
  • Seeking high-quality backlink opportunities
  • Analyzing your competitors
  • Auditing your webpages for SEO performance
  • Receiving suggestions for content creation
  • Helping with your overall digital marketing campaign
  • Tracking your social media performance

Should any of your site rankings shift upward or downward in a significant manner, Semrush will send you alerts. You then can determine whether you want to make changes to your content.

When you want to track the performance of your competitors, you can add up to 10 sites to track. 

Semrush offers multiple pricing tiers ranging from about $100 per month to $375 per month when you subscribe annually. Your price depends on the number of keywords you are tracking. You can try Semrush for free

#2 – SE Ranking – Best for Real-Time Tracking of Keywords

  • Tracks your rankings constantly
  • Monitors your competitors’ results
  • Studies projected search volumes
  • Estimates SEO campaign successes
Try for free

SE Ranking has some similarities to Semrush. It provides a wide range of features that can help you zero in on the specific areas where your site’s SEO strategy needs tweaking.

For those who have websites that focus on the latest trends, the real-time tracking data in SE Ranking is invaluable. Use SE Ranking’s Keyword Rank Tracker feature to see exactly where your site stands at any time.

You not only can see the positioning of your site for various keywords, but you also can learn more about upcoming trends. SE Ranking will attempt to determine the way that your keywords will perform in the near future, based on trends that it measures.

SE Ranking average position chart

When you want to see how your site stacks up against your primary competitors, SE Ranking delivers. You can easily study your competitors’ use of organic keywords and paid advertising.

SE Ranking also offers an excellent keyword research tool that helps you measure the search volume for various keywords. This can help you determine the best path forward for your SEO campaigns.

For daily, real-time tracking, you will pay anywhere from $39.20 to $191.20 per month for an annual subscription. Your cost will depend on the number of keywords you want to track. A free trial period is available.

#3 – Ahrefs – Best for Tracking Backlinks

  • Uses advanced keyword analytics
  • Audits the strength of backlinks
  • Relies on visual data charts
  • Tracks your competitors’ sites
Request a demo

When your large organization needs to track metrics for a significant number of pages on your site, Ahrefs has the tools you need. It relies on the general processes you’d expect to find in rank tracking tools, including:

  • Keyword rankings and analytics
  • How your site ranks against competitors for certain keywords
  • Statistics for mobile and desktop visitors to your site

However, one of Ahrefs’ best features is its ability to track your site’s backlinks. This allows you to keep an eye on your backlinks, ensuring they are not from sites known for generating spam.

Ahrefs keyword explorer tool

Ahrefs will also audit your site, looking for areas that you could strengthen. It will give you alerts any time your rankings undergo a significant change upward or downward.

You can see all the data in easily decipherable charts, which some people prefer over a list of numbers.

Ahrefs’ pricing tiers for an annual subscription are available between $83 and $833 per month. By subscribing annually, you receive two months for free. You also may have some add-on costs for extra features. Ahrefs does not offer free trials, but users can request a limited access demonstration account.

#4 – SERPWatcher by Mangools – Best for Daily Rank Tracking Updates

  • Receive daily rankings by email
  • Get up and running in minutes
  • Extra tools for online marketing
  • Tracking of visitor originations
Try for free

SERPWatcher is a strong rank tracking tool for those who need to stay up to date on the performance of a website on a daily basis. You will receive an email message with your daily updates, ensuring you always have the latest information available.

When you want to be up and running quickly with your tracking tool, SERPWatcher makes it easy to start tracking the basics within a minute or two. Once you have the basics down, you then can explore some of the more advanced features.

Mangools SERPWatcher landing page for getting rank updates on a daily basis

You can drill down through your tracking results to determine which visitors reach your site through a mobile or desktop connection. You also can track the results based on the user’s location.

Mangools offers a range of tools designed to help you with online marketing and site optimization. If you like using SERPWatcher, you can explore some of the other Mangools’ features (for an additional cost).

You can subscribe to SERPWatcher by Mangools on an annual basis for the best price. The pricing tiers run from $29.90 to $79.90 per month for the annual subscription. A 10-day free trial period is available.

#5 – Wincher – Best for Rank Tracking on a Budget

  • Setup process is very easy
  • Multiple users for one price
  • Helps with tracking WordPress pages
  • Tracks your competitors’ results
Try for 14 days free

Small companies that need the benefits of rank tracking software for a low price will appreciate Wincher. It allows you to have multiple people on the account, saving you money over tracking tools that charge for extra users.

Beyond its low price, Wincher is great for small companies that need an easy-to-use tool. It has a simple interface that’s ideal for receiving the answers you want quickly.

It gives you the basic rank tracking features that you need to optimize your site. You do not have to spend a lot of time setting up your Wincher account, leaving you more time to work on your site.

Wincher SEO insights landing page

It will track the results of your competitors, giving you ideas for making changes to your site to improve your performance.

Should you use WordPress for your website, Wincher simplifies the ability to track keywords on each individual page and post. 

With Wincher, you receive a discount when subscribing annually. Pricing tiers range from $24 to $199 per month, depending on the number of keywords you are tracking. You can test Wincher through a 14-day free trial period.

#6 – Serpstat – Best for SEO Campaigns

  • A full-fledged SEO tool
  • Helps with tracking backlinks
  • Tracks seasonal keyword performance
  • Friendly, visually pleasing dashboard
Request a demo

If you need help with every aspect of SEO, including your site’s rank tracking, Serpstat is a powerful all-in-one SEO tool.

Serpstat will start by analyzing your entire site, finding situations where improvements could benefit you. At the same time, it will analyze your competitors, seeking areas where you are trailing.

Serpstat also helps you with tracking and qualifying your site’s backlinks. It presents all the information in an easy-to-understand visual dashboard that you can adjust as needed. 

Serpstat rank tracker positions chart

If you are primarily looking for rank tracking features, Serpstat has plenty of features for you here as well. You can track your rankings anywhere from daily to monthly. 

It will help you perform keyword research, while also ranking your site for various keywords. Should your site focus on keywords that have some seasonality to them, Serpstat can take this into consideration when giving you historical information about your rankings, giving you a clearer picture.

With Serpstat, you can subscribe annually or monthly. When subscribing annually, you’ll have pricing tiers between $48 and $349 per month. Some other features have an add-on cost. Serpstat also offers a custom pricing tier for large enterprises.

How to Find the Best Rank Tracking Tools for You

Rank tracking tools don’t all work in the same way. Some of these tools emphasize certain criteria over others. 

When seeking a rank tracking tool that will fit the way your website operates, it’s important to understand the criteria involved. Find a tool that delivers the information you want at the level of depth that you require.

Historical Keyword Rankings

Although it can be easy to use these tools to obsess over trying to be the top-ranked site, this is not typically beneficial. If you don’t immediately jump to number one after launching a campaign, it doesn’t mean your campaign is failing.

Instead, you want to be certain that your SEO campaigns are clearly and steadily moving toward the intended results. 

The best rank tracking tools will measure your progress over time. If your rankings are slowly improving, and if you are seeing increases in your organic traffic, you are having success.

Through this data, you can be certain which of your actions related to SEO are giving you the best results. You then can emphasize those actions at a greater level going forward across your entire site.

These tools will display historical charts about your keyword rankings. You should be able to specify the period of time you want to study in the tool. 

Additionally, if your keywords suffer a sudden rank drop, the ranking tool should give you an alert. This could indicate that you need to make a slight adjustment to your keyword emphasis.

Detailed Tracking Information

You can gain valuable insight from your rank tracking tool about the types of devices with which your ranking results are strong. 

Your tool should be able to break down your organic traffic based on whether the visitor was using a desktop computer or a mobile device. If your traffic is primarily from mobile users, it may tell you that your site visitors are younger. Perhaps it means they are searching for your site while traveling, such as looking for the best hardware store or restaurant nearby. 

You also should be able to see which search engine generated the visit. Your website may generate more organic traffic from Bing than from Google, for example. This tells you that you need to adjust your SEO work to try to improve results on Google.

As an added benefit, some tools will help you track your position in special categories. For example, with a Google search, it can be extremely helpful to receive positioning as a featured snippet or in the “people also ask” section. Your ranking tool should alert you when your site becomes part of these areas and when you lose this desirable positioning.

Some tools will also notify and track when your site ranks among sections where visitors are searching specifically for images, videos, and/or shopping options. These sections rank differently than with general searches, but it still can be beneficial to rank highly in these areas.

Understand Search Volumes

You may be considering starting a new SEO campaign around a topic your site does not cover currently. Your rank tracking tool should be able to provide keyword search and volume estimates for this topic.

You may find that the search volume is so low for a particular topic that launching a new SEO campaign is not a good use of your time.

If the ranking tool gives you historical data regarding search volumes, though, you may see a trend for a particular topic. If the topic’s search volumes are relatively low now, but they are increasing steadily, you may be able to jump on board now. This could give you a leg up over your competitors.

Having this kind of information can help you determine the next steps to follow in your SEO campaigns.

Monitor Your Competitors

The majority of the top rank tracking tools will provide detailed information about your website’s performance. Additionally, though, they will give you insight into how your competitors are performing in SERPs.

You can use this information to determine which keyword categories need improvement on your site.

Perhaps your competitor is trying to enter a related area of the market that you did not consider previously. But your competitor may be struggling to gain traction in this area.

With the help of your rank tracking tool, you can determine which keywords will give you success in this area. After launching a new SEO campaign around your idea, you may find a significant increase in your organic traffic, as you responded well to your competitor’s original idea.

The Top Rank Tracking Tools in Summary

Semrush features landing page

To newcomers in the world of search rankings and SEO, the process can seem impossible to decipher. However, the more information you have at your fingertips when making decisions, the better.

The best rank tracking tools are a key source of this information, helping you figure out the correct steps to take now and going forward. Rather than having a haphazard approach to your keyword usage, your tracking tool will keep your campaigns focused and moving upward.

Awesome Demos Roundup #21

Carla Flow

by Ichitaro Masuda

sketch 287

by Ryo Ikeda

physical-raymarchig

by Nemutas

Flow Transition Page

by Michal Zalobny

Glowing Marbles

by krautgti

Hyperspace Text

by Johan Karlsson

Terrain Warp

by Ichitaro Masuda

WEBGi Jewelry

by Anderson Mancini

Card Leader

by Michal Zalobny

Driveable Enviro400EV electric London bus

by Robin Hawkes

Spiral

by Michal Zalobny

Curl Flow

by Ichitaro Masuda

Checkbox Accent Color Pixel Art

by Shaw

WebGL Black Hole

by Bruno Simon

Sketch 262

by Ryo Ikeda

Spider 2

by Fabio Ottaviani

gallery-page

by Hisami Kurita

Sketch 255

by Ryo Ikeda

140. chakra

by ycw

Pure CSS Animated Image Zoom

by Adrian Roselli

La Casa de Papel HTML5 cinematics

by Olivier 3lanc

Cool Slider

by @moohdev

Orbit Gallery

by Michal Zalobny

Transmission

by Fabio Ottaviani

Generative Favelas

by Adam Kuhn

3D Scrolling Gallery/Timeline

by Tom Miller

Heros website

by Michal Zalobny

Particles cursor

by Kevin Levron

Interactive Tornado (Three.js & GLSL shader)

by Ksenia Kondrashova

ThreeJS Toys – Neon Cursor

by Kevin Levron

jelly

by saharan

Keyboard Accordion

by Tania Rascia

All the range

by Hakim El Hattab

Untitled

by Toshiya Marukubo

Unique Collection

by Michal Zalobny

stretch

by Schultzschultz

Scrolling Phone

by Anderson Leite

Linear-style Cursor Glow

by David Khourshid

Chaos Sphere

by John Beresford

Designing A Better Back Button UX

There aren’t many things in usability testing that keep showing up over and over again. One of them is the anxiety people experience when they have to go back to the previous page. Users generally don’t have much trust in the browser’s “Back” button, and for a good reason. We’ve all been in a situation when a browser’s “Back” button just didn’t work as expected, driving us away from the goal, rather than towards it.

For single-page checkouts, the Back button should bring a user to the previous step, not to the previous page. Designed by Adam Silver. (View large version)

For example, if you happen to be in a multi-step process such as checkout, the “Back” button would often bring you to the very start of the process, rather than to the previous page, with all your data evaporated in thin air. And sometimes, we have to retype sensitive data such as credit card numbers multiple times because it can’t be stored for security reasons. Not to mention routing in single-page applications that doesn’t always work as expected.

So how can we make the “Back” button slightly more predictable and helpful? Let’s explore a few ideas and use cases below.

This article is part of our ongoing series on design patterns. It’s also a part of the upcoming 4-weeks live UX training 🍣 and will be in our recently released video course soon.

Fear Of The Browser’s “Back” Button

At the first glance, the “Back” button doesn’t seem to be much of an issue, does it? And sure enough, users rely extensively on the browser’s “Back” button. Yet users often seem to be thinking twice before actually hitting that button. Mostly, they are just afraid of losing their data or the state of the page in which they currently are — and it’s understandable since sometimes it’s not clear where the browser will bring them to.

That’s why it’s not uncommon to see people taking screenshots of the current page, or opening the same page in another tab to ensure that their data (at least for the current page) is still available in the browser for copy-pasting.

Severe problems start showing up when we introduce overlays, anchor links, image galleries, and dynamic views into our interfaces. For example, if a user clicks through a carousel in an article, changes the view in a dashboard or toggles states in a pricing page. Should the “Back” button bring a user to the previous state, or to the previous page?

There is no clear answer to that question, but there are some design patterns that work better than the others.

Always Close Large Overlays With The “Back” Button

Research shows that the more different a new view is visually, the more likely it is to be perceived as a separate page by users. With it comes the expectation that the “Back” button will bring a user to the previous “page,” even though, technically, it might not really be a separate page.

This goes for the product list appearing after filtering and sorting, for accordion checkouts, but could also be helpful for anchor links and expanded and truncated content — especially if the sections are lengthy. In these situations it’s reasonable to align the browser’s “Back” button behavior to match user’s expectations — with the History API.

Surely we don’t want to pollute users’ history with unnecessary states or pages, though. When a user clicks through an image gallery in an article, we probably shouldn’t add every single image to the user’s history as it would make it much harder to get to the “actual” previous page.

Most importantly, a state of the carousel is rarely seen as a “different page.” As long as the page doesn’t change significantly, we should avoid adding states to the user’s history stack. This goes for checkboxes, drop-down menus, view switchers, toggles, and dynamically injected sections as well as they modify content on the same page.

Finally, whenever a user is likely to lose data by going “back”, e.g. returning from an overlay, it is definitely a good idea to prompt users to confirm their action and inform them that they might lose some data.

The Position Of The Custom “Back” Button

Even though we’ve aligned the expectations for the “Back” button behavior, some users will still be worried if the “Back” button actually works as expected. A good way to resolve this issue is by adding a custom, form-specific “Back” component within your interface.

There are major differences in how users perceive a browser’s native button and a custom “Back” button nicely tucked somewhere in the interface. While the behavior of browser’s button isn’t always obvious, users do expect “the right behavior” from a dedicated, custom button living within the website or application. Consequently, users also trust custom buttons more, and use them with fewer doubts.

But then, where should that custom-designed button actually live?

Steve Schoger suggests that whether the buttons are aligned to the right or to the left in the form, it’s always a good idea to put the primary action on the outer side. This means that the “Back” button — which would also be visually less heavy — would be residing next to the “Next” button.

This might be working well for forms, but if a user is coming from an overview page, we could also display a sticky bar, a floating icon or breadcrumbs allowing them to return to the overview. Or, of course, we could just show that “Back” prominently, e.g. on the top of the page.

Consider Putting The “Back” Button Above The Form

Indeed, the example above is a quite common pattern that will usually work well. However, in my experience, this would also cause trouble as every now and again, users will accidentally click on a wrong button — mostly because these buttons are located too close to each other.

Therefore, I’d always argue that placing the buttons as far away from each other as possible is an idea that’s worth testing.

Adam Silver suggests to put the “Back” button above the form, as designed by Joe Lanman, a designer at the Gov.uk. According to Joe, ultimately, the “Back” button is then in a similar place to where most browsers put the browser’s “Back” button. Also, the “Back” button is probably not needed at the bottom of the page once the user fills out the form — “if they fill out the form and click back, they will lose their answers.”

Custom “Back” Button Should Look Like An Interactive Element

It’s worth emphasizing that the “Back” button, when positioned above the form, should actually look like an interactive element. It can be an underlined link or a standalone button that actually looks like a button.

If the “Back” link blends in with the rest of the page, users sometimes can’t find a way to go back and usually start searching at the bottom of the page. So to make it work, the “Back” button should be visible and noticeable.

On Gov.uk, the “Back” link is located at the very top of the page (underlined), appearing as an interactive element — in a place where one would usually expect breadcrumbs. There is only one single prominent button, and that’s the “Continue” button.

Another issue I’ve run into with this pattern is that for lengthy forms in busy interfaces, users might be scrolling down too quickly before even noticing a “Back” button on the top of the page. At the point when they actually stop scrolling, the button would be out of view, especially on mobile, and they might have issues discovering a reliable way to go back.

This issue doesn’t really show up for shorter forms — which is what Gov.uk suggests with their One-thing-per-page pattern.

Position Back and Next Buttons Far From Each Other

It might appear only reasonable to group “Previous” and “Next” controls in the interface to allow users to go back and forth quickly. It is indeed reasonable in situations when we expect the user journey to contain a lot of jumps. That’s typically a case in configurators, customizers and wizards.

Van’s shoes customizer provides a navigation drawer for quick jumps, along with a “previous/next” stepper. On narrow screens, all options are listed horizontally, and to choose one, the customer swipes left or right.

177milkstreet’s recipes groups “Previous/next” buttons at the bottom of the navigation split screen, while single steps are laid out vertically.

On Fully, the “Back” button and the “Next” button are positioned very far from each other. Users can go back by tapping on a back-arrow all the way on the left outer edge of the screen while they continue with the process in the bottom right corner of the screen. That’s a safe way to eliminate mistaps or misclicks.

Surely, the “Back” button is different from the “Previous” button, yet often in testing users perceive them to be similar, or at least perform the same action. In general, the more distance we add between two opposite actions, the less likely the mistakes are to happen.

Group Back States As Snapshots

As we saw above, sometimes you might not need a custom “Back” button after all. Surely we need to support the browser’s “Back” button behavior properly anyway, but instead of a custom way to go back, we can allow users to go back to relevant options only. For example, with a dedicated snapshots area for states.

On Fender Mod Shop, you can create “snapshots” as you are configuring a model. You are always driven forward to explore and customize, with an option to go back to a specific version that you saved as a snapshot.

Wrapping Up

The way we see our own websites isn’t necessarily the same way our users perceive it. The more different the views are from one interaction to another, the more likely users perceive these views as “separate things”. Users rely on a “Back” button to go back, but often we mismatch their expectations, bringing frustration and abandonment.

We definitely need to align users’ expectations with the “Back” button behavior at a very minimum. Additionally, it’s a good idea to add a custom “Back” button to our interfaces — and perhaps place them far away from the “Next” or “Continue” buttons, maybe even at the top of the page.

While it works very well in some scenarios, it might not work well for you. In that case, try to avoid placing the buttons too close to each other and make sure they look different enough visually. One could be a link, and the other could be a button. What seems to be a small detail might pay off big time and result in lower abandonment and higher conversion. And that’s worth it.

Meet “Smart Interface Design Patterns”

If you are interested in similar insights around UX, take a look at Smart Interface Design Patterns, our shiny new 7h-video course with 100s of practical examples from real-life projects. Plenty of design patterns and guidelines on everything from accordions and dropdowns to complex tables and intricate web forms — with 5 new segments added every year. Just sayin’! Check a free preview.

Meet Smart Interface Design Patterns, our new video course on interface design & UX.

100 design patterns & real-life examples.
7h-video course + live UX training. Free preview.

Useful Resources