Building Components For Consumption, Not Complexity (Part 1)

Design systems are on the tip of every designer’s tongue, but the narrative in the industry mainly focuses on why you need a design system and its importance rather than the reality of endless maintenance and internal politics. The truth is that design teams spend years creating these systems only to find out that few people adhere to the guidelines or stay within the “guardrails.”

I’ve been fortunate with Figma to host and run workshops at various conferences across Europe that center on one very specific aspect of product design: components.

I love components! They are the start, the end, the hair-tearing-out middle, the “building blocks,” and the foundation — the everything within every great product design organization.

The reason they are so important to me is because, firstly, who doesn’t like efficiency? Second, and more importantly, they are proven to increase the time-to-delivery from design to engineering, and here comes a buzzword — they offer a route to return on investment (ROI) within design teams. This is becoming increasingly important in a tough hiring market. So what’s not to love?

Note: You may be interested in watching Matt Gottschalk’s talk from Figma’s Config 2023 conference, which was dedicated to the topic of ROI within small design teams. The talk explored how small design teams can use design systems and design operations to help designers have the right environment for them to deliver better, more impactful results.

Like in most things, a solution to this is education and communication. If you aren’t comfortable with modifications on styles, you may want to set up your components in such a way as to indicate this. For example, using emojis in layers is the quickest way to say, “Hey, please don’t edit this!” or “You can edit this!”.

Or, consider shipping out components that are named for intention. Would separating components entirely (components named for intention) work better? An Input/Error, rather than a customizable Input?

When considering the emoji name approach, here’s a set that I’ve relied on in the past:

  1. Components
    • 🚨 Deprecated
    • 🟠 Not ready
  2. Component instances
    • 🔐️ Not editable
    • ✍️ Overwritten name
  3. Layers
    • ✍️ Editable
    • 🚨 Important
  4. Component properties
    • ◈ Type
    • ✍️ Edit text
    • 🔁️ Swap instance
    • 🔘 Toggle
    • ←️ Left
    • →️ Right
    • 🖱 Interaction
    • 📈 Data
    • ↔️ Size

Flexible: Responsive Design

Ahh, our old friend, responsive design (RWD)!

“The control which designers know in the print medium, and often desire in the web medium, is simply a function of the limitation of the printed page. We should embrace the fact that the web doesn’t have the same constraints and design for this flexibility. But first, we must accept the ebb and flow of things.”

— John Allsopp, “A Dao of Web Design

As it stands, there is no native solution within Figma to create fully responsive components. What I mean by “fully responsive” is that layout directions and contents change according to their breakpoint.

Here’s an example:

Note: It is technically possible to achieve this example now with auto layout wrapping and min/max widths on your elements, but this does not mean that you can build fully responsive components. Instead, you will likely end up in a magic numbers soup with a lengthy list of variables for your min and max widths!

With this limitation in mind, we may want to reconsider goals around responsive design within our component libraries. This may take the form of adapting their structure by introducing… more components! Do we want to be able to ship one component that changes from mobile all the way up to the desktop, or would it be easier to use, find, and customize separate components for each distinct breakpoint?

“Despite the fun sounding name, magic numbers are a bad thing. It is an old school term for ‘unnamed numerical constant,’ as in, just some numbers put into the code that are probably vital to things working correctly but are very difficult for anyone not intimately familiar with the code to understand what they are for. Magic numbers in CSS refer to values which ‘work’ under some circumstances but are frail and prone to break when those circumstances change.”

— Chris Coyier, “Magic Numbers in CSS

Never be hesitant to create more components if there is a likelihood that adoption will increase.

Then, what does this look like within Figma? We have a few options, but first, we need to ask ourselves a few questions:

  1. Does the team design for various screen sizes/dimensions? E.g., mobile and desktop web.
  2. Does the development team build for a specific platform/screen size(s)? E.g., an iOS team.
  3. Do you build apps aligning with native style guides? E.g., Material Design.

The answers to these questions will help us determine how we should structure our components and, more importantly, what our library structures will look like.

If the answer to questions 1. (Design for various screen sizes/dimensions?) and 2. (build for a specific platform/screen sizes?) is “No,” and to 3. (Build apps aligning with native style guides?) is “Yes,” to me, this means that we should split out components into separate component library files. We don’t want to enter into a world where an iOS component is accidentally added to a web design and pushed to production! This becomes increasingly common if we share component naming conventions across different platforms.

If the answer to question 3. (“Do we build native apps, using their design guidelines?”) is “Yes,” this definitely requires a separate component library for the platform-specific styles or components. You may want to investigate an option where you have a global set of styles and components used on every platform and then a more localized set for when designing on your native platforms.

The example below, with an example mapping of library files for an iOS design project, is inspired by my Figma community file (“Simple design system structure”), which I created to help you set up your design system more easily across different platforms.

