389: Migrating a Ruby on Rails GraphQL API to a Go GraphQL API

One thing that’s been keeping us very busy at CodePen is moving our main API. We decided on GraphQL long ago and it’s served us pretty well. We originally built it in Ruby on Rails alongside a lot of the rest of our app. But while Rails served us well, we’ve been moving off of it. We like our React architecture and we’re better served leaning into that, with frameworks like Next, than staying on Rails. We proved out this combination of technologies for ourselves, building a whole set of admin tools with it. Now we’re ready to keep that train going as we build out more of CodePen with the same stack. But removing Rails means moving off of our Rails-based GraphQL implementation. This means re-writing that API in Go, another bit of tech we’ve had a lot of luck with.

Turns out that re-writing an API is more time-consuming than writing it to begin with, especially as we need to run them side-by-side and behave identically. No refactoring allowed! Unless of course we want to refactor it on both sides and take even more time.

Dee joined me this week in talking about all this. It’s a huge job! But we’ve been doing well at it, building our own tooling, doing lots of testing, and ultimately proving that it works by releasing it in small areas on the production site. It’s all working out how we hoped it would: fast, cheap, and easier to reason about.

Time Jumps

  • 00:39 Welcome back Dee
  • 02:02 Rewriting an API in Go
  • 04:22 Having two APIs
  • 06:16 Why would we make the API in Go?
  • 10:48 The plan for updating the API
  • 16:46 Sponsor: Equinix Metal
  • 17:22 Using this stack elsewhere on CodePen
  • 21:59 What was it like to do this work?
  • 29:36 Databases are typed

Sponsor: Equinix Metal’s Startup Partner Program

Equinix Metal’s Startup Partner Program helps early stage companies level up. Their experts work with startups like Koord and INVISV to build their competitive edge with infrastructure. Equinix Metal provides real time guidance and support to help startups grow faster. With up to $100,000 in infrastructure credit, access to Equinix’s global ecosystem of over 10,000 customers and 1,800 networks, they might just be what you need to take your startup global.

Visit metal.equinix.com/startups to take your startup to the next level.

The post 389: Migrating a Ruby on Rails GraphQL API to a Go GraphQL API appeared first on CodePen Blog.

Comparing Express With Jolie: Creating a REST Service

Jolie is a service-oriented programming language, developed with the aim of making some key principles of service-oriented programming syntactically manifest. Express is a leading framework in the world of JavaScript for the creation of REST services.

The concepts behind Express/JavaScript and Jolie are not that distant, but they are offered under different shapes: one aimed at building on top of JavaScript and Node.js, the other aimed at expressing these concepts declaratively. The aim of this article is to identify the first differences that arise between Express and Jolie in the development of a REST service by comparing how the same concepts are codified.

Everything You Need to Know About Programming and Coding

Programming and coding are two fundamental concepts in computers and technology. Without these two things, our computers would be very limited in what they could do.

Let's start with programming. Programming is creating a set of instructions that tell a computer what to do. These instructions are known as code, and they can be written in a variety of different languages.

EKS Security Checklist: 10 Best Practices for a Secure Cluster

Kubernetes is riddled with security challenges. Inevitably, the same goes for managed Kubernetes services like Amazon Elastic Kubernetes Service (EKS). The best way to tighten your cluster security is to implement practices that have become industry standards recommended by the Kubernetes community. Here are the ten most EKS security tactics every team needs to protect its clusters.

What Exactly Is Amazon EKS Security About?

Amazon EKS is one of the most popular managed Kubernetes services out there. It allows teams to orchestrate their containers via Kubernetes without installing and operating the Kubernetes control plane or the infrastructure required for Kubernetes clusters to run.

What Is the Future of ReactJS?

React, Angular or Vue?

JavaScript frameworks all seem to be on the rise, and it’s not easy for a developer to get a grasp on them all. On the contrary, businesses wander around in confusion about which is better suited for their project and why? Well, to get the answer, we suggest answering some questions such as:

What are you building? What kind of data will your application process? Do you want to create an SEO-friendly website? And so on.

How Are CRUD Operations Used for File Handling in Java?

Java is a high-level language. Java programs generally execute on a terminal that is not stored; some programs need some source to store information fetched from the program that is in the form of a file. CRUD operations stand for Create, Read, Update and Delete.

As said, some Java programs need some files to store information fetched from the program. A file stores different types of information, including text, images, videos, and more.

How Can We Read a JSON File in Java?

Read JSON File in Java

 To know about reading a JSON file in Java, first, we must know about the JSON file.

JSON

JSON is “JavaScript Object Notation.” The JSON is the simple format for storing and sending data. It is used when the data is transported from the server to the Webpage. It is used in the field of “Web Development.” 

Compare the Best Salon POS Systems

Our recommendation for the best salon POS system is Square POS because it’s user-friendly and intuitive and offers several excellent features, like automated messaging tools and social media integration, to help you grow your business. Start your 30-day free trial today!

Beauticians, hairdressers, aestheticians, manicurists, and massage therapists need a full-fledged, professional system to organize and manage their services. They have drastically different requirements compared to your standard retailers and restaurateurs.

A salon point-of-sale (POS) system is purpose-built to simplify and streamline salon operations. Alongside traditional features like client transaction management and sales and customer data handling, you get several industry-specific features like online booking, appointment scheduling, and membership billing. 

When choosing a salon POS system, consider your salon’s specific needs. Here are my top six recommendations to help you narrow down your choices.

The Top 6 Best Salon POS Systems

After reviewing some of the most highly recommended vendors in the market, I found Square POS to be the best salon POS system for most. It also offers specialized features (for example, automated messaging tools, social media integration, and pre-payment and no-show options) that can actively help your business grow. Start your 30-day free trial today!

Keep reading to know why these vendors made it on the list.

Company logos for our best salon POS reviews.

Match Your Scenario to the Right Salon POS Solution

Before exploring the best POS systems for salons, consider whether you really need one. To offer you the most suitable recommendation, here are potential scenarios where getting a POS makes sense for your salon:

1. You want better inventory management

Best option: Square POS

Square POS is undoubtedly the best POS system when it comes to inventory management. It allows you to manage inventory in bulk, provides daily updates on your stock levels, and facilitates barcode label (GTIN and SKU) scanning. You can also import/export inventory with CSV or Excel spreadsheets.

Another great choice: Fresha

Fresha is another excellent POS system when it comes to efficient inventory management. 

