WordPress Contributors Seek Sponsorship for Improving Gutenberg Developer Docs

WordPress developers Milana Cap and Jonathan Bossenger are starting a fundraiser for improving Gutenberg developer documentation. The conversation began yesterday when Cap tweeted about how documentation is often overlooked when companies hire full-time contributors to work on WordPress.

“When your community is unable to learn your software then you have no contributors,” Cap said. “Documentation and tutorials are far more important for Open Source Software projects than people realize.”

The first time Cap began asking for Gutenberg documentation was at the Community Summit in Paris, 2017. She has been trying to direct the community’s attention to it since then.

“There are many holes in block editor documentation for developers but the most obvious one is how to start,” Cap said. “The beginning of documentation for developers doesn’t say anything about getting started. “It says only what you can do with a block but not _how_. Junior developers, PHP-only developers and anyone for whom is that documentation meant, doesn’t know how a block’s code looks, where to put it, how to include it, etc, let alone how to build a custom block with custom components and settings.”

Part of the challenge of documenting the block editor is that it is under active development. Enhancements and refinements are constantly pushed out to the Gutenberg plugin and keeping track of what is or is not currently available in core is not always easy. As WordPress is imminently introducing block directory search, it is a good time to formalize block creation documentation.

“Code examples are alarmingly missing all over docs,” Cap said. “The most basic examples exist but how to actually build something usable is missing. So, on this first page we are sent to a tutorial but that tutorial is not optimized for people who have never built a block before. Following it, I have and will fail to build the block.”

Marcus Kazmierczak and a team of documentation contributors are attempting to rebuild the tutorial in the official block editor handbook. A GitHub issue focused on addressing gaps in the current developer documentation is home to an active discussion about the best way to rewrite the docs for people who are new to block development.

“This is a very good start but there’s still a lot of work to be done,” Cap said. “Complete documentation is written by people who know and understand React and Gutenberg but are ‘cursed with knowledge.’ They don’t have much time to spend on understanding just how much others don’t know and in what detail documentation should be written. To be honest, I don’t think they should spend their time on that. We have a Documentation Team and we are willing to jump in but some sort of bridge is necessary.”

The Problem with Gutenberg Developer Documentation: It’s Not Friendly for Newcomers

“The ‘problem’ as I see it with the block editor documentation is that, unlike other WordPress documentation, it is written for experienced JavaScript developers, and not aimed at beginners,” Bossenger said. “I should also point out, this is by no means a shot at the folks who have put the current documentation together, and I appreciate any and all work they have done so far, it’s just in serious need of a review and some refinement.”

Bossenger said in the past WordPress made it very easy for anyone with a limited amount of PHP knowledge to quickly build a plugin or theme using action and filter hooks. It was easy to look at the code and understand what it was supposed to do.

“Modern JavaScript, and specifically React, is a very different kettle of fish,” Bossenger said. “It requires a deeper level of knowledge of how React works, including new terminology and practices. Modern JavaScript can also be very confusing, especially if this is the first time you’re seeing things like arrow functions, or less verbose if statements.

“If the closest you have come to working with JavaScript in WordPress has been using jQuery, switching to React based Gutenberg development still requires some learning on your part.”

After taking two courses before he could build anything for the editor, one on React and one on Gutenberg, Bossenger said the current Block Editor handbook is not written for developers with no experience in React and modern JavaScript. He believes it needs a restructuring to better explain new concepts and fit a pattern that is easier for a newcomer to consume. He highlighted the Plugin Developer handbook as an example where the chapters follow a structure and use terminology that is more like a text book, slowly introducing the reader to new concepts.

“I would argue that it would be quite possible for someone with no plugin or PHP knowledge, armed with this handbook and Google, to build a simple plugin to meet their specific requirements quite quickly,” Bossenger said. “Currently the block editor handbook is not conducive to this.”

Bossenger is not alone in his opinion of the current documentation. Peter Tasker at Delicious Brains recently published a tutorial on creating a custom Gutenberg block. Even after working with React full-time for the past year, he found the official block editor docs to be “kind of all over the place” and difficult to parse.

After Cap commented about the lack of companies sponsoring full-time work on documentation, Bossenger tested the waters with a tweet asking if the two of them might be able to raise funds for improving Gutenberg docs.

“Just the same as Block Editor Team (and any other Make team), the Documentation Team is understaffed,” Cap said. “We can’t afford to dedicate few members to first learn and then write documentation on developing with block editor. This is the main reason for my tweet. You’ll see sponsored contributors all over core but not in documentation and I’ll dare to say that both are equally important.”

Before launching their fundraiser, Cap and Bossenger plan to go through the existing documentation, pinpoint obvious holes, and identify questions that remain unanswered for those who are new to developing for the block editor.

“Once we have a plan we can predict how much time is needed for each part,” she said. “With this plan, we will go in search for sponsors. I think there will be an option to donate even before that but nothing is certain at this point.”

Blocks are the new frontier of WordPress development. Investing in solid documentation and tutorials for beginners could have a major impact on expanding the block ecosystem. This also indirectly benefits users as they end up with a more diverse directory of blocks to choose from when customizing their WordPress sites.