Get “Simple design system structure” [FigJam file / Luis Ouriach, CC-BY license]

If you are designing across multiple platforms in a device-agnostic manner, you can bring components a lot closer together! If you aren’t currently working with an agnostic codebase, it might be worth checking Mitosis (“Write components once, run everywhere”).

A common challenge among development teams is using the same language; while one sub-team may be using Vue, another perhaps is using React, causing redundant work and forcing you to create shared components twice. In “Create reusable components with Mitosis and Builder.io,” Alex Merced explores in detail Mitosis, a free tool developed under the MIT license. Mitosis can compile code to standard JavaScript code in addition to frameworks and libraries such as Angular, React, and Vue, allowing you to create reusable components with more ease and speed.

Using A Variant

This may look like a variant set, with a specific property for device/size/platform added. For example,

As you can imagine, as those components increase in complexity (with different states added, for example), this can become unwieldy. Combining them into the same variant is useful for a smaller system, but across larger teams, I would recommend splitting them up.

Using Sections

You could consider grouping your components into different sections for each platform/device breakpoint. The approach would be the following:

  1. Use pages within Figma libraries to organize components.
  2. Within the pages, group each breakpoint into a section. This is titled by the breakpoint.
  3. Name the component by its semantic, discoverable name.

There is a caveat here! I’m sure you’re wondering: “But couldn’t variables handle these breakpoints, removing the need for different components?” The answer, as always, is that it’s down to your specific implementation and adoption of the system.

If your designer and developer colleagues are comfortable working within the variable workflow, you may be able to consolidate them! If not, we may be better served with many components.

Additionally, the split-component approach allows you to handle components in a structurally different manner across these different sizes — something that is not currently possible with variants.

Auto Layout

Regardless of how we organize the components, responsiveness can be pushed very far with the use of auto layout at every level of our screens. Although it can be intimidating at first, the auto layout makes components work similarly to how they would be structured in HTML and CSS, moving design and engineering teams closer together.

Let’s take a simple example: a generic input field. In your main component, you’re likely to have a text label within it with the text, e.g., “Label.” Generics are useful! It means that we can swap this content to be specific to our needs at an instance level.

Now, let’s say you insert this component into your design and swap that “Label” content for a label that reads “Email address.” This is our override; so far, so good.

However, if you then decide to change your main component structurally, you put that label at risk of losing its overrides. As an example of a structural change, your original “Placeholder” now becomes a “Label” above the input field. Instinctively, this may mean creating a new text element for the label. But! Should you try this, you are losing the mapping between your original text element and the new one.

This could potentially break your existing signed-off designs. Even though this seems like it could work — layer names are a great way to preserve overrides — they are separate elements, and Figma won’t know how to transfer that override to the new element.

At this point, introducing component properties can save us from this trouble. I’d recommend adding a text component property to all of your text layers in order to try to prevent any loss of data across the design files in which we are using the component.

As I showed before, I find adding a writing emoji (✍️) to the property name is a nice way to keep our component properties panel as scannable as possible.

Content Specificity

A decision then needs to be made about how specific the default content is within the component.

And this is where we should ask ourselves a question: do we need to change this content frequently? If the answer is yes, abstracting specific textual values from components means that they can be interpreted more widely. It’s a little bit of reverse psychology, but a text layer reading “[placeholder]” would prompt a designer to change it to their local use case.

If the answer is no, we will bake the fixed value we want into the component. Going back to our input field example, we might set the default label value to be “Email address” instead of “placeholder.” Or, we could create an entirely new email address component! (This is a call we’d need to make based on anticipated/recorded usage of the component.)

Imagery / Media

When setting up a content system within Figma, a few different questions immediately pop up:

  1. How do you use specific media for specific components?
  2. How do you fix aspect ratios for media?

Within Figma, an image is essentially a fill within a shape rather than its own content type, and this impacts how we manage that media. There are two ways to do this:

  1. Using styles.
  2. Using component sets (variants).

Before we look at styles and components, though, let’s take a look at the format that all assets within Figma could take.

Practically, I would advise setting up your media assets as their own library within Figma, potentially even setting up a few libraries if you work across various products/brands with different approaches to media.

For example, the imagery your product team uses within design files and marketing materials is likely to be very different, so we would look to set these up as different Figma libraries. A designer using those assets would toggle “on” the library they need to create an asset for a specific intention, keeping the right media in the right place.

Because this media is the same as any other style or component within Figma, we can use slash naming conventions to group types of media within the names.

Domain examples:

  • Company website,
  • Product,
  • Marketing,
  • Sub brand/s.

Media types:

  • Logo,
  • Icon,
  • Illustration,
  • Image,
  • Video.

