Security Bugs Are Fundamentally Different Than Quality Bugs

This topic has come up a few times this year in question period: arguments that quality bugs and security bugs "have equal value," that security testing and QA are "the same thing," that security testing should "just be performed by QA" and that "there’s no specific skillset" required to do security testing versus QA. This article will explain why I fundamentally disagree with all of those statements.

First, some definitions.

A ChatGPT Job Interview for a Scrum Master Position

TL; DR: A ChatGPT Job Interview for a Scrum Master Position

Can a large language model, not specializing in anything “agile,” pass a screening interview for a Scrum Master position? In this ChatGPT job interview, I put OpenAI’s latest generative AI to the test. I took several questions from the 73 Scrum Master Interview Questions guide (see below), covering the whole spectrum from the broad picture to more specific questions, only answerable with hands-on experience on the interviewee’s side. 

So, read on and learn whether Scrum Masters will soon be replaced with a chatbot.

How to Build Great HTML Form Controls

Today I'm going to show you all the things to consider when building the perfect HTML input. Despite its seemingly simple nature, there's actually a lot that goes into it.

How To Make the Control

Well, we need to start somewhere. Might as well start with the control itself.

Kotlin Is More Fun Than Java And This Is a Big Deal

I first dabbled in Kotlin soon after its 1.0 release in 2016. For lack of paying gigs in which to use it, I started my own open-source project and released the first alpha over the Christmas holidays. I’m now firmly in love with the language. But I’m not here to promote my pet project. I want to talk about the emotional value of the tools we use, the joys and annoyances beyond mere utility.

Some will tell you that there’s nothing you can do in Kotlin that you can’t do just as fine with Java. There’s no compelling reason to switch. Kotlin is just a different tool doing the same thing. Software is a product of the mind, not of your keyboard. You’re not baking an artisanal loaf of bread, where ingredients and the right oven matter as much as your craftsmanship. Tools only support your creativity. They don’t create anything.

Continuous Learning Culture Starter Guide: Learn the Basics

Peter Drucker famously said, “Learning is a lifelong process of keeping abreast of change. And the most pressing task is to teach people how to learn.” 

Nurturing a continuous learning culture is a prerequisite to an agile and flexible organization. It’s a culture where employees are continually striving to increase knowledge, competence, innovation, and performance. A stagnant learning culture, on the other hand, hinders an organization’s growth and development. 

In this guide, we’ll tell you how to foster a culture of continuous learning and why it’s an initiative worth taking.

What Is a Continuous Learning Culture?

A continuous learning culture is where everyone in an organization collectively tries to increase their knowledge and integrate that knowledge to ensure better outcomes, such as superior performance, greater competency, and improved innovation.

Continuous learning culture takes many forms and an organization. Typically, employees should:

  • Seek out new training
  • Connect with experienced professionals on other platforms
  • Seek out new articles or blogs
  • Learn from subject matter experts (SMEs) in their field
  • Ask questions and request feedback 
  • Be willing to take on new projects
  • Apply creative problem-solving strategies
  • Create and execute innovative learning plans
  • Join book clubs
  • Create training for other teammates to practice applying their new-found knowledge

When you have lifelong learners on your team, you’ll find the whole company ahead of the curve. This is in sharp contrast to a complacent workforce where there’s little to no influx of new ideas and is a waste of company resources. 

How Does a Continuous Learning Culture Benefit an Organization?

Learning culture directly correlates to your business’s success. 

Case in point—Deloitte‘s Leading in Learning report found that continuous learning firms are 46% more likely to be first to market, experience 37% higher productivity, and are 92% more likely to innovate. This makes your company a more desirable place to work, helping attract more talent. 

In fact, 62% of tech employees agree training and learning opportunities make them more motivated to provide high-quality work, and younger workers consider skills training as a top perk when choosing a company to work for.

In addition to attracting talent, continuous learning culture also helps you retain it. 

Providing employees with on-the-job learning opportunities has a significant positive impact on staff retention. It makes them feel valued, ensuring they stay with your organization for the long haul. Plus, adaptive and proactive learning create long-term dividends for career development.

To put things into perspective, nurturing a continuous learning environment in your company helps you build a reliable and skilled workforce who feel valued, in turn, improving staff attention and overall business success.

What Does a Culture of Continuous Learning Look Like?

The primary concept of a continuous learning culture is to have employees continually review resources until they reach mastery. Unlike traditional learning, there’s no deadline or exam date—or a percentage—to worry about.

Here’s how continuous learning works: employees take a diagnostic assessment and make a personalized learning plan until reassessment. Ideally, they continue the cycle with a new personalized plan until they master the skills they want. 

Note that the whole foundation of continuous learning is consistency.

Human beings have a tendency to forget anything they learn within a short span of time, which scientists call the forgetting curve. Continuous learning involves employees consuming bite-sized learning modules regularly, helping them reach a high level of proficiency and integrate their skills into their daily lives.

What are the Benefits of a Continuous Learning Culture?

