WordPress 6.0 “Arturo” Adds More Templates and Patterns, Style Switching, and Block Locking UI

WordPress 6.0 “Arturo” was released today, named for Latin jazz musician and director Arturo O’Farrill, who has 15 albums to his credit.

Check out the official release video for a quick overview of some of the most important changes.

This release introduces sweeping improvements to the block editor and its utilities and design tools. Most notably, users can now select text across multiple blocks, manipulating the highlighted portion as a group while keeping the rest of the content blocks in tact.

image credit: Gutenberg 13.0 Release Post

The List View has been updated to offer a more intuitive display that helps with navigating blocks on a page. Select multiple blocks using keyboard shortcuts, make changes, and drag-and-drop inside the list. List View is closed by default but will expand to the current selection when a block is selected.

image credit: wordPress 6.0 About Page

WordPress 6.0 also introduces a new interface for locking blocks, which allows useres to prevent blocks from being moved or removed. It is useful for preventing accidental edits but also for theme developers who want to prevent users from removing blocks inside templates, preserving more complex layouts.

image credit: WordPress 6.0 About Page

Other block editor improvements include the following:

  • New Blocks: Avatar, Post Author Biography, Read More, Comments Query Loop, and Stack block
  • Type two open brackets [[ to quickly access the link menu
  • Improved support for preserving unrecognized content in the editor
  • Preserve existing styles transforming blocks from one kind to another—from a Paragraph block to a Code block, for instance
  • New block style transformation options: Tag Cloud > Categories, Calendar > Archives, Paragraph > Code, and Group > Row
  • Create customized buttons and any new buttons will retain the style customizations automatically
  • New drop-down based color picker UI
  • Make tag clouds and social icons more appealing with updated settings and controls, and a new outline style for the tag cloud
  • Instant block style previews
  • Featured images now available in Cover block
  • New border controls for more precise control when setting borders
  • Transparency levels for colors offers more creative control

WordPress 6.0 also introduces a gaggle of new layout controls for page building. Users can now control gaps, margins, typography, and more on multiple blocks inside a Group block. Creating layouts is easier with the ability to position groups of blocks by quickly switching between stack, row, and group variations. The Gallery block is now more flexible with gap support for custom spacing.

Full-Site Editing Updates: More Templates, More Patterns, and Style Switching

Patterns are now available in more places and better integrated with the Site Editor. Gutenberg 12.7 brought major improvements to the patterns experience by making them easier to discover. The block inserter has been updated to display patterns, as opposed to blocks, when users are editing a template in the post or site editor. It also favors showing patterns when the inserter is at the root level or the content being inserted is between other blocks. WordPress will now show existing template parts, as well as block patterns in the template creation process.

image credit: WordPress 6.0 About Page

Theme authors can now register patterns from the official Pattern Directory using theme.json, so that users have quick access to patterns the author has highlighted.

WordPress 6.0 introduces five new template options for full-site editing: author, date, categories, tag, and taxonomy. 

One of the most anticipated features of this release is the Style Switcher. It allows userse to apply quick style changes within the same theme, and includes the ability to further edit the font weight, style options, and color palette.

Theme authors can create multiple different theme.json style variations and place them into their themes’ /styles folder. Users will then see the styles under the Styles menu in the top toolbar of the site editor.

WordPress 6.0 is the product of collaboration from more than 500 contributors in 58+ countries. It introduces more than 1,000 updates and bug fixes, including many that make the platform more performant and accessible.

Check out the 6.0 Field Guide and the release notes for a more detailed look at all the changes in the latest release.

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

WordPress 6.0 was released earlier today, and it is the second major release of 2022.

This new release contains significant updates to the full site editing experience, bringing in a new way to build websites.

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

New features in WordPress 6.0 with Screenshots

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

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

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

New and Improved Full Site Editing

Earlier, WordPress introduced a block-based theme editor as part of the new Full Site Editing experience in WordPress 5.9.

WordPress 6.0 brings more improvements to the full site editing feature with new site-wide blocks, editable templates, and more patterns.

Note: You’ll need a theme that supports full-site editing, such as the default Twenty-Twenty theme, to try all its features. Full-site editing is still in beta and needs more work to compete with custom theme builder solutions.

Easily Switch Theme Styles

WordPress 6.0 comes with an easy way to switch your entire theme style with a single click.

Click on the Style button at the top right corner and then switch to the Browse Styles tab to see available styles for your theme.

Browse and switch styles in WordPress 6.0

Theme styles is a WordPress theme feature and its availability depends on your WordPress theme.

Edit More Theme Templates with WordPress 6.0

WordPress 6.0 brings the ability to edit even more templates inside the theme editor.

Edit more templates in WordPress 6.0

The new archive templates that you can edit include:

  • Author
  • Category
  • Date
  • Tag
  • Other custom taxonomies

Export Your Block Theme with All The Changes

WordPress 6.0 now allows you to save and export all the changes you made to your block theme.

Export block theme

WordPress will prepare a theme zip file that includes all the changes you made using the full site editor. You can then download and install that theme on any other WordPress website.

New Blocks in Block Theme Editor

WordPress 6.0 brings many new blocks that you can now use inside the theme editor.

1. Comment Query Loop

WordPress 6.0 replaces the Post Comments block with the new Comment Query Loop block.

It comes with sub-blocks like comment author name, avatar, comment content, edit link, and more. You can edit them individually to style your comments on your WordPress blog for a more engaging experience.

Comment Query Loop block in WordPress 6.0

2. Read More Block

You can now add a Read More block to your post excerpts in WordPress 6.0. This allows you to apply more styling options to make the Read More link more noticeable.

Read more block

3. No Results in Query Loop

When adding a Query Loop block, you can now insert the No Results block inside it.

However, the block will only be available when your selected query doesn’t have any results.

No results block for the query loop

4. Post Author Biography

The new post author biography block can now be used along with Post Author and Avatar blocks.

Add post author biography

5. Avatar

The avatar block allows you to display a user’s Avatar (profile photo). You can choose if you want to display the Avatar for a specific user or display the current post/page author’s avatar.

Avatar block

Choose a Page Pattern

Your WordPress theme can now include patterns for must-have pages for most websites.

This means that with WordPress 6.0 the ‘Add New Page’ screen will now bring up a popup with a list of patterns you can use to create pages.

Choose a pattern to create a page

Since it is a brand new feature, your WordPress theme may not yet include any page patterns. In that case, you’ll not be able to see the popup.

However, you can still use the patterns library to find and add patterns for the page you want to create.

Block Editor Changes in WordPress 6.0

The block editor is the area where most WordPress users spend much of their time writing content and creating pages for their websites.

Each WordPress release builds upon that to improve the writing and content creation experience for WordPress users.

WordPress 6.0 includes some really cool features that can greatly improve the way you work on your website.

Block Locking in WordPress 6.0

WordPress 6.0 now allows you to lock a block to prevent users from removing it or changing its position.

Block locking in WordPress 6.0

A major pain point with the reusable blocks is that if any user makes changes to them, then those changes are saved. Block locking in WordPress 6.0 doesn’t solve that issue at the moment.

Easier Text Selection in Multiple Blocks

Earlier it was quite difficult for users to select the text between multiple WordPress blocks.

Selecting text across multiple blocks in WordPress 5.9

WordPress 6.0 now makes it super easy to select text and move the selection cursor across the blocks more smoothly.

Selecting text across multiple blocks in WordPress 6.0

Responsive Group and Row Blocks

With WordPress 6.0, you can choose how you want blocks to behave on different screen sizes.

For group blocks, you’ll see the option to display the blocks inside as a row or a stack.

Responsive group blocks

You can also select multiple blocks and then choose between a row or a stack layout.

Multi block row or stack layout

Miscellaneous Block Editor Enhancements

Following are a few more enhancements in the block editor that you’ll see in WordPress 6.0.

1. Quick Shortcut to Add Internal Links

You can now quickly add links by adding two square brackets followed by the post or page title. It’s much faster than clicking a button.

Add link shortcut

Want to learn more tips for faster writing with the block editor? See the full list of keyboard shortcuts in the WordPress block editor.

2. Select Multiple Blocks in List View

With WordPress 6.0, you can now select multiple blocks in the list view. Plus, you can use Shift+Click or Shift+Up+Down to select multiple adjacent blocks in the list view.

Move multiple blocks

After selecting them, you can now also move them up or down or perform other actions.

3. Border for Columns Block

You can now add a border around the column block.

Border around columns block

4. Spacing for Gallery Images

Galleries can now be manually adjusted to have as much spacing as you need between thumbnails.

Gallery spacing

5. Choose the Opacity of the Separator Block

The color options in the separator block can now have gradients and opacity control.

Separator block opacity

Accessibility Improvements in WordPress 6.0

One of the core missions of WordPress is to democratize publishing for all. Each WordPress release brings improvements to the core software to make it more accessible for all users.

Following are some of the more notable accessibility improvements in WordPress 6.0.

  • The post title will be used as the ALT text for featured images if no other ALT text is provided
  • Better tabbing in blocks with placeholder elements
  • Search announcements in block search
  • Read description for blocks with a placeholder setup
  • Admin bar text labels will be readable by screen readers on smaller screens
  • More descriptive announcements for screen readers when a draft is saved

For a detailed roundup, see accessibility improvements in WordPress 6.0.

Copy Image URL from Media Library List View

If you view your media library in the list view, then you can now see a ‘Copy URL to clipboard’ link below each image and media file.

Copy URL to clipboard

Under the Hood Improvements in WordPress 6.0

WordPress 6.0 comes with several important changes for developers. Following are a few of the developer changes.

  • Webfonts API will provide theme authors a more efficient way to manage local fonts via PHP or theme.json. (See details)
  • An API to prevent blocks from appearing on Widgets screen. (#55301)
  • Make get_the_author_link pluggable. (#51859)
  • Improved sticky post query. (#36907)
  • New filter edit_custom_thumbnail_sizes to work with individual image sizes. (#28277)

We hope this article helped you discover what’s new in WordPress 6.0 and which new features to try out. We are particularly excited about patterns for pages and the full site editing experience.

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

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

MySQL Essentials

This Refcard contains all things MySQL. From MySQL's most important applications, popular features, common data types and commands to how to get started on Linux, this Refcard is a must-read for all developers, DBAs, and other tech professionals working in MySQL.

How to Monitor for Data and Concept Drift

Data Drift

Data and concept drift are frequently mentioned in ML monitoring, but what exactly are they, and how are they detected? Furthermore, given the common misconceptions, are data and concept drift things to be avoided at all costs or natural and acceptable consequences of training models in production? Read on to find out.

What Is It?

Perhaps the more common of the two is data drift, which refers to any change in the data distribution after training the model. In other words, data drift commonly occurs when the inputs a model is presented within production fail to correspond with the distribution it was provided during training. This typically presents itself as a change in the feature distribution, i.e., specific values for a given feature may become more common in production. In contrast, other values may see a decrease in prevalence. For example, consider an e-commerce company serving an LTV prediction model to optimize marketing efforts. A reasonable feature for such a model would be a customer’s age. However, suppose this same company changed its marketing strategy, perhaps by initiating a new campaign targeted at a specific age group. In this scenario, the distribution of ages being fed to the model would likely change, causing a distribution shift in the age feature and perhaps a degradation in the model’s predictive capacity. This would be considered data drift.

Hi everyone, I’m Scott_32

Hey Everybody, I'm a Directer of IT at a manufacturing company. I don't develop as much as I used to, but when I do, I need a good source of information to help me do what I need to.

20+ Best Remote Job Boards to Find Genuine Employment Online

Best Remote Job BoardsCommuting to work daily may soon become a thing of the past, thanks to a number of quality remote job boards. Seriously, remote working comes with solid advantages both for employers and employees. Employees get to enjoy an arguably better work-life balance, flexible schedules, minimal commuting, and more personal time and freedom to work from anywhere.

Best Help Desk Ticketing Systems

Want to jump straight to the answer? The best help desk ticketing system for most people is Zoho Desk or Freshdesk.

Helpdesk ticketing software is an essential extension for many businesses, especially for those handling a high number of customer inquiries. Helpdesk ticketing systems can help you manage customer issues without needing an entire call center. 

The best helpdesk software will allow you to create a seamless workflow with omnichannel support and self-service options, no matter the industry. 

The Top 5 Best Help Desk Ticketing Systems 

After reviewing dozens of help desk ticketing systems on the market today, we narrowed it down to the top five best systems for increased customer support. Continue reading to learn more about which option is right for you. 

Zoho Desk – Best Omnichannel Ticketing System

  • Customizable self-service portal
  • Context-aware ticketing system
  • One-click ticket assign
  • Zoho HQ live dashboard
Try for 15 days free

Trusted by more than 50,000 businesses, Zoho Desk is the best help desk ticketing system for most users. With comprehensive omnichannel software, Zoho Desk can help you interact with customers and build loyalty from any platform. 

Zoho Desk home page

With an intuitive interface and user-friendly features, Zoho Desk takes its multi-channel support to the next level. If you struggle to handle customer conversations or frequently miss high-priority issues, Zoho Desk can help you collect tickets from different channels and organize them in one place. 

Zoho Desk supports tickets through email, social media, live chat, telephony, and webform. Zoho Desk combines all of the channels into one easy-to-use ticketing tool, where you can manage and respond to all customer inquiries. 

The best software should save you time when assigning tickets, and Zoho Desk does just that. You can set up personalized assignment rules and send tickets to the right department or agent in one click. You can sort through tickets with different work modes and filters, such as urgency, priority, type of customer, or ticket status. 

You can also save time by encouraging your customers to find the answers they are looking for through Zoho Desk’s self-service portal. You can install this tool into your website and mobile apps. You can also customize the portal and create a multi-brand help center for all customer inquiries. 

With Zoho Desk, you will never lose sight of priority tickets again, as it offers an intuitive ticket view that highlights all of the important details, like ticket history and customer context. And speaking of customer context, Zoho Desk is the industry’s first context-aware ticketing system solution, so you can view all of the relevant customer data on the ticket screen. 

If you need to view metrics like ticket traffic, customer happiness ratings, and most threaded tickets, Zoho Desk offers HQ—a live dashboard that lets you view incoming and outgoing bandwidth. You can also create reports and monitor your team’s performance, making it easier for you to know when metrics are trending downwards. 

Zoho Desk is a versatile system with smart integrations, allowing you to implement applications and software into your system to improve your workflow. Not only does it offer popular integrations, like Zoom, MailChimp, and HubSpot, but it also offers specifically curated applications from Zoho itself, such as Zoho Bugtracker, Zoho Analytics, Zoho Assist, and Zoho Creator. 

You can try Zoho Desk for free with three agents, 24×5 email support, email ticketing, customer management, and a help center. However, Zoho Desk offers three paid pricing plans for more advanced features. Here’s a quick overview: 

  • Standard — $14 per agent per month, billed annually. Includes social and community channels, product-based ticket management, 24×5 phone support, and self-service. 
  • Professional — $23 per agent per month, billed annually. Includes multi-department ticketing, 24×5 chat support, automatic time tracking, ticket templates, and team management. 
  • Enterprise — $40 per agent per month, billed annually. Includes live chat, multi-brand help center with customization, 50 light agents, KB auto-translation, and custom functions. 

Zoho Desk offers a 15-day free trial—no credit card required. 

Freshdesk – Best For Scalability and Growth 

  • Neo platform for scaling
  • AI-based ticketing tools
  • Designed for collaboration
  • Multilingual self-service portal
Try for 21 days free

Whether you want to engage in more meaningful customer conversations or make every agent a customer champion, Freshdesk can help you do that at scale. As an excellent solution for growing businesses, Freshdesk will skyrocket the speed of your service while unifying your digital experience. 

Freshdesk home page

Meet the needs of your expanding customer base through the Freshworks Neo platform. Freshdesk has curated this platform to unify messaging API, easy integrations, and customizable analytics to help growing businesses expand while remaining flexible. 

The Neo platform will help you merge customer engagements, employee experiences, and integrations in one easy-to-use interface to innovate and scale effortlessly. 

Redefine your customer communication with an advanced omnichannel feature that spans popular messaging applications, such as SMS, Google Business Messages, WhatsApp, Apple Messages, and Line. 

The Neo platform also supports an app marketplace, developer portal, analytics, admin center, unified customer record, events and notifications, and collaboration tools. 

But even if you don’t have an actively growing business, Freshdesk offers a simplified ticketing system that works well for most users. Freshdesk lets you convert tickets from any channel, and you can view them on an intuitive interface.

Designed for team collaboration and agent productivity, Freshdesk offers a team inbox for collision detection, canned responses, notifications, custom ticket views, merging tickets, and activity logs. Never lose visibility of ticket ownership with collaborative ticketing, where your team can share tickets, split tickets, or even link and keep track of tickets related to similar issues. 

Freshdesk also offers AI-powered ticketing, known as Freddy AI. Freddy is tightly integrated into the ticketing system and can help you do away with mundane and repetitive tasks. Freddy can automatically suggest ticket fields to categorize, prioritize, and route incoming tickets while recommending fitting solutions and preventing the reopening of tickets when customers respond with thank you. 

Freddy AI also works with Freshdesk’s self-service portal by automating answers to further enhance your customer support. The best part about Freshdesk’s self-service portal is that it supports 42 languages, making it easy to support customers in multiple languages and run a global support operation. 

Freshdesk also offers a free forever plan for up to 10 agents, email and social ticketing, ticket dispatch, team collaboration, and a knowledge base. However, it offers other affordable pricing packages, as follows: 

  • Growth — $15 per agent per month, billed annually. Includes automation, collision detection, time tracking, custom email server, and helpdesk report. 
  • Pro — $49 per agent per month, billed annually. Includes up to 5,000 collaborators, custom roles and dashboards, a multilingual knowledge base, and custom apps. 
  • Enterprise — $79 per agent per month, billed annually. Includes skill-based routing, email bot, 5,000 bot sessions per month, social signals, and audit log. 

Freshdesk offers a 21-day free trial with no credit card required. 

HappyFox – Best Versatile Ticketing System 

  • Works for different industries
  • Starts at $29 per month
  • Automated support features
  • 10% discount for non-profit
Request a free demo

Software versatility is critical for success, and HappyFox is exceptionally adaptable for different industry needs. Whether you need to give IT support or answer general customer inquiries, you can count on HappyFox to help. 

HappyFox home page

Not only does HappyFox provide an advanced ticketing system for general customer support, but it also offers specialized tools for IT operations and HR and marketing inquiries. You can streamline your IT service delivery, workflows, and communications with the HappyFox IT help desk. 

You can also manage your hiring, onboarding, payroll, time-off, employee data, and HR workflows with HappyFox’s marketing help desk. Both industry help desks offer organized processes to help you tackle complex communication. 

HappyFox elevates your customer support with automation and lets you secure data and gauge staff performance with specific reporting and analytics tools per industry. But it doesn’t matter what industry you work in because HappyFox can provide you with a configurable ticketing system for any operations team.

Some of the eye-catching functionalities that HappyFox offer include:

  • Tickets queue — Create custom queues with filters based on priority and responsibility. 
  • Categories — All tickets are categorized into sections, like customer support, sales, marketing, and billing. 
  • Omnichannel ticketing — Manage customer conversations through email, social, chat, and phone calls. 
  • Ticket status — Section off tickets into manageable chunks based on status. 
  • Pinned tickets — Similar to a daily to-do list that helps you prioritize and organize your time better. 

You can handle all support requests as quickly as possible with HappyFox, especially with additional features like quick reply, bulk action, and search and filter. Not only will you be able to respond quickly, but you can simplify all of your operational tasks through integrations. The HappyFox marketplace allows you to integrate your favorite apps, such as Salesforce, Microsoft Teams, and WhatsApp. 

Unfortunately, HappyFox doesn’t offer a free trial, but you can request a free demo. Here’s a quick overview of the rest of its pricing plans: 

  • Mighty — $29 per agent per month. Includes omnichannel ticket creation, SLA management, custom domain mapping, basic reporting, and smart rule automation. 
  • Fantastic — $49 per agent per month. Includes custom ticket queues, multi-brand support center, satisfaction surveys, multilingual knowledge base, and round-robin ticket assignment. 
  • Enterprise — $69 per agent per month. Includes task management, uptime SLA, proactive agent collision, advanced reporting, and contact group custom fields. 
  • Enterprise Plus — $89 per agent per month. Includes agent scripting, 2TB attachment store, advanced audit logs, 24/7 email, chat, and phone support, and customer success manager. 

All HappyFox plans require a minimum of five help desk agents. Non-profit and educational organizations are eligible for a 10% discount on any plan. 

Jira Service Management – Best For ITSM Support

  • Robust IT features
  • Customizable request forms
  • Slack and Microsoft Teams integration
  • Simple mobile app
Sign up for a free live demo

Handling customer inquiries can be difficult in the IT industry, but Jira Service Management specializes in IT customer service. Jira offers ITSM software features that empower teams to deliver value at high speeds.

Jira Service Management home page

Jira offers a flexible platform for you to manage complex situations and improve your overall customer communications. With Jira’s request management feature, you can manage work across teams within one platform and help your customers as quickly as possible with an intuitive service desk portal. 

As software that prides itself on being flexible, Jira lets you customize and tailor each request form to meet each team’s unique requirements with its new form builder tool. Within the request management function, you get request queues to bring together requests from email, chat, your service desk, and other channels. 

Dive into customer satisfaction reports with Jira’s reports and metrics system that allows you to monitor and optimize your team’s workflow. Not only does its metrics help create a seamless workflow, but Jira works with Slack and Microsoft Teams to create a two-way sync between conversations to reduce context switching and information gaps. 

Jira is excellent for ITSM because of the several other robust features it offers, including incident management, problem management, change management, asset management, configuration management, and knowledge management. 

Jira lets you bring your development and IT operations teams together to respond to and resolve incidences while empowering them with the tools they need to make better decisions and minimize risk. You can also build custom add-ons with its robust API and enable self-service to foster team collaboration. 

Take your ITSM on the go with Jira’s mobile app, where you can submit, approve, and resolve issues quickly, no matter where you are. 

Just like most of the help desk software on this list, Jira also offers a free forever plan with up to three agents, one site, unlimited customers, and 2GB of file storage. Here’s a quick overview of the rest of the plans: 

  • Standard — $20 per agent per month. Includes 5,000 agents, unlimited customers, one site, a cloud support team, and 250GB of file storage. 
  • Premium — $45 per agent per month. Includes 5,000 agents, 24/7 premium support, 99.9% uptime SLA, and unlimited storage. 
  • Enterprise — You will have to contact Jira, but the plan is billed annually. Includes 5,000 agents, unlimited sites, dedicated senior support, and 99.95% uptime SLA.  

Jira doesn’t currently offer a traditional free trial, but you can sign up for a free live demo or start with its free forever plan.

Zendesk – Best All-in-One Ticketing System 

  • Customize apps without code
  • Unified platform
  • AI-based features
  • Free trial available
Request a free demo

If you’re looking for an all-in-one ticketing solution, Zendesk has got you covered. You can deliver conversational customer relationships, manage complex and agile issues, and create an enjoyable employee experience all at once with Zendesk. 

Zendesk home page

Meet the Sunshine platform, the foundation of Zendesk and the solution for an all-in-one help desk service. Zendesk can help you create the best customer experiences as soon as possible through Sunshine, as you can have it up and running in weeks. Designed for agility, the Sunshine platform lets you modify Zendesk to meet your business needs perfectly. 

As an all-in-one ticketing system, you get access to conversational tools to help you unify messages across channels, orchestrate conversation from one thread, and extend functionality with unique conversation extensions that allow you to create custom interactive experiences. 

Zendesk offers a robust suite of apps and frameworks that you can customize without code. And you can make support that little bit easier for customers with embedded native support for your mobile app or website. 

Automation is important to Zendesk, and it offers plenty of options to make customer support easier for you and your team. You can enable AI with Zendesk’s Answer Bot or connect your own chatbot. With its workflow tools, you can create smarter workflows that offer instant resolutions with low code customization for custom fields and macros. 

Zendesk offers three different pricing plans for everyone’s unique business needs. Here’s a quick overview: 

  • Suite Team — $49 per agent per month, billed annually. Includes an industry-leading ticketing system, multi-channel messaging, up to 50 AI-powered automated answers, and 1,000 apps and integrations. 
  • Suite Growth — $79 per agent per month, billed annually. Includes customizable ticket layouts, up to 50 light access licenses, multilingual support, and AI-powered knowledge management. 
  • Suite Professional — $99 per agent per month, billed annually. Includes private conversation threads, integrated community forums, conversation routing, data location options, and a self-service customer portal. 

You can sign up for a free trial or request a live demo of Zendesk.

How to Find The Best Help Desk Ticketing Systems For You 

There are a few factors that go into finding the best help desk ticketing system. Sometimes it can be difficult to choose the right software, so we put together this methodology of the three most essential elements to consider before investing in a ticketing system for increased customer support.

Workflow Integrations 

Many help desk ticketing systems will offer additional integrations that will improve the workflow of your software, and it’s crucial that you stick with these options. Workflow integrations will not only make your life easier but there’s a high chance that it will stop your system from breaking. 

When it comes to integrations, think of some of your favorite third-party apps that will improve certain functions of your software. Smart integrations can help you resolve bugs, track progress, and administer workflows with ease.

Omnichannel Support 

The best helpdesk ticketing systems will offer the highest level of omnichannel support possible. It would be counterproductive for your customers to only have the option to contact you via email and not phone. 

It’s imperative to find a system with omnichannel support for email, social media, live chat, and telephone, so you can keep your customers happy. Keep in mind that not everyone enjoys phone calls, and not everyone has social media, so excluding certain communication avenues won’t help you address every customer concern. 

Self Service 

Although a self-service portal isn’t crucial for the success of a help desk ticketing system, it’s beneficial to find software that offers one. Having a self-service portal will save you time and money by enabling customers to find quick answers by themselves. The best software will offer this service on both website and mobile application, so customers can inquire on the go. 

The Top Help Desk Ticketing Systems in Summary 

Overall, Zoho Desk and Freshdesk are our top two recommendations for the best help desk ticketing systems on the market today for most people. 

Zoho Desk is excellent omnichannel software that offers an intuitive interface and user-friendly features. As the industry’s first context-aware ticketing system, Zoho Desk can help you view all relevant customer data and respond promptly. 

On the other hand, Freshdesk is perfect for any growing business that needs an advanced platform to scale. With its Neo platform, you can expect to merge all of your customer engagements, employee experiences, and integrations into one easy-to-use interface. 

And HappyFox, Jira Service Management, and Zendesk are still excellent alternatives for anyone looking for extremely versatile, all-in-one ticketing software. 

Dgram data to webpage

i know i am missing something simple but i need to have My console output be displayed in a webpage with express and ejs i am getting the UDP in my Console . can anyone help me out. thank you

  //  Javascript

   import express from "express";
   import dgram from "dgram";

    const socketServer = dgram.createSocket("udp4");
    const app = express();

    app.get("/", (req, res) => {
     //res.send("Hello World!");
    });

    socketServer.on("message", (msg, rinfo) => {
    console.log(`got messsage from ${rinfo.address}, data: ${msg}`);
    });

    app.listen(5000, () => {
    socketServer.bind(5000);
    console.log(`Backend started!`);
    });

Mastering SVG’s stroke-miterlimit Attribute

So, SVG has this stroke-miterlimit presentation attribute. You’ve probably seen it when exporting an SVG from a graphic editor program, or perhaps you find out you could remove it without noticing any change to the visual appearance.

After a good amount of research, one of the first things I discovered is that the attribute works alongside stroke-linejoin, and I’ll show you how as well as a bunch of other things I learned about this interesting (and possibly overlooked) SVG attribute.

TLDR;

stroke-miterlimit depends on stroke-linejoin: if we use round or bevel for joins, then there’s no need to declare stroke-miterlimit. But if we use miter instead, we can still delete it and maybe the default value will be enough. Beware that many graphic software editors will add this attribute even when is not necessary.

What is stroke-linejoin?

I know, we’re actually here to talk about stroke-miterlimit, but I want to start with stroke-linejoin because of how tightly they work together. This is the definition for stroke-linejoin pulled straight from the SVG Working Group (SVGWG):

stroke-linejoin specifies the shape to be used at the corners of paths or basic shapes when they are stroked.

This means we can define how the corner looks when two lines meet at a point. And this attribute accepts five possible values, though two of them have no browser implementation and are identified by the spec as at risk of being dropped. So, I’ll briefly present the three supported values the attribute accepts.

miter is the default value and it just so happens to be the most important one of the three we’re looking at. If we don’t explicitly declare stroke-linejoin in the SVG code, then miter is used to shape the corner of a path. We know a join is set to miter when both edges meet at a sharp angle.

But we can also choose round which softens the edges with — you guessed it — rounded corners.

The bevel value, meanwhile, produces a flat edge that sort of looks like a cropped corner.

What is stroke-miterlimit?

OK, now that we know what stroke-linejoin is, let’s get back to the topic at hand and pick apart the definition of stroke-miterlimit from the book Using SVG with CSS3 and HTML5:

[…] on really tight corners, you have to extend the stroke for quite a distance, before the two edges meet. For that reason, there is a secondary property: stroke-miterlimit. It defines how far you can extend the point when creating a miter corner.

In other words, stroke-miterlimit sets how far the stroke of the edges goes before they can meet at a point. And only when the stroke-linejoin is miter.

Miter join with miter limit in grey.

So, the stroke-miterlimit value can be any positive integer, where 4 is the default value. The higher the value, the further the corner shape is allowed to go.

How they work together

You probably have a good conceptual understanding now of how stroke-linejoin and stroke-miterlimit work together. But depending on the stroke-miterlimit value, you might get some seemingly quirky results.

Case in point: if stroke-linejoin is set to miter, it can actually wind up looking like the bevel value instead when the miter limit is too low. Here’s the spec again to help us understand why:

If the miter length divided by the stroke width exceeds the stroke-miterlimit then [the miter value] is converted to a bevel.

So, mathematically we could say that this:

[miter length] / [stroke width] > [stroke-miterlimit] = miter
[miter length] / [stroke width] < [stroke-miterlimit] = bevel

That makes sense, right? If the miter is unable to exceed the width of the stroke, then it ought to be a flat edge. Otherwise, the miter can grow and form a point.

Sometimes seeing is believing, so here’s Ana Tudor with a wonderful demo showing how the stroke-miterlimit value affects an SVG’s stroke-linejoin:

Setting miter limits in design apps

Did you know that miter joins and limits are available in many of the design apps we use in our everyday work? Here’s where to find them in Illustrator, Figma, and Inkscape.

Setting miter limits in Adobe Illustrator

Illustrator has a way to modify the miter value when configuring a path’s stroke. You can find it in the “Stroke” settings on a path. Notice how — true to the spec — we are only able to set a value for the “Limit” when the path’s “Corner” is set to “Miter Join”.

Applying stroke-miterlimit in Adobe Illustrator.

One nuance is that Illustrator has a default miter limit of 10 rather than the default 4. I’ve noticed this every time I export the SVG file or copy and paste the resulting SVG code. That could be confusing when you open up the code because even if you do not change the miter limit value, Illustrator adds stroke-miterlimit="10" where you might expect 4 or perhaps no stroke-miterlimit at all.

And that’s true even if we choose a different stroke-linejoin value other than “Miter Join”. Here is the code I got when exporting an SVG with stroke-linejoin="round".

<svg viewBox="0 0 16 10"><path stroke-width="2" stroke-linejoin="round" stroke-miterlimit="10" d="M0 1h15.8S4.8 5.5 2 9.5" fill="none" stroke="#000"/></svg>

The stroke-miterlimit shouldn’t be there as it only works with stroke-linejoin="miter". Here are a couple of workarounds for that:

  • Set the “Limit” value to 4, as it is the default in SVG and is the only value that doesn’t appear in the code.
  • Use the “Export As” or “Export for Screen” options instead of “Save As” or copy-pasting the vectors directly.

If you’d like to see that fixed, join me and upvote the request to make it happen.

Setting miter limits in Figma

Miter joins and limits are slightly different in Figma. When we click the node of an angle on a shape, under the three dots of the Stroke section, we can find a place to set the join of a corner. The option “Miter angle” appears by default, but only when the join is set to miter:

Applying stroke-miterlimit in Figma.

This part works is similar to Illustrator except for how Figma allows us to set the miter angle in degree units instead of decimal values. There are some other specific nuances to point out:

  • The angle is 7.17° by default and there is no way to set a lower value. When exporting the SVG, that value is becomes stroke-miterlimit='16‘ in the markup, which is different from both the SVG spec and the Illustrator default.
  • The max value is 180°, and when drawing with this option, the join is automatically switched to bevel.
  • When exporting with bevel join, the stroke-miterlimit is there in the code, but it keeps the value that was set when the miter angle was last active (Illustrator does the same thing).
  • When exporting the SVG with a round join, the path is expanded and we no longer have a stroke, but a path with a fill color.

I was unable to find a way to avoid the extra code that ends up in the exported SVG when stroke-miterlimit is unneeded.

Setting miter limits in Inkscape

Inkscape works exactly the way I’d expect a design app to manage miter joins and limits. When selecting a a miter join, the default value is 4, exactly what it is in the spec. Better yet, stroke-miterlimit is excluded from the exported SVG code when it is the default value!

Applying stroke-miterlimit in Inkscape.

Still, if we export any path with bevel or round after the limit was modified, the stroke-miterlimit will be back in the code, unless we keep the 4 units of the default in the Limit box. Same trick as Illustrator.

These examples will work nicely if we choose the Save AsOptimized SVG option. Inkscape is free and open source and, at the end of the day, has the neatest code as far as stroke-miterlimit goes and the many options to optimize the code for exporting.

But if you are more familiar with Illustrator (like I am), there is a workaround to keep in mind. Figma, because of the degree units and the expansion of the strokes, feels like the more distant from the specs and expected behavior.

Wrapping up

And that’s what I learned about SVG’s stroke-miterlimit attribute. It’s another one of those easy-to-overlook things we might find ourselves blindly cutting out, particularly when optimizing an SVG file. So, now when you find yourself setting stroke-miterlimit you’ll know what it does, how it works alongside stroke-linejoin, and why the heck you might get a beveled join when setting a miter limit value.


Mastering SVG’s stroke-miterlimit Attribute originally published on CSS-Tricks. You should get the newsletter.

Developing An Award-Winning Onboarding Process (Case Study)

The notion of onboarding is all about helping users quickly and easily find value in your offering. Speed and ease of use are equally important because users might lose interest if going through an onboarding takes more time or is more complicated than what they expected. Speed and ease of use are also relative to a person’s point of view: a salesperson can have vastly different expectations for an onboarding than a developer.

A well-constructed onboarding process boosts engagement, improves product adoption, increases conversion rates, and educates users about a product. Optimizing the onboarding experience is a journey. You should have a plan but be agile, utilizing processes and tools to garner feedback from target users in a bid to constantly improve.

In this article, we will walk you through how we developed the onboarding processes for platformOS from the very beginning. You will be able to follow how we carried out user experience research, how our onboarding has changed over time, what assumptions we made, and how we adjusted them. We will talk about all the tools we used as examples, but the same processes can be implemented with a wide variety of other tools. You will get practical examples and a complete overview of how we built our onboarding, with insights into UX research and the specifics of working with different audience segments.

Our audience has always combined technical people with various levels of programming skills, and non-technical people who come to our docs to evaluate if platformOS would be a good fit for their projects like Project Owners, Business Analysts, and Project Managers. Because our main target audience is divided into different segments, you will also get a glimpse of the processes we developed for our documentation, developer education, and developer relations.

Challenge: Onboarding For Different Target Audiences

platformOS is a model-based application development platform aimed at front-end developers and site builders automating infrastructure provisioning and DevOps.

DevOps is a combination of development methodologies, practices, and tools that enable teams to evolve and improve products at a faster pace to better serve their customers and compete more effectively in the market. Under a DevOps model, development and operations teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations.

Our main target audience is developers, and the foundation for their onboarding, education, and support is our developer portal — but our onboarding has to cater to other target audience segments as well.

Defining Our Target Audience Segments

We defined our target audience during the discovery phase of the Design Thinking process that we used to plan our developer portal. Since then, we have frequently revalidated the results to see if we are on the right track because we want to be sure that we understand the people who will be using our product, and what motivates them. We also know that in the lifecycle of a product this audience can change as a result of product positioning, and how well we can address their needs.

Our target audience currently has four segments:

  • Experienced developers,
  • Junior developers,
  • Agency Owner, Sales/Marketing,
  • PM, Business Analyst.

User Base Shifts

We created the first target audience map when we started planning our developer portal. In the discovery phase, we mapped out four proto-personas that covered the following segments: Experienced Developers, Junior Developers, Site Builders, and Marketplace Owners.

We revalidated these results a year later, and we realized that our audience had shifted a bit.

  • The Experienced Developers and the Junior Developers stayed as the main target audiences. However, we collected new knowledge related to the needs of the junior devs. They needed more detail to be able to understand and start working with the product. This new information helped us specify their user journey.
  • At this point, the Site Builders were the smallest group. We identified we needed to address the needs of the developers group first, creating a strong foundation to support site builders in the platform.
  • The non-technical segment shifted on the way. The Marketplace Owners segment was divided into two separate audiences: the Agency Owners, who have a sales and marketing background, and the Business Analysts, who have an enterprise background in business management or transformation — a new audience who started to show interest in our product.

Along the way, we were able to specify the needs of these audiences in more detail. These details helped with the prioritization of the onboarding tasks and kept our focus on the needs of the audience.

Defining Entry Points For Target Audience Segments

Getting to know the needs of the target audience segments provided guidance for identifying the entry points to the product.

  • The Agency Owners’ key goal is to work on multiple web projects that they host and manage on the platform. They won’t work on the platform themselves, but they would like to know the status and the progress of the platform without worrying about DevOps. They need to see the business perspective, the security, and that they are part of a reliable ecosystem with a helpful community around without diving deep into the technical part of the product.
  • The Business Analysts’ goal is to identify solution providers for their specific business problems. They need to find a long-term solution that fits with their use case, is scalable, and gives them the possibility for easy evaluation that shows the key business values in action.
  • The Junior Developers’ goal is to learn the basics without much hassle, under the guidance of experienced community members. They need clear technical communication on how to set up a dev environment and how to troubleshoot common errors.
  • The Experienced Developers’ goal is to find a solution that is reliable and flexible enough for all their project needs and at the same time provides good performance. They need to be able to evaluate quickly if it’s a good fit, then see how their project could work on the platform. They also need to see that the platform has a future with a solid community behind it.

All segments needed an actionable onboarding where they can interact with the product (and engage with the community) based on their level of technical knowledge.

  • In the non-technical journey, users can go from the 1-click route that takes them through registering on the Partner Portal to creating a demo site and installing the blog module by clicking through a setup wizard.
  • In the semi-technical journey, users can create a sandbox in which they can experiment by cloning a demo site from our GitHub repository, and they also have the option to go through our “Hello, World!” guide.
  • In the technical journey, users can follow a more complex tutorial that walks them through the steps of creating an app on platformOS from setting up their development environment to deploying and testing their finished app. It explains basic concepts, the main building blocks, and the logic behind platformOS, while also giving some recommendations on the workflow.

How We Approached The Challenge: Methods And Tools

We followed various methods to tackle different aspects of the main challenge. We selected a Design process to follow, used many different user research methods to collect insights and feedback from our users, chose a framework for our editorial workflow and technical implementation that could work well for our Agile, iterative process and our target audience, and went with an approach for content production that allowed community members to contribute early on.

Design Thinking

Because of the strategic role our developer portal plays in the adoption and use of our product, we wanted to use a creative design process that solves traditional business problems with an open mindset.

Our goal was to:

  • help our community to be able to use our documentation site for their needs as early as possible;
  • measure user needs and iterate the product based on the feedback;
  • keep the long-term user and business goals in mind and take a step closer with each iteration.

We found the Design Thinking framework a perfect fit because it is a user-centric approach that focuses on problem-solving while fostering innovation.

We followed the stages of the design thinking process:

  • Empathize
    In the beginning, we explored our audience, our documentation needs, and existing and missing content through in-depth interviews and workshops.
  • Define
    Then, we defined personas and our Content Inventory.
  • Ideate
    We shared our ideas for content and features through a Card Sorting exercise.
  • Prototype
    Based on our findings, we created a sitemap and prioritized content needs, and created layouts and wireframes. Content production started based on the results of our discovery phase.
  • Test
    We followed an iterative, Docs as Code approach: at each stage, we work with quick feedback rounds, deploy often, and improve features and content based on feedback from real users.

User Research

In the life of a product, each development stage has a fitting UX research method that we can use, depending on the business plans, time constraints, stage of product/feature, and the current concerns.

In the last three years we used the following methods:

  • Interviews
    We met with users, sales, and support persons to discuss in-depth what the participant experienced about various topics.
  • Remote Usability Testing
    We asked potential or current users of the product to complete a set of tasks during this process, and we observed their behavior to define the usability of the product. We used two types of remote usability testing:
    • Moderated: We conducted the research remotely via screen-sharing software, and the participants joined in from their usual work environment. This approach is advantageous when analyzing complex tasks — where real-time interaction and questioning with participants are essential.
    • Unmoderated: We sent tasks for users to complete in their own time. As moderators are not present, we measured less complex tasks and focused on the overall level of satisfaction they experienced when interfacing with the product.
  • Card Sorting
    A quantitative or qualitative method, where we ask users to organize items into groups and assign categories to each group. This process makes it possible to reflect the users’ mental model on the architecture.
  • Tree tests
    We used tree tests to validate the logic of the used information architecture. We gave users a task to find certain elements in the navigation structure and asked them to talk about where they would go next to accomplish the task.
  • Surveys, Questionnaires
    We used questionnaires and surveys to gather a large amount of information about a topic. This quantitative data can help us have a better understanding of specific topics that we can further research to understand what motivates users.
  • Analytics review
    We used site analytics to gather quantitative data about usage patterns and identify possible flow breaks. Based on the data we either fixed the problem or if needed, we further tested with usability research.

Docs As Code And CI/CD

We engaged our users in an Agile and iterative process right from the beginning discovery phase. This ensured that we were able to test and validate all of our assumptions, and quickly make modifications if needed. As our internal team members and our community participants are distributed, we needed a workflow that made it possible to collaborate on changes, large or small, remotely. Consequently, we needed a robust approach to version control accommodating authors, reviewers, and editors all working on content concurrently. As we wanted to encourage developers to contribute, we needed a framework that they’re familiar with. We also wanted to make our documentation open-source, so that anyone could duplicate and reuse it for their own projects. Based on these requirements, we decided to follow the Docs as Code approach.

Documentation as Code or Docs as Code refers to a philosophy of writing documentation with the same tools as software coding. This means following the same workflows as development teams, including being integrated into the product team. It enables a culture where writers and developers both feel they have ownership of the documentation and work together to aim for the best possible outcome. In our case, we didn’t only have writers and developers working on our onboarding but also UX researchers, account and project managers, and of course, a range of users in varying roles.

Our documentation is in a separate repository on GitHub. We have a central branch, and we work locally in a dedicated branch, then we send pull requests for review to be merged into the main branch. To preview docs, we use our own staging site which is an exact copy of the live documentation site.

Once we accept changes, we take steps to push them live almost immediately. To maintain the integrity of the site during this process, we follow the practice of continuous integration and continuous deployment (CI/CD). We run test scripts automatically and deploy the codebase to staging. If a test fails, an error report is generated. Alternatively, if everything goes well, our CI/CD of choice — GitHub Actions — deploys the codebase to production and sends us a notification. We release updates continuously, at times merging multiple changes in a single day, at other times only once or twice a week.

Editorial Workflow

Docs as Code provides the foundation for our processes, but for the various users to work efficiently together, we needed to define a clear editorial workflow that worked for all participants (internal and external writer, developer, contributor, and so on) and for all stages of the process (writing, reviewing, editing); but that was also simple enough to involve new contributors. Following Docs as Code, each stage of our workflow is in git, including project management (contributors can also add tickets to report issues or requests).

These are the steps of our editorial workflow:

  1. Write new content in Markdown using the templates. You can use any editor that can produce Github Flavored Markdown.
  2. Submit the new topic as a pull request on GitHub.
  3. Review. We have a peer-review system in place for code and docs alike. Topics are reviewed by both technical reviewers (developers) and writers.
  4. Edit as needed. Repeat steps 3-4 until approved.
  5. Merge approved pull request.
  6. Deploy to staging, then to production.

Our editorial workflow ensures that contribution works the same way for everyone, and we support our contributors with guidelines and ready-to-use templates.

Content Production And Contribution

When we started developing our onboarding and documentation, we followed the Content First approach. We planned to develop some initial content that we could work with, but even before that, we decided what types of content we would need and outlined the structure of each content type. These outlines became templates that ensure consistency and encourage contribution.

We were inspired by topic-based authoring and DITA, in the sense that we decided to have three main content types for our documentation, tutorials that describe how to accomplish a task, concepts that provide background information and context, and references like our API Reference. Our onboarding consists of tutorials that link to concepts and references when needed.

DITA, short for Darwin Information Typing Architecture, is an XML standard, an architectural approach, and a topic-based writing methodology where content is authored in topics rather than in larger documents or publications. A DITA topic must make sense in its own right.

Involving our users from the beginning ensured that we could test and validate all of our assumptions, and quickly modify anything if needed. This proved to be a time and cost-efficient approach: although we edit and rewrite our content, and change things on our documentation site all the time, we don’t run the risk of creating large chunks of work that have to be thrown away because they don’t correspond to the needs of our users.

Constant collaboration also builds trust: as our process is completely transparent, our community continuously knows what we’re working on and how our docs evolve, and community members can be sure that their opinions are heard and acted upon.

Involving the community from an early stage means that our users saw lots of stuff that was partially done, missing, or ended up totally rewritten. So, for all of this to work, our users had to be mature enough to give feedback on half-done content, and we had to be level-headed enough to utilize sometimes passionate criticism.

Encouraging Contribution

We wanted to make it very easy to get involved for all segments of our target audience, so we offer several ways to contribute, taking into consideration the time contributors have available, and their skill level. We describe ways for our community members to get involved in our Contributor Guide. For some quick editing, like fixing typos or adding links, contributors can edit the content easily on the GitHub UI. For heavy editing, adding new content, or for developers who prefer to use git, we provide a complete Docs as Code workflow. This approach proved to be extremely valuable for our onboarding. We got direct feedback on where users struggled with a step or had too little or too much information, and we could immediately make adjustments and verify that we have fixed the issue.

To help contributors write larger chunks of text or complete topics, we provide guidelines and templates to start from:

  • Style Guide
    Our style guide contains guidelines for writing technical content (e.g. language, tone, etc.) and each content type in our documentation (e.g. tutorials, concept topics, etc.).

  • Templates
    Our site uses Liquid pages, but to make editing easier for contributors, we write documentation content in Markdown and use a Markdown converter to turn it into Liquid. Our templates include all non-changeable content and placeholders with explanations for the parts that are editable. Placeholders provide information on the recommended format (e.g. title) and any requirements or limitations (e.g. maximum number of characters).

We thank all of our contributors by giving recognition to them on our Contributors page as well as on our GitHub repository’s README page.

Communication

Our team and community members are scattered across different time zones. Similarly to how we communicate among team members, we use mostly asynchronous and sometimes real-time communication tools to communicate with our community. We even leverage real-time communication tools, like a video conference, to become somewhat asynchronous. For example, video conferences and webinars are recorded, and community members can discuss them on various channels.

  • pOS Community site
    One of our main communication channels is our community site, where you can ask, answer, upvote, and downvote questions, and get to know other members of the platformOS Community. More features coming soon!
  • Slack support
    One of our main communication channels is dedicated Slack channels, where community members ask questions, share ideas, and get to know our team members and each other. Based on their feedback, community members have confirmed how helpful it is to be able to communicate directly with us and each other: they can share what they’ve learned, plan their module development in sync with our roadmap and each other’s projects, and allocate their resources according to what’s going on in the business and the wider community. This communication seeds the documentation site with the most sought-after topics.
  • Video conference
    We regularly have video conferences over Zoom called Town Halls, where community members and the platformOS team share news, demo features, and modules and have the opportunity to engage in real-time, face-to-face conversation. Our team and community members are distributed over different continents, so we try to accommodate participants in different time zones by rotating the time of this event so that everyone has the chance to participate. We also share the recording of each session.
  • User experience research
    Besides getting constant feedback from the community through the channels described above, we plan regular checkpoints in our process to facilitate testing and course correction. During development, we tie these checkpoints to development phases. At the end of each larger release, we conduct user interviews and compile and share a short survey for community members to fill out. This helps us clarify the roadmap for the next development phase.

We make sure to keep community members informed about what’s happening through different channels:

  • Status reports
    We regularly share status reports on our blog to keep our community updated on what we’ve achieved, what we are working on, and what we are planning for the near future. Our status reports also include calls for contribution and research participation and the results and analysis of UX research. Subscribers can also choose to receive the status reports via email newsletter.
  • Release notes
    We share updates regarding new features, improvements, and fixes in our release notes.
  • Blog
    We regularly share articles about best practices and general news on our blog.

Accessibility And Inclusiveness

We address accessibility right from the design phase, where we use Figma’s Able accessibility plugin. We regularly test for accessibility with various tools and ensure that the site complies with all accessibility requirements.

From a technical writing perspective, we support Accessibility and Usability by providing well-structured, clear, concise, and easy-to-understand copy. All of our documentation topics follow a predefined structure (predefined headings, steps, sections, link collections, and so on) applicable to that topic type (tasks, concepts, references), inspired by the principles of topic-based authoring.

Semantic HTML is important for Accessibility, and we make sure not to style text any other way than through Markdown which is then translated into HTML. This way, screen readers can properly navigate through the content, and it also helps overall consistency when, for example, we want to do a design update.

We also review all content to ensure accessible and inclusive language as specified in our style guide.

How We Developed Our Onboarding: Rounds And Lessons Learned

Developing Our Onboarding Using Continuous Iteration Rounds

At the beginning of the project, we started with a focused effort around discovery to identify the main business goals and user needs. As a result of this research, we were able to articulate the big picture. After we had all the user journeys and a sitemap for the big picture plan, we were able to break it down to identify the first iteration that would become the first working MVP version of the site.

Moving forward, we continue to follow an iterative approach, moving fast with an agile mindset. Steps: gather user feedback, identify areas of improvement and possible new directions, define the solution based on resources, business goals, and user needs, and implement it. This circle repeats indefinitely. So, we have an overarching plan outlined for our documentation that we keep in mind, but we always focus on the next couple of action steps we’d like to take.

We can highlight five distinctive rounds that had a great impact on the development of our developer portal.

  1. For our onboarding process, we started with exploring the requirements following the Design Thinking approach. Through a Card Sorting session, we explored the areas of interest for each target audience and that helped us define the topics that concern them the most. This worked as a persona-based content prioritization for the documentation site.
  2. We wanted to guide our users with actionable items that they can try out on our site as a next step. At this point, we were already aware that our target audience shifted. The interviews and the support feedback helped us understand their needs that pointed in two main directions. We needed an easy journey for non-technicals and another one for technicals who like to understand the logic of the platform. In this stage, we planned, tested, and developed the first version of the 1-click journey and the sandbox.
  3. We already had experienced platform users who we wanted to see in action. Using remote field studies, we discovered how they use the tools, the documentation site, and the partner portal we provide. At the same time, we started to conduct continuous onboarding interviews with partners who joined the platform. The two research directions helped us to realize how users with a varying degrees of experience interpret the platform.
  4. By this point, our content grew a lot on the developer portal, and we wanted to discover if we needed a structural and content reorganization based on the user research.
  5. In this latest round, we wanted to dedicate some time to fine-tuning and adjustments, and to double down on the developer portal’s accessibility and inclusiveness.

Round 1: Identifying The Target Audience Segments, Defining Proto-Personas, Base Discovery

With the Design Thinking workshops, we first focused on understanding our users. Based on the user research results, we defined the proto-personas and created a detailed description of each to show their needs and expectations and help us identify who we were designing for. It provided a good foundation for guiding the ideation process and prioritizing features based on how well they address the needs of one or more personas.

On our documentation site, we are working with a large amount of data that we need to present clearly to all users. To define a Content Inventory:

  • we created a list of our proto-personas’ needs based on the problems they needed to solve with the platform;
  • we created a detailed list of content from our previous documentation site and identified missing, reusable, and non-reusable content for our future site;
  • we analyzed the competitor sites to create a list of inspirations.

We ideated with the workshop participant using a Card Sorting exercise. The task was to map out the Content Inventory elements and define connections between them. The result showed us the connected areas and the proto-persona’s preference through color coding.

Based on the Content Inventory and the results of the Card Sorting sessions, we outlined the Information Architecture by creating a sitemap and the navigation for our future site. This plan included all the needs that were discovered and offered a roadmap to keep track of site improvements, content needs, and project phases.

During the Card Sorting sessions, we explored areas of interest for each user persona and, on the sitemaps, we highlighted these as user journeys. We also validated the importance of these areas to assign higher priorities to the ones that need more attention. This process kept our focus on the most important needs of the personas.

The most important sections for the four segments:

  • Experienced Developers: Quickstart guide, How to guide, API docs;
  • Junior Developers: Quickstart guide, Tutorials, Conceptual documentation;
  • Site Builders: Quickstart guide, Tutorials, FAQ, Forum;
  • Marketplace Owners: About platformOS, Blog.

This concluded our Information Architecture phase. We have discovered and organized all the information we needed to continue to the next phase, where we started creating templates for content types, building the wireframes for each page, producing content, and making Design decisions.

Round 2: Onboarding Strategy And Testing Of The Onboarding Process

Strategy

Before we jumped into planning an onboarding strategy, we did a revalidation on proto-personas. At that point, we discovered that our audience shifted to Experienced developers, Junior developers, Agency Owner, Sales/Marketing, PM and Business Analyst, and we realized that we needed to cover a broader spectrum of needs than previously identified.

We interviewed 20 platformOS users. We identified how long they have been using the system, how they use the platform, what the key ‘aha’ moments were, what struggles they faced, and how they solved them. Their needs pointed in two main directions: we needed an easy journey for non-technicals and another one for technicals, covering those with less experience as well as those more capable developers who wished to understand the deeper logic and nuances of platformOS.

Our main goals with the new onboarding strategy were:

  • to connect our systems (developer portal — partner portal — platform), so our users can go through their discovery experience in one flow during their first visit;
  • to provide an actionable stepped process that the users can walk through;
  • allow users/personas to quickly identify the most fitting journey.

Usability Test

We conducted remote Usability Test sessions in three rounds to validate the platformOS onboarding process.

The onboarding section connects the Documentation site and the Partner Portal where users can select one of three journeys based on their programming experience. The goal was to learn how users with different levels of technical knowledge reacted to the three journeys. Are they able to quickly identify what is included in each journey? If yes, how do they engage from that time forward? Did they follow the pathway most appropriate for them?

During the Usability study, we asked users to do several short tasks using a prototype of the planned features built with Figma. We used both moderated and unmoderated remote usability testing techniques and conducted extra tests with platformOS team members to verify the represented business, technical, and content goals.

We conducted six moderated remote Usability Tests in two rounds and set up three unmoderated remote Usability Tests. These tests were separated into three rounds, and after each round, we updated the prototype with the test results.

Based on the test results, we decided that instead of showing three options to the users, we show the two quickest options: 1-click install and Build a basic ‘Hello world’ app. This helps them to quickly decide which is the best fit for them, and at the same time they can immediately try out the platformOS basics. Then, if they want to, they can check out our third journey — the Get Started guide that explains how to build a to-do app.

We redesigned the Instance welcome screen to help users identify the next steps. Based on the results, we had to optimize the UI copy to make it comfortable for non-technical users as well.

As the flow connects two sites and shows the product, the main goal was to show that the user is on the right track and still on the selected journey. We achieved it by showing the steps of the journey upfront, using consistent wording, and allowing the user to step back and forth.

Round 3: Remote Field Study And Onboarding Interviews

In this round, the goal was to examine the overall journey of the experienced and prospective pOS users, focusing on both successes and challenges they are facing. We conducted an interview with a remote field study to get a better understanding of how they work and what processes they are using.

We focused on four main topics:

  1. Development with pOS (workflows, preferences on version control, tools),
  2. Community and collaboration (support, discussions),
  3. Developer Portal (overall experience, obstacles, suggestions for improvements),
  4. Partner Portal (usage, dashboard preferences).

Key insights from the user research results:

  • The development with platformOS has a flexible and limitless offering which is a great strength of the system, but it also means that learning the workings of the platform, especially in the very beginning, takes more effort and patience from developers.
    Solution: Templates might provide aid during the learning process.

  • As platformOS is new in the market, there’s not much information on Google or StackOverflow yet. On the positive side, the pOS team always provides great support via Slack and introduces new solutions in Town Hall meetings, status reports, and release notes.
    Solution: To further strengthen the community, a separate Community Site can be an efficient and quick platform for peer-to-peer support by having a search function, and users can follow useful topics.

  • Related to the Developer Portal, we saw that the user easily gets to the documentation and finds the solution for most of their use cases. However, the search results were not precise enough in some cases, and the naming of the tutorials caused uncertainty about where to find items.
    Solution: Run a content reorganization session for the tutorials and fix the search function.

  • We discovered that the Partner Portal was used mostly at the beginning of the projects by experienced devs. Junior developers preferred that they can find helping instructions on the instances page that supported their work on the new instances. Agency Owners/Business Analyst preferred to use the site to see the payments related information and the analytics of the instance use. We saw that they generally had problems handling the permissions related to the instances and identifying the hierarchy between their instances.
    Solution: Partner Portal design update with new information structure of the instances and permissions.

Round 4: Structural And Content Reorganization, User Testing, Implementation

Structural And Content Reorganization

In this round, we renamed the Tutorials section to Developer Guide. This was in line with our plan to extend our tutorials in this section with more concept topics, as requested. We planned to have a comprehensive Get Started section for beginners with the “Hello, World!” tutorial and the Build a To-do List App series, and the Developer Guide for everyone working with platformOS — from users who have just finished the Get Started guides to experienced platformOS developers. This separated and highlighted the onboarding area of the site, and this is when the current structure of our Get Started section came to be: a separate tutorial for when you start your journey with platformOS, that you can use as a first step to go through the more advanced onboarding tutorials.

Card Sorting

At this point, we had 136+ topics in our Tutorials section organized into 27 groups, and we knew that we wanted to add more. Based on user feedback, we could improve the usability of the Tutorials section by organizing the topics better. Our goal was to identify a structure that best fits users’ expectations. We used a Card Sorting exercise to reach our goal.

We have analyzed the inputs, and based on the results, we concluded that seven categories can cover our 27 topics: Data management, Schema, Templates, Modules and Module examples, Partner Portal, Third-Party Systems, and Best Practices. We used the similarity matrix and the category namings to identify which topics are connected and what names users suggested for them.

With this research, we managed to restructure the Tutorials section to become in line with the mental models of the users.

Round 5: Fine-Tuning, Content Production

In the latest round, we added the possibility, on our onboarding, to start from a template. Based on our discovery, the marketplace template is a good option for site builders who would like to have a marketplace up and running fast and don’t want to explore the development in detail.

The pOS marketplace template is a fully functional marketplace built on platformOS with features like user onboarding, ad listings and ads, purchase and checkout process, and online payment. Following the tutorial we added, users can deploy this code within minutes to have a list of working features and start customizing the back- and front-end code.

We also keep fine-tuning our content for clarity, brevity, readability, accessibility, and inclusive language. We have regular accessibility reviews where we pay attention to aspects, such as terminology, technical language, gender-neutral pronouns, and informative link text while avoiding ableist language, metaphors, and colloquialisms. We summarized our experience with fine-tuning accessibility in the article “Code and Content for Accessibility on the platformOS Developer Portal” which includes examples of what we changed and how.

Future Plans

The platformOS Developer Portal was very positively received and even won a few peer-reviewed awards. We are honored and grateful that our efforts have yielded such great recognition. We will keep revalidating and improving our onboarding just like we have been doing since the beginning. We are also working on a developer education program for our soon-to-be-launched community site that includes various learning pathways that will try to accommodate users’ different learning styles and also offer ways for them to get more involved with our developer community.

Conclusions

So, after years of working on our onboarding, what are our key takeaways?

  • Don’t feel pressured to get everything right the first time around. Instead, become comfortable with change and consider each adjustment progress.
  • Get to know your target audience and be ready to revalidate and shift target audience segments based on your findings.
  • Get familiar with different user research methods to know when to use which approach. Carry out extensive user research and, in turn, listen to your users. To support feedback, allow users multiple different channels to give you feedback.
  • Choose a flexible workflow, so that the editorial process does not become an obstacle to continuous change. We love Docs as Code.
  • A product is never ready. Shaping and updating an already done flow is perfectly fine.
  • Iteration and prioritization are your best friends when it comes to delivering large amounts of work.

We hope that this case study helps and encourages you as you build an onboarding experience for your product.

Picture box picture control is not working

Picture box picture control is not working

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        Color a0;
        Color a1;
        Color a2;
        Color a3;
        private ColorDialog _colorDialog = new ColorDialog();
        private FontDialog _aaa = new FontDialog();
        Font a4 = new Font("", 20);



        private void Form1_Load(object sender, EventArgs e)
        {
            a0 = Color.Blue;
            a1 = Color.Red;
            a2 = Color.Blue;
            a3 = Color.Green;


        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics graphics = e.Graphics;
            Rectangle rect = new Rectangle(250, 160, 250, 100);
            Brush brush = new SolidBrush(a0);
            graphics.FillRectangle(brush, rect);
            //    Font font = new Font("", 20);
            //    graphics.DrawString("HOSEO", font, Brushes.Black, new PointF(320, 190));



        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            SolidBrush a11 = new SolidBrush(a1);
            Graphics B1 = e.Graphics;
            Point[] pts = {
                new Point(0,0), new Point(130,0),
                new Point(65,100)
            };
            B1.FillPolygon(a11, pts);
        }

        private void pictureBox2_Paint(object sender, PaintEventArgs e)
        {
            SolidBrush a22 = new SolidBrush(a2);
            Graphics B2 = e.Graphics;
            B2.FillEllipse(a22, 0, 0, 120, 120);

        }
        private void pictureBox3_Paint(object sender, PaintEventArgs e)
        {
            SolidBrush a33 = new SolidBrush(a3);
            Graphics B3 = e.Graphics;
            B3.FillEllipse(a33, 0, 0, 120, 120);
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (_colorDialog.ShowDialog() == DialogResult.OK)
            {
                a0 = _colorDialog.Color;
                a1 = _colorDialog.Color;


            }
            /*
            Graphics ps = this.CreateGraphics();
            Rectangle rect = new Rectangle(250, 160, 250, 100);
            Brush brush = new SolidBrush(a0);
            ps.FillRectangle(brush, rect);
            */

        }
        private void pictureBox2_Click(object sender, EventArgs e)
        {
            if (_colorDialog.ShowDialog() == DialogResult.OK)
            {
                a0 = _colorDialog.Color;
                a2 = _colorDialog.Color;
            }

        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            if (_colorDialog.ShowDialog() == DialogResult.OK)
            {
                a0 = _colorDialog.Color;
                a3 = _colorDialog.Color;
            }
        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {

            if (_aaa.ShowDialog() == DialogResult.OK)
            {
                a4 = _aaa.Font;
            }
        }

        private void pictureBox4_Paint(object sender, PaintEventArgs e)
        {
            Graphics graphics = e.Graphics;
            graphics.DrawString("HOSEO", a4, Brushes.Black, new PointF(70, 30));
        }



    }
}

How to Include Custom Post Types in WordPress Search Results

Do you want to include custom post types in WordPress search?

By default, WordPress will never show custom post types in its search results. That means your visitors may miss out on some great content, and you’ll miss out on extra page views.

In this article, we will show you how to include custom post types in WordPress search.

How to include custom post types in WordPress search

How to Include Custom Post Types in WordPress Search

Although WordPress has a built-in search feature, its quite limited. If you create custom post types in WordPress, then WordPress won’t include these items in search results.

The easiest way to include custom post types in WordPress search is by using the SearchWP plugin.

SearchWP is the best custom search plugin for WordPress, used by over 30,000 websites. It’s easy to use and lets you search content that isn’t included in the default WordPress search.

To include custom post types in WordPress search, you’ll need to install and activate SearchWP. If you need help, then please see our guide on how to install a WordPress plugin.

Upon activation, click on the new ‘SearchWP’ button in your website’s toolbar. You can then go ahead and click on ‘Activate License.’

Activating the SearchWP WordPress plugin

After you’ve done that, click on the ‘License’ tab.

You can now paste your license key into the ‘License’ box. You’ll find this key in the email you got when you purchased SearchWP and in your account on the SearchWP site.

The SearchWP advanced search WordPress plugin

Once you’ve pasted this information into the ‘License’ field, go ahead and click on the ‘Activate’ button next to it.

You can now set up SearchWP to include custom post types in WordPress search results.

To start, simply click on the ‘Engines’ tab.

SearchWP's Engine tab

On this screen, you’ll see sections for the different types of content on your WordPress site that SearchWP includes in its search results.

By default, this plugin searches your website’s media, posts, and pages.

To include custom post types in your searches, click on the ‘Sources & Settings’ button.

Configuring the SearchWP search plugin

Under ‘Sources,’ you’ll see all your post types listed along with comments, media, and more. Simply find all of the custom post types that you want to include in your search results, and check their boxes.

After that, click on the ‘Done’ button.

Including custom post types in WordPress search

You’ll now see a new section for each of your custom post types on your WordPress blog.

In each section, SearchWP shows all the attributes that it will look at when searching your custom post types.

For each attribute, SearchWP has an ‘Applicable Attribute Relevance’ scale. This is the weight that SearchWP gives to this attribute when searching your custom post types.

By default, the sliders for Title, Slug, and Excerpt are all the way to the right, so they have the most weight. The slider for Content is in the center, so it has less weight.

SearchWP's attribute weight settings

Want to change an attribute’s weight? Simply drag its slider.

You may want to try different relevancy settings to see what gives you the most accurate and helpful search results.

You can also remove attributes. For example, your custom post type may have attributes that you want SearchWP to ignore, like attributes that you added for your internal reference only.

To add or remove attributes, click on the ‘Add/Remove Attributes’ button.

Adding custom post type attributes to WordPress search

To add an attribute, simply click to check its box.

If you want SearchWP to ignore an attribute, then go ahead and uncheck its box.

Removing custom post type attributes from WordPress search

If you’ve created any custom taxonomies or custom fields, then you might want SearchWP to look at this content when searching your custom post types.

To do this, simply click on either the ‘Custom Fields’ or ‘Taxonomies’ fields. You can then type in the name of the attribute that you want to add, and click on it when it appears.

Adding custom post types in WordPress search

When you’re happy with your settings, click on the ‘Done’ button.

If you’ve added any attributes, custom fields or taxonomies, then you can change how much weight this content has. Just like we mentioned earlier, moving the slider to the right will give this attribute more weight which means it will have a bigger impact on the search results.

Changing the attribute relevancy for custom post types in WordPress search

Once you’ve finished customizing SearchWP’s settings, scroll to the top of the screen.

You can then click on the ‘Save Engines’ button to save your changes.

Saving your WordPress custom search settings

At this point, SearchWP may show you the message ‘The index needs to be rebuilt.’

If you see this message, then go ahead and click on the ‘Rebuild Index’ button. This will add your custom post types to your site’s search index, so they will show up in the search results.

Rebuilding the WordPress search index

That’s it. WordPress will now include your custom post types in its search results.

Once you’ve done that, you may want to enable some advanced settings that will make it easier for visitors to find what they are looking for.

To take a look at these settings, click on the ‘Advanced’ tab.

SearchWP's advanced search settings

This screen lists some of the more advanced settings that you may want to use.

For example, if you want to show results that don’t quite match the term that the visitor searched for, then you can check the ‘Partial matches (fuzzy when necessary)’ box.

The 'fuzzy' partial search settings in SearchWP

For more tips on SearchWP’s advanced settings, please see our step by step guide on how to improve WordPress search with SearchWP.

After adding custom post types to WordPress search, you may want to create a search form that only show the search results from your custom post type category, which can make it easier for visitors to find what they’re looking for. For more details, see our step-by-step guide on how to create advanced search form in WordPress for custom post types.

We hope this article helped you learn how to include custom post types in WordPress search. You can also go through our guide on how to make money online blogging with WordPress, and see our expert pick of must have WordPress plugins for business sites.

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 How to Include Custom Post Types in WordPress Search Results first appeared on WPBeginner.