Example names, using the format:

  • Figma.com/Logo/Figma,
  • Figma.com/Icon/Variable,
  • Figma.com/Illustration/Components,
  • Figma.com/Image/Office,
  • Designsystems.com/Logo/Stripe,
  • Designsystems.com/Icon/Hamburger,
  • Designsystems.com/Illustration/Orbs,
  • Designsystems.com/Image/Modular grid.

These are split into:

  • Library: Figma.com or Designsystems.com,
  • Media type: Illustration or Logo,
  • Media name: e.g., Component libraries, Iconography.

Although I’m using images for the examples here, it works with video assets, too! This means we can move in the direction of effectively using Figma like a mini DAM (digital asset manager) and iterate fast on designs using brand-approved media assets, rather than relying on dummy content.

“A digital asset management solution is a software solution that provides a systematic approach to efficiently storing, organizing, managing, retrieving, and distributing an organization’s digital assets. DAM functionality helps many organizations create a centralized place where they can access their media assets.”

— IBM, “What is digital asset management?

Using Fill Styles

Fill styles aren’t just for color! We can use them for images, videos, and even illustrations if we want to. It’s worth bearing in mind that because of the flexible nature of fills, you may want to consider working within fixed sizes or aspect ratios to ensure cropping is kept to a minimum.

Figma’s redline “snapping” feature lets us know when the original asset’s aspect ratio is being respected as we resize. It’s a pretty cool trick!

You can get the above example from Figma’s community:

Fixed aspect ratio images with variants” [Figma file / Luis Ouriach, CC-BY license]

For this world, though, I would advise against trying to hack Figma into setting up fully responsive images. Instead, I’d recommend working with a predefined fixed set of sizes in a component set. This may sound like a limitation, but I strongly believe that the more time we spend inside Figma, the further we get from the production environment. “Can we test this in the actual product?” is a question we should be asking ourselves frequently.

Practically, this looks like creating a component set where we set the fixed sizes along one dimension and the aspect ratio along the other. Creating a matrix like this means we can use the Component Properties panel to toggle between sizes and aspect ratios, preserving the media inside the component.

This can be used in tandem with a separate set of components specifically for images. If we combine this with Figma’s “nested instances” feature within variant components, we can “surface” all the preferred images from our component set within every instance at the aspect ratios needed!

Arrangement

This is the hardest thing to predict when we think through the usability of customizable components. The simplest example here is our old enemy: the form. Instinctively, we may create a complete form in a component library and publish it to the team. This makes sense!

The issue is that when a designer working on a particular project requires a rearrangement of that structure, we are kind of in trouble.

This problem extends to almost all component groups that require manipulation. Tables, menus, lists, forms, navigation… we will hit this wall frequently. This is where I’d like to introduce the concept of fixed vs flexible content within components, which should help to address the future problems of a world where we put the DRY (don’t repeat yourself) principles at risk.

As design system maintainers, we naturally want to keep components as composable as possible. How can this one component be used in lots of different ways without requiring us to ship an infinite number of variations? This is the central theme of the DRY principle but can be challenging in design tools because of the lack of component order management within the main components.

As a result, we often end up in a world where we build, maintain, and ship endless variations of the same component in an attempt to keep up with snowflake implementations of our core component.

“‘When should we make something a component?’ is a question I’ve been fielding for years. My strong answer: right from the start. Creating things with a component-based mindset right out the gate saves countless hours — everything is a component!”

— Brad Frost, “Design system components, recipes, and snowflakes

For example, the form we spoke about before could be one for:

  • Logging in;
  • Registering;
  • Signing up to the newsletter;
  • Adding billing information.

These are all clearly forms that require different data points and functionality from an engineering perspective, but they will most likely share common design foundations, e.g., padding, margins, headings, labels, and input field designs. The question then becomes, “How can we reduce repetition whilst also encouraging combinatorial design?”

A concept that has been long-used in the developer world and loosely agreed upon in the design community is termed “component slots.” This approach allows the design system maintainers to ship component containers with agreed properties — sizing, padding, and styles — whilst allowing for a flexible arrangement of components inside it.

Taking our previous form examples, we can then abstract the content — login form, register form, newsletter form, and billing information form — and provide a much simpler shell component from the library. The designers using this shell (let’s call it a “form/wrapper”) will then build their forms locally and replace the slot component inside the shell with this new custom main component.

This is best explained visually:

Does this custom component need to live in multiple files? If yes, we move it to the next level up, either team-level libraries or global, if working on a smaller system. If not, we can comfortably keep that component local to the specific Figma file on a page (I like to call it “❖ Components”).

Important: For this premise to really work, we must employ auto layout at every level, with no exceptions!

Conclusion

That was a lot to process (over five thousand words, actually), and I think it‘s time for us to stop staring at the computer screen and take a little break before walking through the next set of principles.

Go grab a drink or take some rest, then meet me in Part 2, where you will learn even more about the adoptable, indexable, logical, and specific components.