Once you foster a culture that values growing every individual’s skills and knowledge, you’ll see an active shift in your work environment for the better. 

While we’ve lightly touched on the importance of continuous learning culture, here’s a more detailed breakdown of some benefits you can expect:

Improved Retention

Employees are likely to stay with organizations they feel are invested in their growth, development, and success. If you close this gap for your workforce, you can hold on to your company‘s most valuable asset: your people.

Competitive Edge

Another benefit of continuous learning is it creates a sense of healthy competition between teammates, with every employee challenging each other and striving for improvement. 

A competitive drive also enhances your employees’ productivity, producing innovations and ideas and finding quality proposals from every level of your organization. This works wonders to keep you ahead of the competition.

Skilled Workforce

The more obvious benefit of promoting continuous learning is a deeply engaged and skilled workforce.

Once employees start enjoying learning, which is achievable if you offer interesting courses and learning opportunities relevant to them, they’ll start participating more. And learning from SMEs and internal and external leaders will equip them with the necessary skills and knowledge to facilitate their professional development.

5 Steps to Foster a Continuous Learning Culture in Your Organization

Here’s a step-by-step breakdown of cultivating a culture of continuous learning smoothly and with stakeholder and employee buy-in:

Step 1: Identify Skill Gaps

Identifying your organization’s skills gap is an understandable first step to creating a culture of continuous learning. It gives you a clear vision of outcomes and knows what skills your employees have (and lack) to define your approach to a skills framework.

Step 2: Get Stakeholder Buy-In 

Stakeholders and business leaders set the tone of the organization, enabling employees to thrive. It’s why they should understand the importance of and support a continuous learning culture. Otherwise, all your efforts will be in vain.

Even better if you can get leaders to demonstrate their own continuous learning journey to inspire and motivate employees. This models both acceptance and expectations, showing your workforce that their superiors encourage, celebrate, and reward learning.

Step 3: Create a Learning Plan

Make a learning plan outlining strategies and an implementation plan for your chosen employee learning initiatives.

Doing this sets clear objectives and defines processes, making it easier to streamline operations and achieve objectives. It gives direction and clarity, and since it’s custom-made according to your organization and its needs, you get a headstart to create a culture of continuous learning.

Step 4: Allocate Resources and Time to Implement Your Continuous Learning Plan

Another important aspect of cultivating a culture of continuous learning is setting aside some time and resources for planning and implementation.

Create a budget and internal marketing plan to get buy-in from employees. Introduce them to the tools and tech (for example, learning management systems and eLearning platforms) they will use to manage their own learning schedules.

Regardless of how you choose to run your continuous learning model, make sure it’s easily accessible to your employees. They should be able to easily select what they want to learn and when they want to learn. This ensures they gain maximum benefit and use resources optimally to improve the success rate.

Step 5: Encourage Employees and Make Them Comfortable 

Ensure your employees feel comfortable and can easily navigate your chosen continuous learning model. If accessing content is challenging, adopting continuous learning into office culture will also be slower.

Ideally, the learning experience should be tailored to your employee’s individual needs. Employees will be more likely to be more committed and embrace learning actively.

5 Effective Strategies to Enhance Continuous Learning Culture

Nurturing a culture of continuous learning also involves building systems that make learning opportunities feel interesting and widely accessible. Here are a few proven ways to engage and immerse your employees in constant learning:

1. Microlearning Modules

Research suggests 58% of employees are more likely to engage with shorter learning modules. So the fact that microlearning lets you deliver learning content in small learning units makes it great for training in a limited time period. It’s also less demanding for employees with busy schedules and, therefore, encourages adoption. 

2. Push Notifications 

Continuous learning has an automatic leg up over a traditional LMS tool—one you can push to your employee’s mobile device. Consider sending employees reminder notifications to increase attendance for in-person classes or finish their microlearning modules.

3. Lunch and Learns

In addition to being an excellent workplace perk, lunch and learns is also handy for launching learning initiatives at your organization. 

These activities are supposed to take place at lunchtime on a regular cadence. You can have an internal or external person running present a topic you think would benefit the attendees. Think of it as a low-pressure way to promote a sense of belonging while fostering a culture of continuous learning that’s both collaborative and engaging.

4. Adaptive Learning

Adaptive learning is the next level of personalized learning. While the latter uses a pre-test at the start of a course, the former focuses on improving your employees’ learning experiences and performance during the course.

It’s a great approach to help learners adapt and master the material. Plus, as employees don’t review the information they’ve already learned, they’re also more engaged during the session.

5. SMEs (Subject Matter Experts)

SMEs are experts at their jobs who not only are a powerhouse of knowledge but can also creatively position the value of continuous learning. While you can also get external professionals, you likely already have people internally your employees love hearing from and can pioneer your organization’s peer-to-peer learning initiatives.

Internal SMEs should ideally be ultra-high performers or most tenured staff. You can also appoint individuals who have proven their worth by achieving substantial milestones to interact with and help your employees.

Final Thoughts About Continuous Learning Culture