It sends you low-stock notifications so you never run out of stock, and also offers an automated service that lets you re-order whatever you need with just a few clicks. Get an accurate snapshot of your inventory using the stocktake tool that helps you sort through and count your physical stock, as well as compare stock information.

If inventory management is a priority for you, make sure to look for:

  • Updates and notifications: does the software keep you informed of your inventory levels in real time?
  • Ordering and re-ordering: how easy is it to refill your stock, especially on short notice?
  • Organization: does the software include scanning and tracking systems so you always know where different items are?

2. You want quick payments and invoicing

Best option: Square POS

Square POS is one of the many software tools under the Square umbrella. 

You can easily integrate it with Square Payments and Square Invoices, Square’s payment processing and invoicing software, respectively, that’s built to save time and help you get paid faster.

Another great choice: DaySmart Salon

Although not as streamlined as Square POS, DaySmart Salon also does a great job to accelerate payments and invoicing. The POS system offers integrated payments, with tons of useful features like cancellation fees, online deposit, and tipping.

If you feel the need for speed, look for features like:

  • Form integrations: how quickly can invoices and receipts be sent and received?
  • Pricing variations: does the software give you flexibility to include tips, add-ons, upsells, etc.?
  • Turnaround time: how quickly are payments processed and how many steps does it take?

3. You want to reduce costs

Best option: Fresha

While POS systems in general help you reduce your operating costs, Fresha maximizes your savings. In addition to affordable plans, it offers salon-specific features that keep you on top of daily operations by letting you track sales and inventory history and manage invoices to streamline business finances.

Another great choice: Acuity Scheduling

If you go solo, you can also consider Acuity Scheduling’s free plan that’s perfect to meet any single user’s needs. You get a calendar, along with access to features like client self-scheduling and unlimited client services and appointments.

If you need to save money at your salon, find POS software that addresses:

  • Streamlining: how does the software save you time in taking payments and managing finances?
  • Number of users: can you use the software as an individual or small team, or do you need a certain number of employees?
  • Customer capacity: can you book unlimited client appointments, or are you limited to a certain number?

4. You want to simplify appointment scheduling

Best option: Vagaro

Vagaro lets you create a custom booking website—or integrate a booking widget into your existing website—to simplify appointment scheduling. Clients can directly book a service with no involvement from you.

Another great choice: Acuity Scheduling

Choosing Acuity Scheduling also makes sense for streamlined appointment scheduling, considering it is essentially a calendar/scheduling tool. Moreover, it also supports online booking and prepayments—and integrates with various payment processors and apps.

If you just need things to be simple, you want software with:

  • Easy setup and integration: how simply and quickly can you install your booking and payment links into your website?
  • Hands-off automation: does the software take care of things like confirming appointments and sending reminders for you?
  • Simple payment options: can customers prepay, purchase packages, and/or pay on-site without hassles for them OR for you?

Salon POS System Company Reviews

After factoring in what salon owners look for, I’ve identified six POS systems that check off the basics like anytime-anywhere access, smart scheduling, and inventory tracking—and then some. Here’s a detailed breakdown of each option.

Square POS — Best for Multi-Service Salons

Square, one of the best salon POS systems

Square POS is a cloud-based POS system and one of the many tools that are part of the larger Square multiverse. As one would expect from the Square brand, its POS is one of the most streamlined and capable solutions available today that lets you track inventory, manage appointments, and accept payments—all in one place.

If you offer multiple services, Square POS lets you create different service items and add them to your register. Customers can then easily book the service they need, and you can keep track of what you’re selling. 

You also get access to several top-rated sales tools that let you sell products, memberships, and gift certificates online and in person. It also tracks inventory, allows for billing, and offers program discounts. Other features like automated messaging tools and prepayment and no-show protection ensure Square POS adequately meets (and exceeds) your needs.

What Makes Square POS Great

As a salon POS software, Square POS provides an excellent mix of both free and paid features. 

Screenshot of Square POS appointment details screen.
Square POS offers an excellent mix of both free and paid features.

A free online booking site allows clients to schedule appointments with you and your staff, while Square Assistant sends automatic reminders and rescheduling options to prevent no-shows. Other features include recurring appointments, inventory and resource tracking, and customizable appointment cancellation fee charges.

Despite being incredibly feature-rich, Square POS retains its user-friendliness and simplicity. You don’t have to worry about a steep learning curve, and nearly anyone on your team (that you want) can work the system with ease. 

In terms of pricing, the software is free to use, and you only have to pay when accepting payments. Processing fees start at 2.6%, plus 10 cents per transaction.

Fresha — Best for Affordability

Fresha, one of the best salon POS systems

Formerly known as Schedul, Fresha is a salon- and spa-specific POS and booking software that takes the guesswork out of setting appointments with your clients. Potential clients can book services themselves while you and your stylists focus on servicing those present in your salon.

But what sets it apart from other salon POS systems is its affordability.

For starters, Fresha is subscription-free. You don’t have to pay a monthly fee to use it for appointments, POS, or inventory management. This feature doesn’t make the software free—you’ll have to pay a 20% new-client fee (which doesn’t apply to repeat customers or customers who book directly to your website or social page) and standard payment processing charges. But it does save a lot of monthly overhead compared to others on this list. 

Being a cloud-based solution, Fresha doesn’t have a POS hardware requirement other than a card reader. You can run the system using your Android or iOS device.

The only issue is the slow customer support. Fresha only offers support via email between 7 AM to 7 PM, which may make things difficult when your system goes down during a busy day.

What Makes Fresha Great

Over 50,000 beauty businesses and 250,000 therapists and stylists rely on Fresha to run their salon business, and it’s easy to see why. The flexible POS software comes with full retail sales capabilities, analytics, inventory tracking, and marketing tools and is free for unlimited team members.

Screenshot of Fresha calendar tool.
Fresha allows users to track sales history and manage upcoming appointments.

Create client files to track sales history and manage upcoming appointments, and track your invoices, inventory, and receipts to streamline business finances. You can also use the easy-to-use activity dashboard to see real-time updates of daily operations.

Fresha charges 2.19% plus 20 cents per transaction.

Vagaro — Best for Versatility

Vagaro, one of the best salon POS systems

Vagaro makes a great choice of salon POS system for several business types, including massage therapists, personal trainers, medical spas, and fitness experts. Adding to its versatility is its excellent set of features for customer management, appointment scheduling, and payment processing, among others.

What’s more, Vagaro runs seamlessly on any device—a web browser, on your phone, or on dedicated pay desk hardware.