5 Text-to-Speech Plugins For A Sound WordPress Website

Adding text-to-speech (TTS) to your WordPress website can make your site more accessible to people with disabilities and enhance the experience of users that prefer listening to content over reading. Here are some of the best TTS plugins you can use to convert text into audio.

Accessibility and user experience play a crucial role in the success of your website. Text-to-speech brings a whole new dimension to content consumption and provide a convenient and engaging experience for your visitors by converting written text into natural-sounding speech.

In this post, we provide a basic guide for beginners on text-to-speech (TTS), and take a look at some of the best WordPress text-to-speech plugins, including both free and premium options. We’ll also discuss some of the factors you should consider when choosing a TTS plugin for your website.

We’ll cover the following areas:

What is Text-to-Speech?

Text-to-Speech (TTS) is a technology that converts written text into spoken words. It is a valuable tool that allows computers and digital devices to communicate information audibly, enabling users to listen to written content instead of reading it.

TTS systems employ various algorithms and linguistic techniques to analyze and transform text into synthesized speech. This technology has gained popularity due to its ability to make digital content more accessible, inclusive, and convenient for a wide range of users.

How Does Text-to-Speech Work?

Text-to-Speech technology utilizes a combination of text analysis, linguistic processing, and voice synthesis to convert written text into audible speech. The process typically involves the following steps:

  1.  Text Analysis: The TTS system analyzes the input text, breaking it down into smaller linguistic units, such as words, phrases, and sentences. This step involves identifying punctuation, capitalization, and special symbols to understand the structure and meaning of the text.
  2. Linguistic Processing: The system then applies linguistic rules and algorithms to interpret the text’s syntax, grammar, and context. This includes handling word pronunciation, sentence intonation, and language-specific rules. TTS systems often employ language models and phonetic databases to ensure accurate and natural-sounding speech.
  3. Voice Synthesis: Once the text is analyzed and processed, the TTS system generates speech by transforming the processed text into audio signals. The system uses pre-recorded human speech segments or synthetic voices to create the spoken output. The synthesized speech is then played back through speakers or headphones, allowing users to listen to the converted text.

It’s important to note that with the recent explosion and proliferation of new AI technologies, TTS voice generation has undergone a remarkable transformation, progressing rapidly from its earlier robotic and expressionless state to becoming ultra-realistic and remarkably human-like. This evolution has been driven by several advancements in machine learning and artificial intelligence techniques.

By leveraging deep neural networks and sophisticated algorithms, researchers have been able to enhance the quality, naturalness, and expressiveness of synthesized voices.

One crucial factor behind this progress is the availability of vast amounts of high-quality speech data for training purposes. With the advent of large-scale voice datasets, TTS models can now learn from diverse and extensive samples of human speech, capturing the nuances of pronunciation, intonation, and pacing.

This abundance of data enables the models to grasp the intricacies of human vocal expression, resulting in more lifelike and engaging synthesized voices.

Furthermore, researchers have focused on refining the underlying architecture of TTS systems. Waveform synthesis methods, such as WaveNet and Tacotron, have significantly contributed to the improved realism of generated voices. These models employ complex neural networks to directly generate raw audio waveforms, capturing the subtleties of human speech at a granular level.

By modeling speech patterns and acoustic features with higher fidelity, these systems can produce more natural and human-like voices.

Voice cloning technologies have also played a prominent role in advancing TTS realism. Through voice cloning, it is now possible to create a synthesized voice that closely resembles a specific individual, including celebrities or historical figures. This process involves training the TTS models with a significant amount of voice recordings from the target speaker.

By capturing the unique timbre, cadence, and vocal characteristics of the person, voice cloning allows for the creation of personalized and highly authentic synthetic voices.

Leading providers of realistic AI Text-to-Speech voices include Google Wavenet, Amazon Polly, Microsoft Azure, and IBM Watson.

Why Use Text-to-Speech?

Here are several compelling reasons for using Text-to-Speech technology on your website:

Accessibility

TTS enhances accessibility and inclusivity and promotes equal access to digital content to a wider audience. It does this by providing an alternative means for users with visual impairments such as blindness or low vision to consume your content and engage with your information just as easily as those without such disabilities.

TTS plugins also benefit users with diverse abilities. For instance, individuals with reading difficulties, or learning disabilities, such as dyslexia, can rely on TTS to overcome reading challenges. TTS technology can read the text aloud, helping users to comprehend the content more easily and improve their overall browsing experience.

User Experience Enhancement

One of the main benefits of using TTS in WordPress is the improvement of the user experience. TTS makes content more engaging, immersive, and interactive, providing an audio option for consuming content, and catering to different users’ learning styles and preferences.

Some users may prefer listening to the text rather than reading, especially when multitasking or on the go. Adding an audio element to your content through TTS can create a more immersive experience for users, leading to better retention and comprehension and improve SEO metrics such as page on time.