If you want your organization to remain competitive despite the dynamic market changes, prioritize your employees’ learning and development and create learner-centric goals. 

Continuously upskilling employees and making learning collaborative and relevant will help you build a highly skilled workforce that’s willing to learn and adapt to ensure your organization thrives in the long run. 

Here are additional QuickStart guides that will help you build an adaptive, more agile workforce:

Why Backup GitHub, GitLab, or Bitbucket—the Risk of Data Loss

If your organization uses version control systems like GitHub, GitLab, and Bitbucket, you probably are aware that code as intellectual property is the most valuable asset inside your company—you and your team spent thousands of hours (and money) to write, support, and improve projects. As CTO, IT manager, software-house owner, or team leader—you probably can imagine how much it would cost you to lose the code your team has been working on for months.

But is it even possible? Data breaches, systems downtime, policy changes, and more—all of those factors can limit access to your repositories on GitHub, GitLab, and Bitbucket, and put your intellectual property at risk. Without proper protection of your IP, your business might not be able to harness the full potential of code created by your employees.

Microsoft Azure API Management Service

An overview of frequent scenarios and important Azure API Management components is given in this post. Azure API Management is a hybrid, multi-cloud management tool for APIs in all settings. API Management, a platform-as-a-service, provides the entire API lifecycle.

APIs make data and services reusable and widely accessible, simplify application integration, support new digital goods, and enable digital experiences. Due to API growth and reliance, businesses must manage them as first-class assets throughout their lifecycles.  

What Is Essentialism, and How Does It Make Software More Efficient?

Last year, I enjoyed reading a new and provocative book that explores a new way to think not only about some aspects of life but about everything.  Essentialism: The Disciplined Pursuit of Less by Greg McKeown brings this new perspective, but is it right? Can we apply it to software development? The short answer is: yes. Furthermore, you can do it more efficiently, and in this post, we'll explain how with the essentialism methodology.

When we talk about software engineering, it might have several approaches and definitions. This post will use my favorite one from Modern Software Engineering by Dave Farley.

Employee Benefits Packages Starter Guide: Learn the Basics

Create employee benefits packages that attract top talent with Gusto, an all-in-one payroll, benefits, and human resource management software with licensed advisors to help craft the perfect packages for your business. For a limited time, save 25% for the first six months on the Gusto Plus plan

Many employers think about the downside of offering employee benefits packages. These packages add to the company’s overhead and require a significant monetary investment. However, competitive benefits can help attract top talent, reduce employee attrition, and increase the company’s bottom line. This guide covers everything you need to know about successful employee benefits packages. 

The 5 Best Administration Software to Create Employee Benefits Packages 

You don’t have to spend hours and endless paperwork creating and managing employee benefits packages. We’ve reviewed the best employee benefit plans for your convenience. Here, we feature the best software to automate benefits administration, including benefits eligibility, elections, and enrollment. 

  • Gusto – Best for Companies with a Limited Workforce 
  • ADP – Best for Companies with More Than 50 Employees
  • BambooHR – Best for Tracking Benefits 
  • Zenefits – Best for On-the-Go Access
  • GoCo – Best for Automatic Benefits Enrollment 

What Are Employee Benefits Packages and Why Do They Matter? 

An employee benefits package refers to a collection of non-monetary compensation that an employee receives in addition to their base wage or salary. Typically, these benefits cover essential expenses that an employee would otherwise have to pay out of pocket. For example, most employee benefits packages include medical insurance and retirement savings. 

Although often used interchangeably, there is a nuanced difference between employee benefits and perks. Benefits are considered essential, while perks are considered nice to have. For example, medical insurance is critical for the employee’s health and well-being, but free food or a standing desk at the office are often considered extras. 

An attractive employee benefits package is important for several reasons. First, offering an employee benefits package ensures compliance with relevant federal and state mandates. There are more than 180-labor related laws, many of which mandate certain employee benefits. 

Regardless, offering attractive employee benefits packages is consistent with most companies’ interests. According to a recent study, 80% of employees preferred to take a job with 30% less pay but with benefits compared to an identical position with no benefits. Therefore, attractive benefits can help you recruit top talent. 

In the same vein, attractive employee benefits can help retain top talent. The employees feel more secure and less likely to search for new jobs. Replacing an employee costs six to nine months of their salary. Reducing employee attrition is critical and attractive benefits can help accomplish this goal. 

Furthermore, a good benefits package can help boost employee productivity. Employees are more likely to focus on their work when they have fewer financial strains and concerns. Finally, other reasons to offer employee benefits include better morale, a healthier workforce, and more loyal employees. 

Types of Employee Benefits (Mandatory vs. Voluntary) 

There are two types of employee benefits, mandatory and voluntary. Mandatory employee benefits are consistent across all states and industries and are enforced by the U.S. Department of Labor. So you’ll need to include these benefits to comply with relevant laws and regulations. 