Clients can book appointments through Facebook, Yelp, or Vagaro (web and app). Creating a custom booking website or integrating a booking widget into your existing website is another option. Vagaro also offers a specific SOAP (subjective, objective, assessment, plan) notes format that is ideal for medical spa employees, massage therapists, and personal trainers.

While Vagaro doesn’t offer a free plan and has expensive hardware, you still get a great deal in terms of functionality and reliability.

What Makes Vagaro Great

Vagaro’s payroll functionality is quite impressive. From time clocks to hourly pay to commission tracking, you get it all. It also lets you access pay stubs and payroll history at the click of s button.

Vagaro’s calendar feature is another one of its USPs. It’s super user-friendly and allows you to extend or reschedule appointments with drag-and-drop blocks. Set up personal time to prevent overlapping, and use the recurring booking feature for repeat customers.

Screenshot of Vagaro's drag and drop calendar.
Vagaro lets you extend or reschedule appointments with drag-and-drop blocks.

Vagaro doesn’t charge money for online bookings or new-customer fees, but it does for bookable calendars starting from $25 per month. Transactional processing fees start from 2.2% plus 19 cents.

DaySmart Salon — Best for Customizability

DaySmart Salon, one of the best salon POS systems

DaySmart Salon offers a wide range of salon-specific features that make it an ideal POS system for salons and spas. Formerly known as Salon Iris, it gives you the freedom to edit and add more features to your website based on your needs and preferences, using customizable or editable booking pages and widgets.

A teleconsultation function enables clients to schedule virtual appointments and private lessons, while automated marketing lets you organize recurring marketing campaigns to boost revenue.

The Salon POS system also offers integrated payments, along with related features like cancellation fees, membership billing, online deposit, and tipping feature. Every transaction is PCI/PA-DSS validated to ensure superior payment security.

Note that DaySmart Salon doesn’t offer a free plan. It’s also the most expensive salon POS system on our list, but you get a 14-day trial to test-drive features before making a commitment.

What Makes DaySmart Salon Great

DaySmart Salon makes appointment scheduling simple and convenient.

Screenshot of DaySmart Salon appointment scheduling calendar.
DaySmart Salon lets you color-code appointment blocks.

Set up automatic reminders for clients using email or text, and use color-coded appointment blocks to keep up with your daily schedule. Customers can also book their appointments directly, thanks to a customizable landing page.

A walk-in customer kiosk is another handy feature that allows walk-in customers to sign in and take the next available slot if you and your staff are busy with customers.

DaySmart Salon offers four plans:

  • Basic – $29 per month
  • Deluxe – $69 per month
  • Premium – $129 per month
  • Platinum – $249 per month

Clover — Best for Salon Franchisees and Chains

Clover, one of the best salon POS systems

Clover is an all-in-one POS system loaded with features salon owners are sure to find helpful.

If you own a salon franchisee or operate in multiple locations, you’ll find Clover’s built-in credit card processing ability (hassle-free online payments to customers), inventory management (product organization and tracking across all locations), and extensive third-party integrations (more convenient processes) useful.

This salon POS system also informs you whenever a customer arrives and checks in and offers win-back promotions to ensure repeat business. The employee management feature allows you to manage employee shifts, track performance metrics, and promptly process payroll.

Choose among a range of Clover’s physical hardware, including Clover Go (a mobile card reader), Clover Flex (a handheld POS device), Clover Mini (compact countertop register), and Clover Station (countertop register that comes with a cash drawer and receipt printer).

What Makes Clover Great

Clover offers built-in CRM tools, like rewards and discounts, promotional tools, and customer profiles detailing buying history, to efficiently manage customers and build long-term relationships. You can also request private feedback with digital receipts to improve salon services.

You can also use Clover’s comprehensive App Market to further customize your POS system to better meet your unique requirements. Choose from hundreds of third-party business management apps that integrate with the software to enhance functionality.

Screenshot of third party apps that integrate with Clover POS.
Clover’s App Market offers several apps to customize your POS to better meet requirements.

Clover has vague pricing that depends on where you buy it and how many integrations you use. Currently, you have three options:

  • Starter – $50 per month for hardware and software
  • Standard – $90 per month for hardware and software
  • Advanced – $130 per month for hardware and software

A 90-day trial period is also available, which compared to other salon POS systems is quite generous.

Acuity Scheduling — Best for Solo Artists

Acuity Scheduling, one of the best salon POS systems

Acuity Scheduling provides online booking, appointment scheduling, and set-up prepayments—and integrates with various payment processors and apps to streamline salon work.

While these are standard features that will benefit any salon owner, Acuity Scheduling will make a particularly excellent option for solo artists.

The company offers unlimited free trials for solo use. Under its Freebie plan, you get a calendar for one person at a single location, along with access to all the necessary features like client self-scheduling and unlimited client services and appointments.

The caveat here is the lack of integrations, customizations, or the ability to directly accept payments and deposits. But if you have the budget, you can offset these issues. Integrate the POS system with payment processors and choose from unlimited design customization options for an on-brand feel.

What Makes Acuity Scheduling Great

As a POS, Acuity Scheduling gives you an overview of your cancellations, appointments, no-shows, revenue earned, staff reports, and other important metrics to keep you on top of your business. It also allows integrations with other apps to enhance the system’s functionalities, which ultimately results in a powerful setup for both you and your clients.

Screenshot of Acuity Scheduling appointment scheduling feature described.
Acuity Scheduling gives you an overview of your cancellations and appointments.

Other useful features include on-demand specialized consultant assistance, drag-and-drop features, and a loyalty program set up with gift cards and other rewards.

Acuity Scheduling currently offers three plans:

  • Emerging – $15 per month
  • Growing – $25 per month
  • Powerhouse – $50 per month

You can start a 7-day trial for any of the plans to get a better feel of how the POS system works.

Quick Sprout Salon POS Systems Related Content

Here are a few additional guides you can refer to, to choose the best salon POS system:

Salon POS Systems Related Top Lists

The Top Salon POS Systems in Summary

Here you have it—my top six recommendations offer modern functionality and user-friendly systems at affordable prices to help you grow your business.

While you can choose any vendor you think makes a better fit, I recommend Square POS as the best salon POS system because of its superior sales tools and salon-specific features like automated messaging tools and no-show protection that actively help you run your salon smoothly and more efficiently.

How a Data Privacy API Abstracts and Simplifies Privacy and Compliance