So, if your site offers educational articles or blog posts, a TTS plugin allows visitors to listen to the content instead of reading it and engage with the material in a more interactive, immersive, and dynamic way, which can lead to increased engagement and greater user satisfaction.

Additionally, you can expand your audience by enabling users to listen to your articles as podcasts and submit these to various podcasting platforms like iTunes, Spotify, and Google Podcasts.

Language Learning and Pronunciation

TTS systems can assist language learners in enhancing their pronunciation skills and understanding of spoken language and be valuable tools for individuals facing language barriers. By listening to the synthesized speech, learners can compare their own pronunciation and practice correct intonation and accents, leading to more accurate and natural-sounding spoken communication.

Converting text into spoken words in the user’s native or preferred language, breaks down communication barriers and fosters inclusivity. By providing a means to listen to content in their native language, individuals with different linguistic backgrounds can access and comprehend your written information more effectively.

Various WordPress TTS plugins offer multilingual support, enabling you to reach a global audience effectively.

Multitasking and Convenience

TTS enables users to listen to content while engaged in other tasks or situations where reading may not be feasible. People can consume your information while driving, exercising, or performing other activities (e.g. while cooking dinner), making it a convenient ‘hands-free’ option for busy individuals who want to stay productive and informed.

The flexibility and customization options provided by TTS plugins further enhance user experience by offering a range of customization features, including the ability to choose from different voices, accents, and reading styles. You can select the most suitable voice that aligns with your brand’s tone and style and website design, creating a consistent and personalized experience for your users.

Productivity and Efficiency

TTS enables users to listen, process, and absorb information more quickly than traditional reading methods. By converting large amounts of text into spoken words, TTS technology facilitates faster information consumption, leading to improved productivity and time-saving advantages.

This is useful for users who need to skim through information quickly or who have limited time available. By adjusting the speech rate to their preferred speed, users can efficiently consume a larger volume of content in a shorter period. This time-saving aspect of TTS technology can benefit professionals, researchers, students, or anyone seeking to optimize their workflow and productivity.

Choosing The Right Text-to-Speech Plugin For Your Site

Here are some important things to consider when choosing a text-to-speech (TTS) plugin to ensure the best fit for your site’s accessibility needs, customization preferences, and specific technical requirements:

Compatibility and Integration

Check if the TTS plugin is compatible with the WordPress version and other plugins or themes used on the site. This will ensure smooth integration without conflicts or compatibility issues.

Accessibility and Compliance

Verify that the TTS plugin complies with accessibility standards, such as WCAG (Web Content Accessibility Guidelines). It should provide proper support for screen readers and assistive technologies, ensuring that individuals with disabilities can access the content effectively.

Voice Options

Assess the available voice options provided by the TTS plugin. Look for a wide range of voices, accents, and languages to cater to the diverse user base. Ensure that the plugin offers high-quality and natural-sounding voices to enhance the user experience.

Customization Options

Evaluate the level of customization the TTS plugin offers. Check if you can adjust the speech rate, volume, pitch, or emphasize certain words or phrases. The ability to customize the TTS settings allows you to align the audio output with the website’s branding and user preferences.

Multilingual Support

If your website caters to an international audience, consider TTS plugins that support multiple languages. Ensure that the plugin can accurately pronounce words and phrases in different languages to provide an inclusive experience for non-native speakers.

Responsive Design

Confirm that the TTS plugin is compatible with responsive design principles. It should work seamlessly across various devices and screen sizes, adapting to different layouts without compromising the audio quality or user experience.

Performance and Speed

Evaluate the performance of the TTS plugin. It should generate audio quickly and efficiently to minimize any delays or loading issues. Ensure that the plugin does not significantly impact the overall website performance or increase page load times.

Ease of Use

Consider the usability and user-friendliness of the TTS plugin. It should have a straightforward setup process, intuitive interface, and easy-to-use controls. Look for plugins that provide clear documentation, tutorials, or support resources to assist with installation and configuration.

Analytics

Some plugins offer detailed audio analytics that let you track important metrics to understand how your audience interacts with your audio content and gain valuabe insights into the listening behavior of your users.

Support and Updates

Check the developer’s track record for providing regular updates and support for the TTS plugin. Ensure that the plugin is actively maintained and compatible with the latest WordPress versions. Look for a responsive support team or community forums where you can seek assistance if needed.

Pricing and Licensing

Evaluate the pricing model and licensing terms of the TTS plugin. Determine whether it aligns with your (or your client’s) budget and requirements. Some plugins offer free versions with limited features, while others may have premium plans or subscription-based pricing.

Now that we have looked at all of the above, let’s look at some actual plugins that will add text-to-speech capabilities to WordPress.

Text-to-Speech Plugins For WordPress