However, some laws are state mandated. So it’s worth consulting with a legal expert when formulating your employee benefits packages. According to the U.S. Bureau of Labor Statistics, these legally-mandated benefits are aimed at:

  • Providing workers and their dependents with medical care and a retirement income 
  • Cushioning workers from economic hardships resulting from disability and loss of work
  • Covering liabilities resulting from workplace-related illnesses and injuries

Therefore, a legally compliant employee benefits package must include the following benefits: 

Medicare and Social Security Contributions – The federal government mandates social security and medicare benefit program contributions. Both the employee and employer contribute to these funds under the Federal Insurance Contributions Act (FICA). 

Unemployment Insurance – Employees are also required to carry unemployment insurance. While there are minimal federal requirements, each state has its regulations. In addition, former employees can file a wrongful termination case and receive funds from the Unemployment Tax Fund. The money is meant to temporarily replace the income while they look for another job.

Health Insurance – The Affordable Care Act (ACA) mandates that businesses with 50 or more full-time employees provide healthcare coverage. Businesses covered under the act are known as applicable large employers (ALEs). The business must also report the cost and type of insurance they provide to the IRS. 

Family and Medical Leave – Similarly, the Family Medical Leave Act (FMLA) requires ALEs to provide staff with up to 12 weeks of unpaid leave. Along with health insurance, family and medical leave are among the most sought-after employee benefits. So it is worth implementing an attractive package to remain competitive in the job market. 

Disability Benefits – Some states like California, New Jersey, New York, and Rhode Island require employers to carry disability insurance. This insurance covers employees who miss work because of a non-work-related injury or illness. Although not mandatory in most states, it is an incentive worth considering if you hope to attract top talent. 

You shouldn’t stop with the mandated benefits. If you hope to reap the advantages of employee benefits, it’s worth adding extra perks. Some of the most common voluntary employee benefits include: 

Health Insurance – You don’t have to stick with government-mandated health insurance policies. Many job hunters consider the health insurance package when comparing job offers. So a comprehensive health insurance package can help attract and retain top talent. There are also many other types of insurance you can offer, including dental, health, vision, and life insurance.  

Flexible work hours – Many of today’s employees value autonomy and work-life balance. Flexible work hours are in demand, even more than remote working programs. Examples of flexible work hours include compressed work weeks, customized work hours, and alternative schedules. 

Fitness and wellness initiatives – Most employers understand the importance of a physically and mentally healthy workforce. As a result, the organization enjoys higher productivity, reduced absenteeism, fewer health risks, and higher employee morale. A wellness program may include yoga classes, on-site fitness centers, healthy snacks, financial counseling, smoking cessation programs, and volunteering activities. 

Paid maternity and paternity leave – Employers aren’t mandated to provide paid maternity leave, but it is an attractive perk. Employees are more likely to be loyal given the opportunity to bond with their newborns without forgoing their pay. Paid maternity and paternity leave also ensures new parents are less anxious about finances when they return to work. 

Student loan benefits – Student loan assistance is desirable for millennials. For example, PwC offers employees up to $100 monthly towards student loan payments. Many millennials struggle with student loan repayments eating into their paychecks. Such a benefit can help attract highly qualified talent. 

Other types of voluntary employee benefits to consider include: 

  • Career development
  • Stock options 
  • Paid vacation and time off 
  • Pet insurance 
  • Pet-friendly workspaces 
  • Employee appreciation programs
  • Casual dress code 
  • New hire welcome packages 

Voluntary benefits provide opportunities for customization. So you can create a package that makes sense for your industry, type of business, and budget. Besides, an attractive benefits package will repay itself in high-quality talent acquisition, increased productivity, and low employee attrition. 

Who Qualifies for an Employee Benefits Package? 

You’ll need to check with your local and state laws for employee benefits eligibility requirements. For example, many states mandate paid sick leave, short-term disability, and health insurance benefits for part-time employees. Again, it’s helpful to consult a legal expert to learn about the requirements for your state. 

You can also refer to the relevant federal laws to determine employee eligibility for benefits packages. For example, the Affordable Healthcare Act (ACA) requires businesses to offer health insurance to full-time employees. However, the Employee Retirement Income Security Act (ERISA) determines that part-time employees are eligible to participate in the company’s retirement plan. 

It’s worth noting that the IRS considers employees working more than 30 hours a week or an average of 130 hours a month to be full-time employees. This distinction is important for businesses whose employee hours fluctuate. 

An employer can offer voluntary benefits at their discretion. However, policies must be applied fairly and consistently. It’s equally important to define part-time and full-time employees clearly, including the benefits they are eligible for. 

How to Design a Competitive Employee Benefits Package 

What constitutes a competitive employee benefits package is relative. For example, while older workers may value maternity leave and paid vacations, millennials may prefer remote working, student loan assistance, and state-of-the-art technology. Similarly, a large company may be able to afford childcare benefits for its employees. However, a startup may need to focus more on alternative benefits like free food, unlimited paid time off (PTO), and flexible working hours. 

Any good employee benefits program starts with objectives. Clear objectives are critical for choosing specific benefits that resonate with your employees. You can refer to the organization’s HR strategy can help formulate benefits objects.  