Navigating the world of privacy and compliance is no trivial task. On one side, we see a world that is becoming more and more privacy-conscious. On the other side, we see a proliferation of applications that compromise user privacy. In this tug-of-war, the landscape of what you can do with people’s sensitive personal data is continually changing.

And just like a tug of war, lines are continually being drawn. For example, the General Data Protection Regulation (GDPR) applies to a major region of Europe consisting of multiple countries (the EU), each with its own set of data privacy laws. In the United States, individual states like California have been enacting legislation like the California Consumer Privacy Act (CCPA), which directly affects data privacy and compliance requirements in those states.

Designing The Perfect Mobile Navigation UX

When it comes to complex navigation on mobile, we often think about hamburger menus, full-page overlays, animated slide-in-menus, and a wide range of nested accordions. Not all of these options perform well, and there are some alternative design patterns that are worth exploring. Let’s dive in!

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

1. Avoid Too Many Signposts In Your Navigation

One of the most common strategies for navigation on mobile is to use a good ol’ accordion. In fact, accordions work very well for multiple levels of navigation and are usually better than slide-in menus. However, since we open and collapse menus, we also need to indicate it with an icon. This often results in too many signs pulling user’s attention in too many directions.

In the example above, Vodafone uses 3 different icons, pointing either to the bottom (accordion collapsed), to the top (accordion open), or to the right. The latter indicates that the selection is a link, driving users to a category page. This is, however, not immediately obvious.

An alternative — and perhaps a slightly more obvious way — is by adding a link underline to links and removing the icons next to them altogether. As a side effect, if we eventually have to mix collapsible menus and links to categories, it’s perhaps a bit more obvious which is which.

In general, pointing users in too many directions is often unnecessary. It’s quite likely that you’ll be able to achieve better results with just two icons, indicating whether an accordion is open or not. That’s how it’s done on Swisscom (pictured above), for example.

Alternatively, Icelandic Postal Service uses just one single icon, and to indicate expansion of the accordion, changes the color of the heading of the section. This seems to be working fairly well, too.

It’s a good idea to avoid too many icons guiding users in too many directions. If we can get away without them, it’s a good idea to test what happens if we do.

2. Don’t Overload Your Navigation With Multiple Actions

Sometimes navigation menus combine two different functions in one single navigation bar. For example, what if you have categories that you want to link to directly, but then you also want to allow for quick jumps into sub-menu items?

Usually, this means adding two different actions to the same navigation bar. A tap on the title of the category would lead to the category; a tap on the icon would open an accordion or prompt a separate view. And to make this difference a bit more obvious, we often add a vertical separator. Unfortunately, in practice, that doesn't work too well.

In the example above on Tivoli Gardens Copenhagen, each section title is linked to a standalone category page. A tap on the icon on the right, however, opens a separate sub-navigation. Indeed, a vertical separator does help to distinguish between the two actions, but it still causes plenty of mistakes.

Sometimes users want to just assess the navigation at a glance, and they aren’t yet committing to going to a dedicated page. Yet here they are, being pushed towards a page just when they aren’t ready to go there at all. And once they do, they then have to return back to the previous page and start all over again. Ideally, we’d avoid this problem altogether.

On Mammut, the entire navigation bar drives the user to the second level of navigation. Their users can move to discover all items within the category or jump into a sub-category. Problems solved. Rather than overloading the navigation bar with separators and separate actions, we can help users move forward confidently and comfortably and prevent mistakes altogether. The next action is always just a tap away.

Always consider adding a link to the category page within the expanded accordion or in a separate view, and assign only a singular function to the entire bar — opening that view.

3. Use The Billboard Pattern For Top Tasks

Not every navigation item is equally important. Some items are more frequently used, and they might deserve a little bit more spotlight in your navigation. In fact, if some items are more important than others, we can use the billboard pattern and display them more prominently above the navigation.

In the examples above — Otto, Korea Post and Deutsche Post — we display the most important topics or features more prominently while the rest of the navigation is available, but gets a slightly less prominent presence.

4. Nested Accordions Work For Expert Users

Just like we might have too many icons, we might end up with too many nested levels of navigation, neatly packaged within nested accordions. For complex sites, it seems like one of the few options to present a huge amount of navigation available on the site. In fact, we could argue that by allowing users to jump from any page to any page on the 4th or even 5th level of navigation, we can massively speed them up in their journeys.

Surprisingly enough, this seems to be right. Expert users typically don’t have massive usability issues with multiple nested accordions. However, infrequent users often struggle to find the information that they need because they don’t understand how the information is organized.

In complex environments, navigation usually mirrors the way the organization is structured internally, and without that prior knowledge finding the right route to the right page is difficult at best. In that case, once a user is looking for something very specific, they seem to use search rather than traversing the navigation tree up and down. This becomes apparent especially when the contrast between levels isn’t obvious, such as on WHO, for example (pictured below).

If we need to include multiple levels of navigation within nested accordions, it’s a good idea to sparkle just a tiny bit of typographic and visual contrast to the menu so that every level of navigation is clearly distinct, and it’s also obvious when links to actual pages start appearing. Compare the quick mock-up below.

Another way to indicate multiple levels of nesting is by adding different types of icons to make it more obvious where users currently are. This is how it’s done on the Stockholm University website. Personally, I wasn’t able to verify how well this design pattern works, but when combined with better typographic contrast, this might be performing better and is definitely worth testing.

DOT, a public transportation website from Denmark, uses the + icon across multiple levels for their nested accordions. While the chevron is positioned on the left, the + are always positioned on the right. Thus, they display four levels of navigation with nested accordions. Perhaps it’s a bit too much navigation, but it seems to be working fairly well.

On the other hand, it might not be needed at all. Allianz gets away with using a single icon (chevron up and down), but with clearly different designs for every navigation level. The first level is highlighted with white text on a blue background; the second level is designed in bold; and the third level is plain text (which could, of course, be links, too).

Plus, instead of showing all items at the same time, only four most important ones are displayed at first, and the others are available on a separate page. This a great example worth keeping in mind.

Nested accordions can work with enough contrast between each level. However, if you have more than three levels of navigation, making it work with a bit of indentation and various typographic styles will become quite difficult.

5. Slide-In-Menus Don’t Perform Very Well

Admittedly, many navigation menus on mobile aren’t accordions. Because each navigation section might contain dozens and dozens of sub-navigation items, it’s common to see the so-called slide-in menus, with navigation items sliding in horizontally and presenting users with a comprehensive menu of all options available on that level.