Here are some text-to-speech plugins that offer a range of features to amplify the impact of your content, boost user engagement, and create a more inclusive online environment:

Play.ht

Play.ht
Play.ht makes converting articles into spoken words easy.

Play.ht converts your articles, blog posts, courses, and more into spoken word audio using cutting-edge Text-to-Speech technology and SEO-friendly embedded audio players.

The WordPress plugin integrates with Play.ht’s SaaS platform and lets you choose from a vast selection of over 800 high-quality and realistic AI Text-to-Speech voices in more than 140 languages, and create RSS podcast feeds that can be submitted to various podcasting platforms.

It also supports various post types, offers detailed audio analytics, and three types of fully customizable and white-labeled embedded audio players, so you can match the look and feel of your website.

PlayHT analytics dashboard.
PlayHT’s analytics dashboard lets you gain useful insights about your audience’s listening behavior. (Source: WordPress.org)

Key Features of Play.ht Text-to-Speech Plugin for WordPress:

  • Access to 800+ high-quality Text-to-Speech AI voices, improving content accessibility and user engagement.
  • Share your articles as audio on popular social media platforms like Twitter and Facebook.
  • Publish articles and blog posts as podcasts on iTunes, Spotify, and Google Podcasts, expanding your content’s reach.
  • Detailed audio analytics provide a comprehensive view of your audio performance.
  • Use a state-of-the-art Text-to-Voice editor to fine-tune the audio of your articles.

Play.ht offers a free trial with 100 free words to test the conversion process. A paid account lets you white-label and brand the audio player as your own and access a range of other features.

More info: Play.ht

BeyondWords

BeyondWords
BeyondWords

BeyondWords offers a seamless solution to automatically create lifelike audio versions of your WordPress posts and pages with customizable players and advanced text-to-speech algorithms.

To use the plugin, you will need to create a BeyondWords account (you can start with a free account). Then, copy the project ID and API key from your dashboard, and download and set up the WordPress plugin.

BeyondWords offers access to a wide range of neural voices from top providers like Google Cloud, Amazon Web Services, and Microsoft Azure. You can also explore premium neural voices exclusive to BeyondWords, including voice clones of professional voice actors. They also offer a voice cloning service that lets you develop a bespoke custom voice for your brand.

With BeyondWords, you can easily embed audio players on your WordPress site, share your audio manually or via a URL, and download audios as mp3 files.

BeyondWords example post.
An example post integrating BeyondWords TTS functionality. (Source: WordPress.org)

Key Features of BeyondWords Text-to-Speech Plugin for WordPress:

  • Effortless Conversion: Choose which pages and posts you want to convert into audio and BeyondWords automatically creates audio versions and embeds them via a customizable player.
  • Lifelike AI Voices: The platform uses AI voices enhanced by customizable and advanced natural language processing (NLP) algorithms that ensure optimal pronunciation of elements like names, numbers, and dates, while filtering out unnecessary elements.
  • Text-to-Speech Editor: Create or edit audio directly in the intuitive Text-to-Speech Editor. You can customize the audio to suit your preferences and refine the spoken-word experience.
  • Curate Playlists and Podcast Feeds: Create custom playlists that can be embedded, shared via URL, or distributed through podcast feeds to platforms like Apple Podcasts and Spotify.
  • Analytics and Monetization: Access valuable insights with project-level analytics. Track listener engagement and leverage the data to optimize your content strategy, monetize your audio content with self-serve audio advertising, or connect programmatic advertising platforms using VAST integration.

More info: BeyondWords

ResponsiveVoice Text To Speech

ResponsiveVoice Text To Speech
ResponsiveVoice Text To Speech

ResponsiveVoice Text To Speech plugin for WordPress provides access to an HTML5-based Text-To-Speech library designed to add voice features across all your devices, making your content accessible and engaging for all users, regardless of their device.

ResponsiveVoice example post.
An example post with ResponsiveVoice TTS plugin enabled. (Source: WordPress.org)

Key Features:

  • Tap the button and listen to any post or page instantly.
  • Place Listen buttons anywhere on your posts or pages using shortcodes.
  • Support for 51 languages and 168 voices, giving you a wide range of options.
  • Unlimited text to speech capabilities.
  • Complies with Web Accessibility Compliance Group 2.0, ADA, and BS 8878:2010 guidelines.
  • Free API Key unlocks access to all available voices.
  • Customize the Listen button appearance using shortcodes, including voice parameters, button text, pitch, volume, and rate adjustments.
  • Read a whole page or specific sections of text by enclosing them in tags.
  • No installation of cURL or any other requirements necessary.
  • Remove the ResponsiveVoice branding with the commercial license option.
  • Experience similar voices in case the selected voice is unavailable on certain platforms, ensuring consistent performance.

ResponsiveVoice is officially supported by most browsers.

More info: ResponsiveVoice