For example, you may want an employee benefits package that will:

  • Attract and retain the best talent
  • Compete with similar organizations 
  • Maintain good relationships with unions and other industrial relations
  • Improve employee standard of living
  • Boost the company’s image in the public eye
  • Offer supplemental income that allows employees to participate in social and cultural events

The main thing is that employee benefits should be focused on employee welfare rather than as donations or charity. This way, the benefits package is more likely to resonate positively with your workforce and prospective hires. Finally, the benefits package should be fundamental to human resource management. 

Next, create a budget for your employee benefits packages. As a rule of thumb, employee benefits cost 20-50% of the worker’s salary. Fortunately, not all benefits have to increase the company’s expenses. 

For example, a work-from-home program will not add to the HR budget. However, this benefit shows employees that you value work-life balance and trust them to work independently. Similarly, a profit-share program doesn’t cost anything upfront but incentivizes employees to be more productive. 

It’s also helpful to conduct a needs assessment to determine the benefits your employees want. Questionnaires and surveys help identify the benefits that have the highest impact. It’s also helpful to conduct a utilization review of current benefits and replace underutilized benefits with in-demand options. 

Screenshot of Gusto HR software showing benefit package options for the user.
Gusto allows companies to showcase their benefits in an easy-to-understand way.

Finally, formulate and document the benefits program. Again, software like Gusto can assist with this step. You can also speak to a professional to help you develop a comprehensive program. Lastly, communicate the benefits packages with your employees and explain the offered benefits. 

Pitfalls to Avoid When Creating Employee Benefits Packages 

Even the best-meaning employee benefits program can become problematic if you don’t watch out for common pitfalls. Unfortunately, these are typical blind spots many employers miss when formulating benefits packages. Identifying potential issues beforehand helps avoid potential problems down the road. 

Employers need to remember the non-monetary cost of administering a benefits program. For example, the HR department may have additional paperwork and workload. Fortunately, software like Gusto automates most administration tasks so HR can focus on other important work. 

Healthcare costs also continue to rise every year. The increase results from factors like changing government policy, disease prevalence, and population growth. Therefore, it’s important to account for the rising cost when budgeting for health-related benefits. 

Additionally, many employers need to consider changing employee benefits status. For example, single employees may marry and have children. This change means an increase in their benefits package. So the benefits program should be flexible enough to account for changing employee status. 

Other crucial employee benefits mistakes to avoid include:

  • Late enrollment of qualified employees
  • Making late deposits for matching and profit-sharing 
  • Purchasing inadequate insurance plans
  • Ignoring compliance issues

Again, you can leverage employee benefits software like Gusto to help with benefits administration. You can also consult a licensed advisor to help formulate an iron-clad benefits program that works for your organization. 

Final Thoughts About Employee Benefits Packages 

A comprehensive employee benefits package solves one of the most critical but often overlooked problems. You’ll be able to attract top talent and retain high-performers for the long haul. The organization also benefits from a healthy, energetic, motivated, and productive workforce. 

It is possible to create an attractive employee benefits package regardless of the company’s size or budget. And, with software tools like Gusto, administering benefits doesn’t have to be a headache for HR. You can automate most administration tasks and even get professional guidance when crafting your packages. 

Below are two more QuickSprout posts to help you learn more about employee benefits:

DevSecOps: The Principles to Apply to Improve Your Security System

What Is DevSecOps?

The DevOps method eliminated the ops bottleneck in the delivery circuit, enabling faster deployment to production. It also improved the operations feedback loop, giving developers more control over their production code. However, faster delivery can also mean the faster deployment of security vulnerabilities.

This forces the organization to rethink its security policies, responding to the need for constant monitoring of security vulnerabilities while preventing this monitoring from becoming a bottleneck.

Build Your Own AI Avatar App From Scratch in Less Than 8 Hours

Have you ever wanted to create your own AI avatar? With the latest technologies, you can build your very own AI app in less than eight hours! This guide will provide an overview of the steps and techniques needed to create an AI avatar app from scratch. Let's dive in! 

Like everyone in the Machine Learning field, I was obsessed with following the tons of AI Avatar apps that were taking over the news cycles in December 2022. The notable ones were Lensa.ai, Profilepicture.ai, and  Avatarai.me.

Styling Buttons in WordPress Block Themes

A little while back, Ganesh Dahal penned a post here on CSS-Tricks responding to a tweet that asked about adding CSS box shadows on WordPress blocks and elements. There’s a lot of great stuff in there that leverages new features that shipped in WordPress 6.1 that provide controls for applying shadows to things directly in the Block Editor and Site Editor UI.

Ganesh touched briefly on button elements in that post. I want to pick that up and go deeper into approaches for styling buttons in WordPress block themes. Specifically, we’re going to crack open a fresh theme.json file and break down various approaches to styling buttons in the schema.

Why buttons, you ask? That’s a good question, so let’s start with that.

The different types of buttons