With that pattern, quick jumps from one level to another are impossible, as users always have to go back to the previous level to move forward.

Unilever displays only one level of navigation at a time. As users navigate further down the rabbit hole, they are presented with only one level at a time. This does work well to fit all the items and all the levels that an organization might ever need. However, if a user isn’t quite sure where to go, the discovery of content tends to be slower. Also, it’s not necessarily clear where the “Back” button will go to.

If we do use a slide-in menu, it’s a good idea to replace a generic “Back” button with a more contextual label, explaining to users where exactly they will be returning to. Deutsche Post (pictured above) does just that. Also, notice that the main page of the menu features some of the top tasks on the site, in additionally to the slide-in menu.

Additionally, The New England Journal of Medicine adds some typographic contrast to each section, so it’s a bit more obvious right away what would open up another section and what is a link driving to a new page. In fact, we can go quite far by just making links more obvious yet again, as displayed in the example of ADAC below.

It’s worth noting that animated slide-ins can be quite disorienting, distracting, and annoying for people who use the navigation a lot. Add to that the slow speed of content discovery, a few too many icons, and a bit too little contrast between the items, and you have a recipe for disaster.

A slide-in menu is an option but rarely the best one. It surely doesn’t perform as well as accordions where jumps between levels are faster and there is rarely a need to go back. However, accordions aren’t the only option we have — especially when we want to help users navigate between levels faster, not slower.

6. The Navigation Stack Works For Quick Jumps

As we move users from one level to another, we also need to provide a way for them to move back. But instead of just displaying a "Back" button, we can stack all the previous sections like a breadcrumb under each other. And so we get a navigation stack.

On Coolblue, a Dutch retailer, as users keep exploring deeper levels of navigation, they can always return all the way to the previous levels that they’ve been coming from. This allows for faster jumps between levels, and is definitely a good idea when driving users from one-page overlay to another.

7. Use Curtain Pattern To Show Multiple Levels of Navigation

It shouldn’t be a big revelation that the speed of navigation is at its maximum when we display navigation options right away. This is why we see large buttons appearing as large clickable cards, filters, and bottom sheets. However, how do we use it in our navigation menus which barely have any place anyway?

We could make better use of the available space. For example, what if split the screen vertically, showing one level of navigation on each? Very much like a curtain that we’d pull to one side of a window. That’s what LCFC (pictured above) does. To move between levels, we don’t need to close any menus or return back at all — instead, we click on large areas, move forward, and explore.

And what if you need slightly more space for your lengthy navigation labels? Well, the labels could wrap onto multiple lines, or we could reduce the width by replacing text labels with icons (as long as they are unambiguous). It might not work for every project, but it seems to work for Playstation (pictured below).

The entire first level of navigation collapses into tabs; yet moving from one level to the other doesn’t require any jumps back. You might be wondering what the three vertical lines represent — ideally, one could drag away the pane, but it doesn’t seem to be working as expected, unfortunately.

ESPN uses a very similar approach but reduces the amount of space for the first level to the minimum. It could be a little bit larger to prevent mistaps, but the idea is pretty much the same: showing two levels of navigation at the same time.

We could use the same approach in other contexts, such as filtering. We display all filter attributes on the left, and allow users to choose the specific values for these filters in the second vertical pane. That’s what the filtering experience looks like on Myntra, an Indian eCommerce retailer pictured below.

If some filters don’t fit in the right pane, users can scroll to explore more or even search for a specific filter in the selection. Of course, the "Apply" button has to stay floating. It would be lovely to see the total number of results on that button, too.

We could take it even further, though. For example, sometimes users need to select filters that are relevant to them and define their values in the next step. In that case, we group all filters into a few categories (or even sub-categories), and then present all of the categories and filters as sub-categories side-by-side.

With FT Screener, for example, users can add or change criteria by exploring multiple levels at the same time — both the labels for groups and the filters living within those groups. Once a filter has been chosen, it’s added to the overview on the top. That’s a simple filter constructor for sophisticated filtering on mobile.

The vertical split could be used to quickly select one important present or make a single choice. That would be the case for a language selector, for example. We could organize all supported countries and languages as cards or accordions, but they could also work as vertical tabs, as it’s done in the footer of Oracle.

This way, we display only options that are relevant to users. They never have to go to irrelevant sections or pages since they get a preview and can navigate away from it quickly, should they wish to do so.

In general, the curtain pattern works well with a quite flat content architecture, but is difficult to manage with three or more levels. It shows its strengths when the speed of navigation matters and when users are likely to jump between sections a lot.

It’s way faster than slide-in-menus but less flexible than accordions. Still, a great lil’ helper to keep in mind to make better use of available space on mobile.

8. You Might Not Need 3+ Levels of Navigation

The curtain pattern works well for two levels of navigation, but you might have many more levels than that. In that case, it might be a good idea to test if it actually has to be this way. What if you show only two or three levels via your menu drawer, but then the rest would be available on standalone pages?

The University of Antwerp gets away with just one level of navigation on mobile. All the sub-section exist on standalone pages as cards. In fact, there are dozens of links on each page, but as long as the navigation is obvious, this might be just what you need.

Gov.uk isn’t a particularly small website, but it features only two main sections with plenty of subsections in its navigation on mobile. However, no third or fourth-level navigation is accessible from the menu drawer. Everything else is accessible via links and cards on separate pages.

Korea Post follows along with an interesting twist to that idea. On tap in the menu, it shows all items living on the second level, but also automatically shows the options from the third level, too. Additionally, breadcrumbs include drop-downs allowing users to jump quickly between the siblings of each level. You can find out more about that pattern (sideways breadcrumbs) in Designing A Perfect Breadcrumbs UX.

Do you need to display more than two levels of navigation? Perhaps it is indeed necessary, but chances are high that it isn’t. So perhaps it’s worth testing a design that features only two levels. Additionally, we can add another feature to it to make navigation even faster.

9. Query User’s Intent With Navigation Queries

In addition to search and navigation, we could study some of the most frequently visited pages or some of the most popular tasks, and show them directly, as we saw in the Deutsche Post example earlier above.

We could also add navigation queries to ask users about their intent, and allow them to choose a topic relevant to them. Think about it as a mini-search engine for your navigation, designed as a seamless autocomplete experience. This would give users guidance toward the goal and help them navigate more reliably.

Cosmos Direkt, a German insurance company, features a <select>-menu that allows users to select a particular task that they’d like to perform on the site. This type of navigation exists additionally to search and classic navigation menu, but increases the speed to relevance significantly.