Bossenger and Cap are currently working on a plan for the docs ahead of announcing their fundraiser. In the meantime, anyone who wants to contribute to improving the block creation documentation can jump in on the GitHub discussion.

Decision Time: What Block Patterns Should Ship With WordPress 5.5?

Screenshot of inserting the Numbered Features layout from the block patterns library into the block editor.
Inserting the Numbered Features block pattern into the editor.

The first beta release of WordPress 5.5 is mere days away. This test release is expected to ship on July 7, and it carries with it a slew of new features that have primarily been developed between Gutenberg 7.6 and 8.5. One of the more pressing decisions the development team has to make is which block patterns to include in the final release.

For the uninitiated, block patterns are a predefined configuration of multiple blocks. They provide end-users a way to quickly insert more complex layout patterns into the editor. Instead of piecing together multiple blocks, nesting them within the proper group container, and getting everything perfect, the user merely searches the pattern library and selects the pattern they prefer. It is then inserted into the editor where the user can edit the content, such as altering the default text or changing the media.

It is an ingenious solution to an otherwise complicated problem. It also has the potential to move the block editor somewhat in the realm of actual page building.

For end-users, it could mean no longer spending hours learning how to recreate that pretty demo page that sold them on installing a specific theme. No more slogging through tutorials that feel like they were written for people with comp-sci degrees. Just click some buttons and watch the magic happen.

I have said that block patterns will change everything. I was patiently enthusiastic about the API when it first landed in Gutenberg 6.9. I was downright giddy to play around with the first patterns that shipped with Gutenberg 7.7.

Outside of a few that have made their way into Gutenberg in recent versions, I have not been particularly ecstatic about the default patterns the development team has included. In my mind, most were always test cases, patterns meant to iron the bugs out of the system. Then, some of the world-class designers we have in the WordPress ecosystem would design a handful of solid default patterns. I fully expect theme authors to push the limits of the system, but I was hoping that WordPress would use this opportunity to showcase what the block system can really do.

The closest that Gutenberg has come to shipping useful, modern block patterns have been its Testimonials, Numbered Features, and Features and Services patterns. These three were initially set on the chopping block (Testimonials have since been re-added), ready for the ax before WordPress 5.5 goes out to millions of users who could use such features instead of the tired and old solution of theme options. If these go, block patterns will likely land with a thud instead of the flash and bang the feature could make. We need to get users excited. We need to inspire the multitude of theme authors to build something greater — hey, look what you can do with this feature. Our development community needs to stand upon the shoulders of giants rather than feel like they are building from scratch.

We should not be afraid to be bold with the “1.0” of block patterns.

For the most part, with the latest patch on a ticket that is currently in flux, the team has nixed all but the least mundane patterns.

Block patterns are meant to represent common design layouts and configurations that we see around the web today. However, the current crop of patterns does not do justice to the idea. From the developer end of things, it is a powerful API. From the user side of things, it will feel like another half-baked plan to push in an unfinished feature before the deadline.

Maybe I am impatient. Maybe I need to get on board the ship-early-and-iterate-often train. But, the API has been in Gutenberg since November 2019. It is hard not to feel a little disappointed at the potential removal of the most opinionated patterns. They were the ones that I was eagerly awaiting to use. We can already easily put two images, columns of text, or buttons next to each other. The proposed patterns to ship with 5.5 do not feel like they will help users build the type of complex layouts the feature was meant to solve.

My rallying call, my plea to include some patterns with a little pizzazz in WordPress 5.5, might be cutting it close to the 11th hour. However, anyone eagerly awaiting this feature may have been as blindsided as I was yesterday when the pull request came down the pipeline to remove all but three basic patterns.

I want the narrator in the upcoming WordPress 5.5 release video to have a bit of pep in his voice instead of trying to give the hard sell on sticking two images next to each other.

I am not asking for complex pricing tables, a restaurant menu, or — God, forbid — a slider pattern. Those things are a bit more niche and not suitable for core. There is some middle ground we can meet, offering something of a bit more substance. And, if we cannot meet that middle ground, is the feature ready?

I’m the last person to suggest pulling the feature from the release, so I won’t venture down that dark path. I want block patterns. I want them now.

I do question whether we should ship such basic patterns with most users having to wait months for anything more useful. That’s unless their theme authors are generous enough to push out some new patterns between the major release cycles.

I am just a WordPress user asking to be amazed. Whet our appetites for a future where block patterns are everything.

What patterns would you like to see ship with WordPress 5.5?

9 Best WordPress FAQ Plugins

Best WordPress FAQ PluginsIf you run a commercial website where you sell products, courses, services, etc. you probably get tons of emails every day. It’s great to see that lots of people are interested in your products. It’s also your duty to answer all of their questions in a timely manner and to do your best to make […]

The post 9 Best WordPress FAQ Plugins appeared first on WPExplorer.

DevOps Best Practices

Traditional IT had two separate teams in any organization – the development team and the operations team. The development team works on the software, developing and releasing it after ensuring that the code works perfectly. The Operations team works on deployment, load balancing, and release management to make SaaS live. 