When we’re talking about buttons in the context of the WordPress Block Editor, we have to distinguish between two different types:

  1. Child blocks inside of the Buttons block
  2. Buttons that are nested inside other block (e.g. the Post Comments Form block)

If we add both of these blocks to a template, they have the same look by default.

A black button above a comment form that also contains a black button.

But the markup is very different:

<div class="wp-block-button">
  <a class="wp-block-button__link wp-element-button">Button 1</a>
</div>
<p class="form-submit wp-block-button">
  <input name="submit" type="submit" id="submit" class="wp-block-button__link wp-element-button" value="Post Comment"> 
</p>

As we can see, the HTML tag names are different. It’s the common classes — .wp-block-button and .wp-element-button — that ensure consistent styling between the two buttons.

If we were writing CSS, we would target these two classes. But as we know, WordPress block themes have a different way of managing styles, and that’s through the theme.json file. Ganesh also covered this in great detail, and you’d do well giving his article a read.

So, how do we define button styles in theme.json without writing actual CSS? Let’s do it together.

Creating the base styles

theme.json is a structured set of schema written in property:value pairs. The top level properties are called “sections”, and we’re going to work with the styles section. This is where all the styling instructions go.

We’ll focus specifically on the elements in the styles. This selector targets HTML elements that are shared between blocks. This is the basic shell we’re working with:

// theme.json
{
  "version": 2,
  "styles": {
    "elements": {
      // etc.
    }
  }
}

So what we need to do is define a button element.

={
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        // etc.
      }
    }
  }
}

That button corresponds to HTML elements that are used to mark up button elements on the front end. These buttons contain HTML tags that could be either of our two button types: a standalone component (i.e. the Button block) or a component nested within another block (e.g. the Post Comment block).

Rather than having to style each individual block, we create shared styles. Let’s go ahead and change the default background and text color for both types of buttons in our theme. There’s a color object in there that, in turn, supports background and text properties where we set the values we want:

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        "color": {
          "background": "#17a2b8",
          "text": "#ffffff"
        }
      }
    }
  }
}

This changes the color of both button types:

A light blue button above a comment form that also contains a light blue button.

If crack open DevTools and have a look at the CSS that WordPress generates for the buttons, we see that the .wp-element-button class adds the styles we defined in theme.json:

.wp-element-button {
  background-color: #17a2b8;
  color: #ffffff;
}

Those are our default colors! Next, we want to give users visual feedback when they interact with the button.

Implementing interactive button styles

Since this is a site all about CSS, I’d bet many of you are already familiar with the interactive states of links and buttons. We can :hover the mouse cursor over them, tab them into :focus, click on them to make them :active. Heck, there’s even a :visited state to give users a visual indication that they’ve clicked this before.

Those are CSS pseudo-classes and we use them to target a link’s or button’s interactions.

In CSS, we might style a :hover state like this:

a:hover {
  /* Styles */
}

In theme.json, we’re going to extend our existing button declaration with these pseudo-classes.

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        "color": {
          "background": "#17a2b8",
          "text": "#ffffff"
        }
        ":hover": {
          "color": {
            "background": "#138496"
          }
        },
        ":focus": {
          "color": {
            "background": "#138496"
          }
        },
        ":active": {
          "color": {
            "background": "#138496"
          }
        }
      }
    }
  }
}

Notice the “structured” nature of this. We’re basically following an outline:

  • Elements
    • Element
      • Object
        • Property
          • Value

We now have a complete definition of our button’s default and interactive styles. But what if we want to style certain buttons that are nested in other blocks?

Styling buttons nested in individual blocks

Let’s imagine that we want all buttons to have our base styles, with one exception. We want the submit button of the Post Comment Form block to be blue. How would we achieve that?

This block is more complex than the Button block because it has more moving parts: the form, inputs, instructive text, and the button. In order to target the button in this block, we have to follow the same sort of JSON structure we did for the button element, but applied to the Post Comment Form block, which is mapped to the core/post-comments-form element:

{
  "version": 2,
  "styles": {
    "elements" {
      "button": {
        // Default button styles
      }
    }
    "blocks": {
      "core/post-comments-form": {
        // etc.
      }
    }
  }
}

Notice that we’re no longer working in elements anymore. Instead, we’re working inside blocks which is reserved for configuring actual blocks. Buttons, by contrast, are considered a global element since they can be nested in blocks, even though they are available as a standalone block too.

The JSON structure supports elements within elements. So, if there’s a button element in the Post Comment Form block, we can target it in the core/post-comments-form block:

{
  "version": 2,
  "styles": {
    "elements" {
      "button": {
        // Default button styles
      }
    }
    "blocks": {
      "core/post-comments-form": {
        "elements": {
          "button": {
            "color": {
              "background": "#007bff"
            }
          }
        }
      }
    }
  }
}

This selector means that not only are we targeting a specific block — we’re targeting a specific element that is contained in that block. Now we have a default set of button styles that are applied to all buttons in the theme, and a set of styles that apply to specific buttons that are contained in the Post Comment Form block.