Wrapping Up

Just as a quick summary, here are a few things to keep in mind when dealing with complex multi-level navigation:

  • Accordions work well, and for expert users, they work even if they are nested.
  • Remove icons that you don’t need. Avoid icons pointing in more than two directions.
  • Use the billboard pattern to highlight top tasks that users want to complete on the site.
  • For nested navigation levels, make sure that each level is distinct (indentation + type styles).
  • Whenever possible, make links obvious by underlining them.
  • Slide-in-menus don’t perform very well; they are slow and distracting. Accordions are likely to perform better.
  • Keep the navigation stack of the levels that users browsed through to allow for quick jumps.
  • Curtain navigation is fast! Consider using it when you have two, or at most three, levels of navigation.
  • Perhaps we don’t need to show all levels of navigation and instead can bring users to the relevant page to navigate from there.
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 8h-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 five 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.
8h-video course + live UX training. Free preview.

Related UX Articles

Some Links About CSS Gradients

Every once in a while, the blogging zeitgiest seems to coalesce around a certain topic and it’s like the saved articles in my bookmarks folder are having a conversation. The conversation sitting in there now is all about CSS Gradients and I thought I’d link some of the more interesting pieces.


Some Links About CSS Gradients originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

What’s New in WordPress 6.1 (Features and Screenshots)

WordPress 6.1 was released a few hours back, and it is the last major release of 2022.

This new release contains significant updates to the full site editing and the block editor experience.

In this article, we’ll show you what’s new in WordPress 6.1, and which features you should try after updating your websites.

See what's new in WordPress 6.1 wth screnshot and features

Note: WordPress 6.1 is a major release, and unless you are on a managed WordPress hosting service, you’ll have to manually initiate the update. Here’s how to safely update WordPress.

Important: Don’t forget to create a complete WordPress backup before updating.

That being said, here’s all that’s new in WordPress 6.1.

Twenty Twenty-Three – New Default Theme

WordPress 6.1 ships with a brand new default theme called Twenty Twenty-Three.

Twenty Twenty-Three new default theme in WordPress 6.1

Out of the box, this theme features a minimalist design that looks like a blank canvas and encourages you to bring your own style to the theme.

It comes packed with 10 style variations that users can choose from inside the Site Editor. All of these styles are fully customizable using the site editor.

Twenty Twenty-Three styles

Twenty Twenty-Three also ships with four fonts that are used by different style variations. You can also use these fonts when writing posts or pages.

Twenty Twenty Three Typography

Twenty Twenty-Three can be a perfect starter theme for users who want to make a website using the block editor with their own styles and layouts.

Block Editor Changes in WordPress 6.1

The block editor is where users write content, create pages, and edit their themes.

Each WordPress release comes with major improvements, new features, and enhancements to the block editor.

Following are a few most noticeable changes in the block editor.

List and Quote Blocks Now Have Inner Blocks

One of the problems with bulleted lists was that if you wanted to move a list item up and down you had to manually delete and edit all the list items.

WordPress 6.1 brings inner blocks for Quote and List blocks. Basically, each list item is its own block and you can move list items up and down.

Move list items up and down

The Quote block is now also divided into inner blocks.

Now you can style quote and cite blocks differently.

Quote block

Featured Image in Cover Block

With WordPress 6.1, you can now select the featured image to be used for a cover block. After that, you can just set the featured image and it will start appearing inside the cover.

Featured image in cover block

Many beginners often confuse cover block and featured images. Hopefully, this will now allow them to just use cover block to display featured image for an article.

Note: Depending on your theme, you may see the featuerd image appear twice. First, at the location where your theme displays the featured image and then as the cover block.

New & Improved Borders

WordPress 6.1 brings a lot of options to the design tools available for blocks. One of them is the more powerful border tool that is now available for several blocks.

You can use set top, right, bottom, left borders separately, and give them different colors and sizes.

Advanced border controls for more blocks

Previously users were able to only select the border radius for the image block.

Now with WordPress 6.1, you can set border color and size as well.

image border

More Padding and Margin Options

WordPress 6.1 brings ‘Dimensions’ tool to more blocks allowing users to set padding and margins.

Dimensions under block tools

Users will also be able to visualize their changes with neat visual hints.

Visualize padding and margin adjustments

You can also set margins for Spacer and Separator blocks, which allows you to create more spacious content layouts.

New and Improved Navigation Blocks

WordPress 6.1 now allows you to easily change background and text color for sub-menus.

Submenu colors

The Navigation now also allows you to easily choose a menu from the block toolbar or the sidebar panel.

Select menu

Editor Design Refinements in WordPress 6.1

WordPress 6.1 ships with some noticable refinements to Editor design. These changes clean up the interface and aim to improve user experience.

Status & Visibility Panel Renamed to Summary

The Status & visibility panel is renamed to Summary. Template and Permalink panels are now removed and merged into the Summary panel.

Moved items

You can click on the URL field to change the Permalink or Template name to change template.

Here is how it looked in WordPress 6.0 vs WordPress 6.1.

Missing panels

Time to Read in the Information Panel

The information panel now includes ‘Time to read’ information as well.

Improved information panel

Site Icon Replaces the WordPress Logo

If you have set the site icon for your website, then it will be used as the View Posts button in the top left corner of the screen.

Site icon will be used as logo on editor screen

New Preferences Options

The Preferences section for the block editor now includes two new options.

New preferences option

First, there is ‘Always open list view’ which shows the list sidebar by default for all articles.

Then, there is ‘Show button text labels’ which replaces icons in toolbars with text labels.

List view and text labels in toolbars

Create More Templates in Site Editor

If you have used child themes with classic WordPress themes, then you may be familiar with the template heirarchy.

With WordPress 6.1, users are now able to do the same using the block editor and without writing code.

You can use the following templates regardless of which block theme you are using.

  • Single page
  • Single post
  • Indivdual term in a taxonomy
  • Individual category
  • Custom template (can be used for any post or page)

You can go to the Appearance » Editor page and then select templates from the left sidebar. After that, click on the Add New button to see the available options.

Site editor now has more templates

Choosing a template that can be applied to an individual item, will see bring up a popup.

From here, you can choose the item where you want the new template to be used.

Create template for a single item

For instance, if you choose the Category template, then you’ll see a popup.

Now you can select if you want to apply your new template for all categories or a specific category.

Create category template

