FSE and WordPress Themes: What Does the MVP Look Like?

Josepha Haden Chomphosy, the Executive Director of WordPress, posted a follow-up to her outline of the upcoming year. Questions mounted about what a minimum viable product (MVP) looked like for Full Site Editing (FSE), which is expected to be ready in the Gutenberg plugin in April. The core team is also shooting for a June launch of FSE in WordPress when it ships WordPress 5.8.

These seem like lofty goals, but members of the WordPress development and business community were left asking, “What is an MVP for FSE?” This is not a new question. Whether it is the swift pace of development, a communication breakdown, or so much of the project being hidden behind layer upon layer of GitHub issues, it can be hard to follow. There is no big webpage that spells out each step in minute detail of where the project is going. Information can sometimes feel scattered. This can give pause to third-party developers and business owners who need to know what to expect to update their products.

Joost de Valk, the CPO of Yoast, voiced his frustration with the process in the comments. We later discussed this in more detail.

“I think FSE will change what a theme is, and, if it gets executed properly, will make it far easier to build a theme, as themes will be much smaller,” he said. “That brings the burden onto the community to come up with reliable methods of styling though, and conventions on class names or similar, to make styling work everywhere. I currently don’t understand what is even considered as MVP for Full Site Editing, nor do I see any discussions about how it’ll work with themes not purpose built for it, and that worries me.”

He shares some of the same concerns as others in the community who feel like there is no process in place for an MVP.

“And there is no such thing,” he said. “Vision without execution is just hallucination.”

Chomphosy said that she was aware of the interconnectedness. “I also see that the information we have published isn’t in a tidy and followable post that would help people make good decisions on behalf of 39% of the web,” she said.

She pointed to a ticket that lists six (now seven) milestones. Each of those milestones, when taken together, represent where FSE needs to be for an MVP.

“Together they outline an architecture that allows the expression of a full theme using blocks and an editor capable of customizing that theme,” she wrote. “The MVP should make it possible to build a version of the Twenty Twenty-One theme, using only blocks, without any coding knowledge.“

The following is a breakdown of the milestones that need to reach completion before we see the first version of FSE land in WordPress:

Milestone 1: Infrastructure and UI

Perhaps the most crucial part of FSE is a workable site editor. Merging the WordPress templating system into a cohesive UI is the foundation of the project. The underlying infrastructure handles how templates and template parts work. At this point, this foundation is in a reliable spot. It is all the features that build upon it that need more work. This milestone also includes getting the site-editing interface in place and handling multi-entity saving.

The final leg of the milestone allows users to edit templates from within the post editor, effectively switching between content and design editing. The FSE Outreach Program recently tested this feature to garner feedback after Gutenberg 9.6.

Milestone 2: Browsing

This milestone covers all of the work for navigating the UI of the site editor. There are many moving parts, such as switching between pages, templates, template parts, global styles, and more. Users must know which element they are working on.

This is the only milestone marked as completed. However, there is an open ticket for exploring the idea of a “browsing” mode alongside the edit and select modes.

Milestone 3: Styling

For the most part, this milestone centers on the upcoming Global Styles system. The system creates a hierarchy of how styles are applied to blocks from theme defaults to global user modifications, down to per-block style options.

While much of the work is complete for an MVP, there are dozens of feature tickets in the backlog. This is also an area where the block system is years behind third-party page builders. Expect to see long-term feature additions based on post-launch feedback.

Milestone 4: Theme Blocks

Theme authors should keep a close eye on this ticket. The only way that block-based themes become a reality for most theme developers is if all template tags have a corresponding block in the site editor. Or, at least if the most-used template tags do. Some of these functions are no longer applicable in the block editor. Theme developers should make sure they have the blocks they need to recreate anything they are building today.

Admittedly, I am sad to see that blocks for Bookmarks/Links are unlikely to be moving forward. While the feature is deprecated, I am still nostalgic about the good ol’ blogroll days. Maybe this would be best left a plugin. A revival of the Link Manager plugin could be in order.

Milestone 5: Query Block

The Query block and its corresponding Loop block are, in some ways, the most essential pieces of Full Site Editing. They handle what posts are loaded and how they are displayed. The feature is one of the more complex puzzles to solve. The Gutenberg development team has continued iterating on it for months, and it is now at a good baseline. However, it has miles to go before it can seriously handle all the things that theme authors need to do with it.

Right now, the Query block only handles a handful of options for customizing the query. The team needs to determine what controls should be available in the sidebar for end-users and integrate the blocks with patterns for different types of post-list displays.

Milestone 6: Navigation Block

Aside from the Query block, Navigation is the only other block that requires its own milestone. Navigation menu issues have plagued the WordPress project for well over a decade. It is one of the hardest things to get right. While nav menus in WordPress today are generally easy to work with, their design is not customizable by the end-user. The output is wholly at the theme author’s discretion. Catering to the array of possible menu designs theme authors might want and making it customizable for the end-user is likely one of the toughest problems for the Gutenberg project.

There are at least a couple of dozen sub-tickets that need contributors. Even then, it could be several versions later before the Navigation block is ready for the more complex patterns used in some themes today.

Milestone 7: Gradual Adoption

After the first six milestones representing the MVP are completed, WordPress needs a way to allow end-users and theme authors to gradually adopt FSE. Primarily, this would be a mix of block-based templates and traditional PHP-based templates. Developers should be allowed to update their themes without changing them wholesale, potentially leaving segments of their user base behind.

Block-based widgets and navigation screens also fall under this milestone. Both features were punted to future releases after failing to land in 2020. However, these will be stepping stones for users who are not quite ready to switch to FSE or are unable to because of their theme.