A light blue button above a comment form that contans a bright blue button.

The CSS generated by WordPress has a more precise selector as a result:

.wp-block-post-comments-form .wp-element-button,
.wp-block-post-comments-form .wp-block-button__link {
  background-color: #007bff;
}

And what if we want to define different interactive styles for the Post Comment Form button? It’s the same deal as the way we did it for the default styles, only those are defined inside the core/post-comments-form block:

{
  "version": 2,
  "styles": {
    "elements" {
      "button": {
        // Default button styles
      }
    }
    "blocks": {
      "core/post-comments-form": {
        "elements": {
          "button": {
            "color": {
              "background": "#007bff"
            }
            ":hover": {
              "color": {
                "background": "#138496"
              }
            },
            // etc.
          }
        }
      }
    }
  }
}

What about buttons that are not in blocks?

WordPress automagically generates and applies the right classes to output these button styles. But what if you use a “hybrid” WordPress theme that supports blocks and full-site editing, but also contains “classic” PHP templates? Or what if you made a custom block, or even have a legacy shortcode, that contains buttons? None of these are handled by the WordPress Style Engine!

No worries. In all of those cases, you would add the .wp-element-button class in the template, block, or shortcode markup. The styles generated by WordPress will then be applied in those instances.

And there may be some situations where you have no control over the markup. For example, some block plugin might be a little too opinionated and liberally apply its own styling. That’s where you can typically go to the “Advanced” option in the block’s settings panel and apply the class there:

A WordPress block settings panel with the Advanced settings expanded highlighting the CSS classes section in red.

Wrapping up

While writing “CSS” in theme.json might feel awkward at first, I’ve found that it becomes second nature. Like CSS, there are a limited number of properties that you can apply either broadly or very narrowly using the right selectors.

And let’s not forget the three main advantages of using theme.json:

  1. The styles are applied to buttons in both the front-end view and the block editor.
  2. Your CSS will be compatible with future WordPress updates.
  3. The generated styles work with block themes and classic themes alike — there’s no need to duplicate anything in a separate stylesheet.

If you have used theme.json styles in your projects, please share your experiences and thoughts. I look forward to reading any comments and feedback!


Styling Buttons in WordPress Block Themes originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

React for Web Development: Key Features and Comparison With Other Frameworks

React is a powerful JavaScript library that has revolutionized the way developers build web applications. With its ability to create reusable UI components, improve performance with a virtual DOM, and ensure consistency with a one-way data flow, React has become a go-to choice for many developers. In this article, we will explore ways in which React can improve your web development process, from saving time and effort to making your application easier to maintain and scale and answer questions. Is it good for all situations, or there are better routes?

Introduction to React

React is a JavaScript library for building user interfaces that was developed by Facebook in 2011. It has since become one of the most popular libraries for building web applications and is used by companies such as Netflix, Airbnb, and Uber.

Replicating the Light Effect from MIDWAM with Three.js and Postprocessing

In this new ALL YOUR HTML coding session we’ll dive into replicating the magical light effects seen on Midwam’s website using Three.js and postprocessing.

Original: https://midwam.com/en

Developed by: https://immersive-g.com/

This coding session was streamed live on January 9, 2022.

Check out the live demo.

Support: https://www.patreon.com/allyourhtml

Setup: https://gist.github.com/akella/a19954…

Is It Safe to Use Outdated WordPress Plugins? (Explained)

Are you wondering whether it’s safe to install and use an outdated WordPress plugin?

Sometimes when you are searching for a plugin to add a new feature to your website, you may find one that looks perfect, but it hasn’t been updated for a while or hasn’t been tested with your version of WordPress. Often times this leads to beginner readers asking the question can I use it without breaking my website?

In this article, we’ll discuss how to determine whether or not you can safely install outdated WordPress plugins.

Is It Safe to Use Outdated WordPress Plugins?

How Do WordPress Plugins Become Outdated?

A WordPress plugin can become outdated if it hasn’t received any updates for a while, or if it hasn’t been tested by the plugin author to ensure it’s compatibility with the latest 3 major releases of WordPress.

We always recommend our readers to keep the plugins in your WordPress website up to date. These updates keep the plugin compatible with changes made to WordPress core, add new features, fix bugs, and address security vulnerabilities.

But what if a plugin that you are using or want to use hasn’t been updated for some time? Or what if it hasn’t been tested with the latest version of WordPress? Is it still safe to use?

The short answer is, it depends on the plugin.

Sometimes outdated plugins simply will not work correctly with newer versions of WordPress. Or the plugin may have even been abandoned by the developer, so that no new features will ever be added.

The biggest concern with outdated plugins is that there may be security issues that can come up. If the plugin isn’t maintained or updated, it might become a target for hackers.

However, just because a plugin is outdated doesn’t mean that it has any of those issues. Some outdated plugins are perfectly safe to use. However, we recommend that you thoroughly test the plugin before installing it on your live site.

With that being said, let’s take a look at how to tell if a WordPress plugin is outdated, and how you can decide whether it is safe to install.