Quickly Search and Use Template Parts

The site editor in WordPress 6.1 now makes it easier to discover and use template parts.

For instance, if your theme had multiple template parts that can be used in the header, then you can simply click on the template part options and select Replace.

Replace template part

This will bring up a modal popup where you can look for available template parts that you can use.

Select template part

Quickly Clear Customizations in Site Editor

WordPress 6.1 now allows you to quickly clear customizations when working in Site Editor.

Quickly clear customizations

Under the Hood Changes in WordPress 6.1

WordPress 6.1 comes with several important changes for developers. Following are a few of these changes.

  • Classic themes can now use template parts (Details)
  • Fluid typography allows theme developers to dynamically adjust font sizes. (Details)
  • Post types can now have their own starter patterns (Details).
  • Filters to hook into theme.json data (Details)
  • Simplified data access with React hooks in WordPress 6.1 (Details)
  • New is_login() function to for determining if a page is the login screen. (Details)

We hope this article helped you discover what’s new in WordPress 6.0 and which new features to try out. We are particularly excited about all the changes to the block editor.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post What’s New in WordPress 6.1 (Features and Screenshots) first appeared on WPBeginner.

SSH vs X.509 Certificates

As a developer or systems administrator, you're probably used to SSHing into servers with key pairs. What if I told you there is a better and more secure way to manage SSH access? Think SSH certificates (And no, they’re not the same as TLS certificates)

For most people, their knowledge of certificates lies within the confines of the X.509 digital certificates format — also known as TLS/SSL certificates — used by browsers to enable HTTPS. However, the X.509 certificate is not the only digital certificate format that exists; there is also the less-popular SSH certificate format created by OpenSSH.

The WordPress SEO Crawl Budget Problem and How to Fix It

Are you trying to fix the WordPress SEO crawl budget problem?

SEO crawl budget is the number of times search engines will crawl pages on your website. A lower crawl budget can delay your pages from getting indexed in a timely manner. This can hurt your SEO rankings and lower your overall traffic.

In this article, we’ll explain the WordPress SEO crawl budget problem and how to fix it quickly.

Fixing SEO crawl budget issues in WordPress

Because this is a huge topic, we have broken it down into easy-to-understand sections. Here are the different items we’ll cover in this article:

How Does Search Crawling work?

Search engines like Google, use sophisticated bots (computer programs) to visit websites across the internet.

These bots look for changes on a website and compare them to the main search index.

If they discover new content, then they add it to the search index. If they find content that is already in the index but has changed, then they update the index with fresh content.

How search crawling works

They follow links on a page and then do the same for those pages as well.

The way bots move from one link to other links on a page is similar to how real spiders crawl along their webs.

That’s why the term crawling is used to describe this activity, and you may sometimes see the bots referred to as search engine spiders.

For better SEO, you need to make sure that search engines can crawl your website easily.

Tip: See our complete WordPress SEO guide for beginners to learn more about SEO.

What is SEO Crawl Budget?

SEO crawl budget is the number of times search engines like Google will crawl pages on your website.

Google bots crawl billions of pages each day. They try to calculate how many pages they will crawl on each website domain to efficiently use resources.

This number is automatically determined by the crawling algorithms based on multiple factors.

It fluctuates daily, which means there is no fixed number for how many pages the Google bot will crawl on your WordPress website.

Generally, larger websites with more content have a higher crawl budget, and smaller websites have a lower budget.

Other factors also influence the crawl budget, like the popularity of a URL, freshness, update frequency, and more.

However, due to several reasons, you may be losing your crawl budget on unwanted pages.

For instance, if your website isn’t properly optimized, then search engines will spend your crawl budget on less significant parts of your website than important content.

What Causes WordPress SEO Crawl Budget Issues

The way WordPress generates URLs and duplicate content can cause crawl budget issues.

For instance, WordPress automatically generates RSS feeds for different areas of your website.

There are RSS feeds for the main blog, categories and tags, comments on each individual post and page, and even custom post types have separate RSS feed URLs.

Links to these RSS feeds are added to the HTML source code of your website which makes them discoverable by search engines.

Now, search engines are smart enough to recognize duplicate content and ignore it. However, they would still crawl them and spend your SEO crawl budget.

Apart from that, search engines would crawl less important items a lot more than needed. This includes your archives, taxonomies, authors, PDF files, and more.

WordPress plugins or other third-party tools can also add query parameters to your WordPress URLs.

Google’s spiders may consider these query parameters to be a different page and crawl them.

For instance, UTM parameters are used for Google Analytics tracking and a page with or without these query parameters would still look the same.

Example: https://yourdomain.com/landingpage/?utm_source=newsletter

This wastes your SEO crawl budget on less important items and becomes an issue.

How to Calculate Your SEO Crawl Budget

The SEO crawl budget is not a set number of pages.

It fluctuates a lot, and there is no reliable way of predicting how many pages Google will crawl on your website on any given day.

However, you can get a pretty decent idea based on recent crawl activity to see how Google crawls your website.

If you haven’t done so, you first need to add your website to Google Search Console. It is a free tool provided by Google to help website owners find out how their website is doing in Google Search.

Simply go to your Search Console dashboard. Switch to the ‘Settings’ menu from the left column and then click on ‘Open Report’ next to ‘Crawl stats.’

Open crawl stats report in Google Search Console

The Crawl stats report will show an overview of crawl requests on your website during the last few weeks.

You can hover your mouse over the chart to see how many pages were requested each day.

Crawl stats overview

This gives you an idea of what the average crawl rate was on your site during this period of time.

Below that, you can see a breakdown of crawl activity by response code, file types, purpose, and Google bot type.

Crawl break down

From here, you can see how much the crawl budget is spent on errors, syndication (RSS feeds), JavaScript, CSS, Images, and more.

This gives you a snapshot of items that you can optimize to utilize the SEO crawl budget more efficiently.

For example, if you have a lot of 404 errors being crawled, then you can use a redirection plugin to ensure those crawlers land on useful content.

(Later in the article, we show you how to redirect crawl errors step-by-step.)

Why You Should Care About SEO Crawl Budget

Search engines need to crawl your website efficiently, so they can properly index your content on time.

However, if your SEO crawl budget is being wasted, then your important and newer content may not get crawled on time.

It may even take weeks for the search engines to notice updates to your older articles or discover your new content.

You will miss out on getting traffic from search engines, your SEO rankings may not improve, and you will definitely lose money on sales or ad revenue.