Text to Speech TTS

Text to Speech TTS
Text to Speech TTS

Text to Audio plugin for WordPress is a free plugin that lets you add text-to-speech functionality to your site, so users can read your content aloud in over 20 languages.

Text To Audio example post with Listen button.
Customize the listen button and add it anywhere in your content using a shortcode.

Key Features:

  • Easily add a play button to any post or page, enabling visitors to listen to your content with a single click.
  • Unlimited text to speech capabilities, ensuring that you can convert as much text as needed into high-quality audio.
  • Customize the play button’s color, width, and text based on your site’s language through a convenient filter.
  • Get a live preview of the play button during the customization process, to ensure a seamless blend with your site’s design.
  • Complete control over button appearance and styling using custom CSS.
  • Change the listening language to any language supported by the plugin.
  • Over 20 voices available.
  • Ability to customize the play button directly in the block editor.
  • Add the play button anywhere in your content using a shortcode.

The plugin is built on the browser speechSynthesis API , so the availability of languages and voices may vary depending on the device and browser used to access your content. Also, the voices sound robotic, but if you are looking to add basic TTS functionality with simple customization options, this is a free plugin you may want to consider.

More info: Text to Audio

GSpeech

GSpeech
GSpeech text-to-speech plugin for WordPress

GSpeech uses Google’s advanced speech synthesis technology to add automatic text-to-speech functionality to your website.

While the voices sound robotic, the plugin does have some nice features, such as the ability to listen to any section of text by highlighting it on your page.

GSpeech highlight text
Highlight any section of text to hear it spoken.

Additionally, the free version offers different speaker styles and customizable settings.

GSpeech settings
GSpeech settings screen

Key Features:

  • Listen to any text on your site: GSpeech allows your visitors to listen to any text content on your website, from articles and blog posts to product descriptions and menus.
  • Select and listen: Users can simply select a portion of text, and the speaker will automatically appear, turning the selected text into speech and providing a seamless and intuitive way for visitors to engage with your content.
  • Flexible Auto-Play: Set auto-play for content to ensure your audio starts at a specific moment and configure the auto-play timeout.
  • Greeting audio: Create a greeting audio for your visitors.
  • Speaking menus: Users can listen to menus by hovering over them, for more accessible and user-friendly navigation.
  • Multi-Language Support: 58 languages supported by Google’s speech synthesis technology.
  • Customizable and Versatile: GSpeech offers a wide range of customization options. Choose from 40 speaker types, customize TTS block styles, tooltip styles, and even set custom events.
  • Unlimited text to speech: Convert unlimited text to speech.
  • Easy administration: The plugin provides a user-friendly administration panel with live previews that lets you fine-tune settings and see the changes in real-time.

The Pro version of the plugin gives you access to unlimited TTS blocks, more features and professional support.

Note: The plugin requires the curl library to be enabled on your hosting to function correctly.

More info: GSpeech

Take Your Site To The Next Level and Convert Text Into Audio

AI-powered text-to-speech technologies offer many benefits to businesses and their users, such as accessibility, convenience, enhanced user experience, language learning support, improved productivity, multilingual capabilities, even entertainment experiences.

The rapid evolution of TTS voice generation from its robotic and expressionless origins to its current state of ultra-realism and human-like quality has been driven by advancements in machine learning, large-scale speech datasets, waveform synthesis methods, and voice cloning technologies. As these technologies continue to improve, we can expect synthesized voices to become even more indistinguishable from human speech and have a profound impact on various applications.

Incorporating TTS plugins into your WordPress site opens up new possibilities for engaging with users and will help you reach a broader audience. Depending on your needs and budget, WordPress TTS plugins range anywhere from free plugins with basic options and robotic voices, to next-level AI-powered solutions with advanced integration features and ultra-realistic human-like voices (even clone your own).

Hopefully, this article has given you something to think about — maybe even have an AI-voice think it aloud and narrate it for you :)

If you plan to add text-to-speech to your WordPress site, consider using WPMU DEV hosting. Our hosting is ideal for storing and delivering high-quality audio to your audience and meets all the requirements for ensuring trouble-free TTS plugin installations (e.g. curl library).

How to Use Media Queries in CSS for Responsive Design

CSS is one of the fundamental pillars of web development and design. While CSS started as something that can change the style of a web page, every CSS specification iteration now brings more to the table, precisely when it comes to cross browser compatibility.

Today, CSS is more than just “background-colour” and tag specifications that made initial web development days a lot of fun. CSS has become a helping tool in bringing out mobile-first design and responsive web design in web applications without making too much effort.

Adaptive vs. Responsive Web Design

Modern websites need to look and function well on every screen. That’s not exactly a newsflash, as web designers have been told this for years. But there is more than one way to go about accomplishing it, such as adaptive design and responsive design, which we will discuss in this article.