Checking Whether a Plugin Is Outdated

The WordPress Plugin Directory displays a lot of useful information about each plugin. For example, it clearly shows the date each plugin was last updated, and the latest version of WordPress it was tested with.

If a plugin has not been tested for several versions of WordPress, then a warning will be displayed at the top of the plugin page, similar to this one:

This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Checking Whether a WordPress Plugin is Outdated

Where does WordPress get this information? Plugin authors are required to provide it in a readme file when submitting plugins to the WordPress plugin directory.

Unfortunately, busy developers don’t always update the readme file when a new WordPress update is released. Sometimes a plugin was tested more recently than its plugin page shows.

Now that you know how to check if a WordPress plugin is outdated, let’s take a look at how to tell whether it is safe to install.

Checking Whether an Outdated Plugin Is Safe to Install

Just because a plugin hasn’t been updated or tested recently doesn’t mean that it won’t work. How can you tell if the plugin is safe to install on your WordPress site?

Check User Ratings and Reviews

You can click on the ‘Reviews’ tab on the WordPress Plugin Directory to see user opinions and complaints about the plugin. If there is a compatibility problem with a recent version of WordPress, then other users may have mentioned it on this page.

Checking User Reviews and Ratings

You can also check the user ratings. If the reviews are recent and five stars, then it’s safe to assume that you can use the plugin on your website.

Check the Plugin Support Page

When you click the ‘Support’ tab, you will be taken to the support forum for the plugin. Here you can see any issues that users have been having with the plugin.

Checking the Plugin's Support Page

You will also see how responsive the plugin’s developer is, and whether they successfully solve issues in a timely manner.

If you decide to install the plugin, this is where you should come if you need support. You can learn more in our guide on how to properly ask for WordPress support and get it.

Check the Plugin Development Page

Another way to check whether it’s safe to install the plugin is by going to the plugin development page. This shows you how active the plugin developer is.

Simply go to the WordPress plugin page and click on the ‘Development’ tab.

Checking the Plugin's Development Page

In particular, take a look at the ‘Changelog’ section to see how often the plugin is being updated and what recent changes and improvements have been made.

If the developer is actively updating the plugin, then it usually means the plugin is high quality and safe to use on your WordPress website.

On the other hand, if a plugin hasn’t been updated in more than two years, then it may mean the plugin has been abandoned. In that case, you shouldn’t install the plugin since the developer is not actively maintaining it.

Check for WPBeginner Tutorials on the Plugin

You can also check whether the plugin is safe to install on the WPBeginner blog. You can look for tutorials on the plugin by navigating to the Blog » WordPress Plugins page or by using the search feature.

Checking WPBeginner Tutorials on the Plugin

If we recently published a tutorial on a plugin, then this means the plugin was compatible with the latest version of WordPress when we tested it.

Testing the Plugin on a Staging Site or Local WordPress Installation

Let’s say that you’ve gone through the steps above and decided that an outdated plugin looks safe to install. What should you do next?

Instead of immediately installing the plugin on your live site, you may wish to first test it on a staging site or local WordPress installation.

A WordPress staging site is a test site that you can use to safely test a plugin for problems before going live.

The staging site lives on your web hosting server, so you can be confident that if the plugin works there, you won’t encounter problems on your live site.

Working on staging environment

Some of the best WordPress hosting companies such as Bluehost, SiteGround, and WP Engine offer one-click staging websites. You can also create a staging site manually or by using a plugin.

You can learn how in our guide on how to easily create a staging site for WordPress.

As an alternative to a staging site, you can install WordPress on your own computer and test the plugin there. You can follow our guides on how to install WordPress locally on Mac or Windows, or using XAMPP.

Download Local by Flywheel

If the plugin works fine on your test site, then it’s safe to install it on your live website.

Final Thoughts

While it’s not a good idea to use outdated plugins, sometimes the plugin you’re looking for is the only one that does what you need. In that case, you will need to do your due diligence as we mentioned in our guide.

Other things you can look for is author’s reputation. If it’s a popular plugin author, then you can email them and ask whether they have plans to update the plugin.

Some plugins are so simple that they don’t need any updates, and this is why the author may not push out an update because they know it still works. The popular Page Links To plugin is a good example of that.

It’s written by one of WordPress core contributors, Mark Jaquith, and the plugin has been around for a long time. It doesn’t need any active development because it does one thing and does it well. So even though it shows the outdated error on WordPress.org, this plugin would be something that you can safely install.

The downside though is that if you were hoping to have more advanced redirection features, then it’s going to be lacking in the plugin which is why many users switch to the All in One SEO plugin because it includes this feature and many more powerful SEO features in the plugin.

We hope this tutorial helped you learn whether it’s safe to use outdated plugins with WordPress. You may also want to learn how to register a domain name for free, or check out our expert pick of the must-have WordPress plugins to grow your site.

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 Is It Safe to Use Outdated WordPress Plugins? (Explained) first appeared on WPBeginner.