How to Easily Optimize SEO Crawl Budget in WordPress

The easiest and safest way to optimize your SEO crawl budget in WordPress is by using All in One SEO for WordPress.

It is the best WordPress SEO plugin that comes with an SEO crawl optimization tool built-in.

First, you need to install and activate the All in One SEO for WordPress plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Note: There is also a free version of All in One SEO which also includes a crawl clean-up feature. We recommend using the PRO plan of the paid plugin because it will also give you access to the Redirection manager tool to fix 404 errors on your website.

Upon activation, the plugin will show you a setup wizard. Simply follow the on-screen instructions to set up the plugin.

All in One SEO wizard

After that, you can go to All in One SEO » Search Appearance page.

Then, just switch to the Advanced tab.

Search Appearance - Advanced

Scroll down to the bottom of the page and there you’ll see the ‘Crawl Cleanup’ option.

Click the toggle to enable the ‘Crawl Cleanup’ feature.

Crawl cleanup

The first option you will see in the crawl cleanup is to remove the query arguments.

Below that, you can provide a list of query arguments that you want to allow. Advanced users can use Regex regular expressions here.

Next, you’ll see options for WordPress RSS feeds. All in One SEO will show you all different kinds of RSS feeds generated by WordPress, and you can disable the less important RSS feeds.

Disable RSS feeds

For instance, if you have a single-author blog, then you can Disable the Author Feeds.

Once you have disabled all the unwanted RSS feeds, don’t forget to click on the ‘Save Changes’ button to store your settings.

How to Set Up Redirects for Error Pages

All in One SEO will automatically set up redirects for feeds you have disabled. For instance, a tag RSS feed will now redirect users to the tag archive page.

Next, you need to switch to your Google Search Console dashboard and open the crawl stats report.

From here, you can see the pages that resulted in errors.

Find error pages

Now depending on the status code, you can set up redirects for those pages.

For instance, you can redirect 404 errors to a similar page. You can check other pages with errors and set up redirects for them as well.

All in One SEO makes it very easy to set up redirects on your WordPress website. Simply go to All in One SEO » Redirects page and add the old URL under the ‘Source URL’ and new URL under the ‘Target URL’ field.

Redirects manager

Click on the ‘Add Redirect’ button to save your settings. Then, you can just repeat the process to set up more redirects as needed. For more details and alternate methods, see our guide on how to set up redirects in WordPress.

We hope this article helped you learn about the WordPress SEO crawl budget problem and how to fix it. You may also want to see these expert tips on using Google Search Console to grow traffic or see practical examples of how to improve organic click-through rate in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post The WordPress SEO Crawl Budget Problem and How to Fix It first appeared on WPBeginner.

WordPress 6.1 Introduces New Default Theme and Fluid Typography, Expands Design Tools and Template Options

WordPress 6.1 “Misha” was released today, named for Soviet-Norwegian jazz pianist Mikhail “Misha” Alperin, who was born in Ukraine in 1956. A founding member of the first Moldavian jazz quartet, and later the Moscow Art Trio, Alperin became known for his distinct and bewitching blend of jazz and folk music.

This release is the culmination of a months-long effort to improve the design tooling consistency of WordPress’ core blocks. That means blocks that were missing things like typography, color, and border support have been updated wherever possible to match the support included in other blocks. Design tools and their controls are also now more consistently presented, so users can intuitively know what to expect when customizing their blocks.

image credit: WordPress 6.1 About page

WordPress 6.1 expands the templates options available for site editing. Theme authors and users can now create page-specific templates, custom post type and post-specific templates, user-selectable custom templates for all post types, and taxonomy-specific templates for categories or tags.

With all the new block design and template editing capabilities, WordPress 6.1 has added more sophisticated content-locking capabilities. Block-locking can now be applied to all inner blocks in one click. This applies to containing blocks like Group, Cover, and Column blocks.

image credit: WordPress 6.1 About Page

Menu management has also gotten a big update in 6.1, with menu controls relocated to their own place in the block settings. The navigation block now offers new fallback options in case the block isn’t pre-populated with inner blocks. If the navigation menu is empty, the fallback behavior is to display a list of available pages using the Page List block. If there are multiple block menus, the fallback is to display the most recently created block menu. This ensures that users aren’t stuck and can more easily understand where their menus will show up.

New Twenty Twenty-Three Default Theme with 10 Style Variations

One of the most anticipated parts of this release is the new Twenty Twenty-Three (TT3) default theme. This is a new kind of default theme that bundles a curated set of style variations, instead of creating a new theme from scratch. It uses a stripped-back version of Twenty Twenty-Two as the base for a theme that features 10 community-contributed style variations.

image credit: WordPress 6.1 About page

The theme is accessibility-ready and puts the spotlight on all of the design tools available in the latest release. It is basically a blank slate for further customization, with both rich and minimalist color palettes and multiple typography options. It will be exciting to see what the world of WordPress users builds with the new theme.

Fluid typography makes its debut in 6.1. This feature is for theme authors but benefits users and site visitors alike. It allows authors to define font sizes that will smoothly scale between smaller and larger viewports, adapting in a fluid way to varying widths.

The best part of the new fluid typography feature is that it can easily be turned on by setting typography.fluid to be true in theme.json and adding fluid to each of the settings.typography.fontSizes with min and max values. If you want to see an example of fluid typography in action, look no further than the new Twenty Twenty-Three theme.

Other notable new features and updates in 6.1 include the following:

  • List and Quote blocks now support inner blocks
  • Improved layout and visualization of document settings
  • Support for starter patterns for any post type
  • Filter Themes Directory for block themes in the admin
  • Improved block placeholders that show customization options
  • New system for persisting user preferences across browsers and devices
  • Block-based Template Parts now available in Classic Themes
  • Query Loop block extended to support custom queries
  • Set preset values for padding, margin and block gap

WordPress 6.1 includes more than 60 accessibility improvements and 25 tickets dedicated to performance. This release is the result of the tireless efforts of more than 800 contributors from 60+ countries. For a quick visual tour, check out the official WordPress 6.1 promo video:

Generating Unique Identifiers Based on Timestamps in Distributed Applications

We build applications that must process very high numbers of events with minimum latency. Generating unique IDs for these events using the traditional method of UUIDs introduces an unacceptable time overhead into our applications, so an alternative approach is needed.

I recently wrote an article on how timestamps can be used as unique identifiers, as they are much cheaper to generate than other methods of generating unique identifiers, taking a fraction of a microsecond.