They check the application performance and report back any issues, if existent to the development team. These cycles went too long for companies and stimulated a need to build a team of mixed expertise of development, QA, and Operations, introducing the phenomenon of DevOps. DevOps bridges the gap between two teams and helps them operate and evolve applications quickly and reliably.

React Native Made Easy: Native Bridge (feat. Scan Kit) Part 2

Introduction

React Native is a convenient tool for cross platform development, and though it has become more and more powerful through the updates, there are limits to it, for example its capability to interact with and using the native components. Bridging native code with Javascript is one of the most popular and effective ways to solve the problem. Best of both worlds!

Currently not all HMS Kits has official RN support yet, this article will walk you through how to create android native bridge to connect your RN app with HMS Kits, and Scan Kit will be used as an example here.

Twitter’s Reliability Journey

Twitter’s SRE team is one of the most advanced in the industry, managing the services that capture the pulse of the world every single day, and throughout the moments that connect us all. We had the privilege of interviewing Brian Brophy, Sr. Staff SRE, Carrie Fernandez, Head of Site Reliability Engineering, JP Doherty, Engineering Manager, and Zachary Kiehl, Sr. Staff SRE to learn about how SRE is practiced at Twitter.

As a company, Twitter is approximately 4,800 employees strong with offices around the world. SRE has been part of the engineering organization formally since 2012, though foundational practices around reliability and operations began emerging earlier. Today, SRE at Twitter features both embedded and core/central engagement models, with team members that hold the SRE title as well as those without but who perform SRE responsibilities. Regardless of their role or title, a key mantra among those who care about reliability is “let’s break things better the next time.” 

Splunk Logging in Lambda Using Low Code Approach

A centralized logging management solution like Splunk, Datadog, Sumologic, etc. enables organizations to collect, analyze, and display logs through a single pane of glass.

In this article, we will see how application logs can be sent to Splunk from lambda using the Kumologica Splunk node.

Comprehensive Review of Haiku R1/beta2

After about 20 months of hard work, the Haiku team has finally released, a few days ago, the second beta version of Haiku, the BeOS-inspired open-source operating system that aims to offer a fast, simple to use, and powerful alternative for personal computing. This time, I am particularly happy, even a bit proud of myself, because I have also been contributing with Portuguese translations for the user interface, and this is the first beta that includes those translations. So, let's celebrate!

I first wrote about Haiku back in 2018, right after the first Haiku beta was released. As an old-time BeOS user, I had been waiting for that moment. You can read my review of Haiku R1/beta1 in case you're curious (note: this is an external link to my blog since at the time I didn't publish at Dzone yet). So, today, I will write a few paragraphs about some things that have changed and share with you some of my impressions on what there's to love on this new operating system. And, just because it can be done and it's more fun, I will be writing, editing, and publishing this article just using Haiku R1/beta2. I will include a brief note explaining what software I used and if there were any difficulties.

Measure Your Test Automation Maturity

I'm a Developer Advocate and one of the things I love most about my role is that I travel all of over the world — meeting and consulting with engineering teams, and discussing the challenges that they face.

One thing that I've realized about building quality software is...the struggle is real!

Google Calendar Integration with Ruby on Rails Development

Google calendar is a very robust application to create a calendar event. It allows users to add events, schedule meets, and track the timeline of any project. Integrating Google calendar in Ruby on Rails applications allows users to access the calendar from within the app and add or remove events. It is a useful app for tracking the progress of activities inside an application.

Ruby on Rails Application: Integrating Google Calendar API

There is an API to manage whole google calendar features programmatically. But it is challenging to work with the APIs as the API document is not comprehensive. There is no proper documentation for each piece in any library or SDK we use. In one of the Ruby on Rails projects, we needed to set up two-way communication between the Rails application and the user’s google calendar.

MicroProfile Metrics with Prometheus and Grafana [Video]

In this short video, Rudy de Busscher shows how to connect MicroProfile Metrics with Prometheus and Grafana to produce useful graphics and to help investigate your microservice architecture.

The goal of MicroProfile Metrics is to expose monitoring data from the implementation in a unified way. It also defines a Java API so that the developer can define and supply his own values.

5 Tips for Better REST API Design

There is no doubt that "API" has become the de-facto standard for exchanging information between systems and also helps in better integration within components of a system. 

In this article, I will share some of the practices that I followed while working on multiple REST APIs design and implementation.

Top 10 PHP Frameworks for Web Development

Do you want to build a website using PHP but wondering which framework would be most desirable for you? If yes, then your search ends here. As here in this article, I will be listing down the top 10 PHP frameworks for developing excellent web apps

PHP is one of the most extensively used languages for web development. According to a web development stat, about 80% of all websites are built using PHP as of 2020.

What is Cloud Computing and What is it For?

Cloud computing, one of the most influential technology trends of this century, came to light more than ten years ago and seemed to be here to stay. However, it is still common to find many doubts as to what it is, what it is for, what service models exist, and what the advantages of cloud computing are. 

In particular, there are still industries that fear the implementation of these services because they don't know about them. But you can rest assured. When you finish reading this blog post, you will have a broader picture to decide whether or not you should implement cloud services in your business.