There can be some confusion when it comes to the terminology used to describe these techniques. As with so many aspects of design and development, we are inundated with buzzwords. Sometimes they become so mixed up that we (mistakenly) use them interchangeably. True, both adaptive and responsive design share a similar end goal: to ensure a great user experience on large screens, small screens and everything in-between. But they take very different approaches to get there.

Today, we’ll dig into those differences in an effort to help you choose the right solution for your projects.

What is Responsive Design?

The more commonly-used of the two techniques, responsive design rearranges content based on browser size.

CSS media queries are used to set one or more breakpoints – viewport resolutions at which selected elements of a website adjust accordingly. Breakpoints are often set to mimic the screen sizes of popular mobile devices, including phones and tablets.

One common example of this would be responsive navigation. Think of a full-width navigation bar displaying on larger screens (laptops and desktops). As the viewport shrinks, the menu could conceivably be set to adjust any number of ways to make use of the space available. Then, on the smallest of mobile screens, that same navigation is then hidden beneath a “hamburger” menu.

Responsive multi-column layouts are also quite popular. Designers often configure them to “stack” on top of each other on smaller screens. On mid-sized screens such as tablets, columns may remain in-tact or partially stack. The feature is actually built into CSS specifications such as Flexbox, which automatically adjusts columns according to screen real estate.

Advantages of Responsive Design

Perhaps the biggest advantage of using responsive design techniques is that users get essentially the same website on every device. That continuity allows frequent visitors to more easily find what they’re looking for.

In addition, adding responsive elements to CSS is relatively straightforward. It’s a matter of taking what’s on the big screen and adjusting accordingly for various breakpoints. Even older websites designed before the smartphone revolution can be retrofitted without too much trouble.

Lastly, since the content and URL of a given page is the same throughout the full spectrum of viewports, a responsive design is better for SEO. Thanks to that consistency, search engines tend to handle these websites a bit better.

Disadvantages

Going responsive is not all good news. Some website layouts may be fine on a big screen, but are more difficult to manage on smaller viewports.

Massive amounts of scrolling might be necessary – even if that isn’t quite as taboo as it used to be. Also, some interactive or code-heavy elements may simply be too slow and cumbersome to use on a phone.

A mobile phone - Adaptive vs. Responsive Web Design

What is Adaptive Design?

Adaptive design, also referred to as “progressive enhancement”, is the process of creating several fixed layouts for various screen sizes. In essence, a designer could create completely different experiences for phones, tablets and desktops.

The idea is that you start with something very basic and then “enhance” the experience for larger screens. The more screen real estate a user has, the more bells and whistles will become available.

One way to visualize the difference between adaptive and responsive design: observe how a given website reacts as you resize your web browser on a desktop device.

A responsive website will continually adjust content as you reach specific breakpoints. Columns may stack, containers and typography may scale.

With an adaptive website, there is an absence of a constantly-shifting layout. Instead, new breakpoints may bring completely new layouts – and thus, even some potential differences in content. For example, some items deemed unnecessary on a phone may be removed altogether.

Advantages of Adaptive Design

Implementing an adaptive design means really putting users first. By crafting a separate experience for a specific screen size, designers can limit the pain points that often come with responsive sites.

Mobile users, for instance, will see only the design and content elements that are relevant to them. The website should, in theory, be easier to navigate and content easier to digest on that smaller, touch-enabled screen.

Then, as more screen size and computing power come into play, those extra features are added in. Adaptive design is understanding that the web is not one-size-fits-all.

Disadvantages

Because you’re creating separate experiences, implementing adaptive design techniques can be very time-consuming. This is especially of concern for projects that are on a tight budget, deadline or both.

Then there is also the potential for an inconsistent user experience. Attention to detail is incredibly important here, as a website will need to provide a separate-but-similar look, feel and functionality. Missing a detail or making a few poor decisions in the design process could hamper the ability to use the website on one or more devices.

Speaking of devices, new ones are being released all the time. Some have unique viewports and could conceivably be served the “wrong” layout. Therefore, it may require routine checks to ensure your site is working with the latest technology.

SEO is also a concern for sites that serve up mobile-only editions using “m.yoursite.com” and the like. That won’t come into play in every situation, but still worth considering if your project is affected.

A desk with design tools - Adaptive vs. Responsive Web Design

Choosing the Right Design Technique

How do you know which technique is the best fit for your project? In many cases, it may be a matter of time and money. To that end, responsive designs are quicker and cheaper to implement.

If you’re using third-party products like WordPress themes – which often come with responsive styles –  that decision has already been made for you.

However, adaptive design still has its place. For larger websites that have the budget and time resources, designers can craft an outstanding experience for every device using adaptive techniques.

Either way, the bottom line is ensuring that your website works well for every user. Thankfully, there are two highly-proven methods to make it a reality: adaptive or responsive design.