SlideShare a Scribd company logo
1 of 77
Photo by Bruno Martins on Unsplash
Headless
THE
BLOCK EDITOR
“ It’s rapidly becoming much easier to
implement a bridge from the Block Editor to
headless applications.
Anything other than the Block Editor for
headless projects is a compromise too far.
~ Me (by the end of this presentation)
Headless + Block Editor
Why
How
{
{
Challenges
Solutions
Opportunities
Future
The Block Editor
Headless Applications
What {
I’m Sean Blakeley
Tech Director at AmericanEagle.com
Before The Block Editor
Hero Title
Featured Hero
YES / NO
Title
Sub-Title
Featured Hero Colors
Background Color Text Color Link Color Hover Color
Hero Content
SEO Title
SEO Meta Description
SEO Tags
Non-visual CMS
● Visual editing experience
● Core WordPress
● Intuitive
● Avoid abstract inputs
● Enriched UX
Why the
Block
Editor?
LLM
✘
Headless WordPress
● Total cost of ownership
● Maintain custom solutions
● Increased time to value
● Higher dev LOE
● No plugin-and-play
● More complex governance
Why Not
Headless?
● Scalability
● Security
● Portability
● Integrate multiple data sources
● OmniChannel distribution
● Technical flexibility
● Component-driven design
Why
Headless?
Photo by Shoeib Abolhassani on Unsplash
Why the Block Editor & Headless?
Photo by bruce mars, Nubelson Fernandes & ConvertKit on Unsplash
Engineers Content Creators End Users
Visual CMS
Flexibility
Future-Ready
Performance
UX & Usability
Interaction
Technology
Freedom
Security
Scalability
Photo by Brandable Box and Marvin Meyer on Unsplash
Delivery + Adoption + Usage
Photo by Alvin Mahmudov on Unsplash
TUX*
* Total User Experience
How {
Challenges
Solutions
Opportunities
Future
Photo by Sung Shin on Unsplash
Block Bridge
Photo by Luis Reyes on Unsplash
A Lot of Heavy Lifting
Photo by Nathan Dumlao on Unsplash
Previous Headless Block Editor Options
Static HTML - a Single String
● Easy
● Works well across static blocks
● Only static content
● Html unpredictable
● Performance issue
○ Sanitize content
○ Parse translate to React components
● Lose React benefits
● Need to parse
● HTML data-attributes means using DOM as API
Good Not so Good
Static HTML - Good & Bad
User
Post
Post
Post
Post
GraphQL
● Explicit Query
● Response defined by requester
● Single endpoint
● Defined schema
● Self-documenting
● Implicit Query
● Response defined by server
● Single JSON blob
● Documented externally, no schema
GraphQL Rest API
GraphQL vs Rest API
https://github.com/pristas-peter/wp-graphql-gutenberg
GraphQL Field
● Exposed blocks
● Structured data
● Only global blocks available to page
● Not complete list of attributes
● Not scalable
● No definitive schema
● Single data blob
Good Not so Good
GraphQL - Good & Bad
Photo by Jukan Tateisi on Unsplash
Challenges
Photo by Michael Dziedzic on Unsplash
Invisibility
Invisibility
WP CLI, GraphQL, REST API
https://github.com/pristas-peter/wp-graphql-gutenberg
WPGraphQL Gutenberg Plugin
Midjourney Prompt: A graphical representation of a contract
Contracts
Contracts
Contracts
Registries in WP are Contracts
Midjourney Prompt: a posed studio photograph of a blob
Data Blob
Non-Core, Custom Block Library
ACF -> Headless
Photo by Joshua Earle on Unsplash
success!
Mecum.com
Mecum Architecture
Block Bridge
Photo by Sung Shin on Unsplash
Data Bridge
Mecum Architecture
Salesforce Blocks
Content Slots
Dual Saving - Programmatic and Editorial
Event Trigger Webhook
Data Mapping
Programmatic Block Creation
A Fews Gaps
Editorial Experience
GraphQL Field
Switch Statement
Block Processes Functions
Native Component
End User Experience
Carmine Colicino & John Jeeves
The Mecum Team
Midjourney Prompt: data moving quickly through cables neoncolor 8k
new
opportunities
Block Bridge
Photo by Sung Shin on Unsplash
MAY
JUN
JUL
AUG 2023
Recent Developments
Photo by Volodymyr Hryshchenko on Unsplash
Rewind
block.json
√
Dual Registration
Photo by Isabella Fischer on Unsplash
block.json
Turning the Lights On
React-Gutenberg Bridge
https://github.com/wpengine/wp-graphql-content-blocks
WPGraphQL Content Blocks
Mapping
5
Blocks NPM Package
https://faustjs.org/
https://github.com/Automattic/vip-block-data-api
/wp-json/vip-block-data-api/v1/posts/2/blocks
✔
✘
✘
Blocks via Rest API
https://headstartwp.10up.com
10up Headless Starter Kit
https://hello.humanmade.com/hubfs/White%20Papers/The%20Human%20Made%20Guide%20to%20Headless%20WordPress.pdf
GraphQL Rest API
Photo by James Allen on Unsplash
Remaining Tension
Photo by Jesper Aggergaard on Unsplash
Changing Environment
Midjourney Prompt: minority report interactive screen
Dynamic Blocks
Individual block IDs
PUT method - create blocks
Pre-config payload
Theme.json
Shared Components
SEO fields
Future Direction
Photo by Tandem X Visuals on Unsplash
Block Protocol
Further Forward
Photo by Gl Co on Unsplash
Huge Progress & Remaining Challenges
Photo by hani Pirzadian on Unsplash
TUX
Total User Experience
“ It’s rapidly becoming much easier to
implement a bridge from the Block Editor to
headless applications.
Anything other than the Block Editor for
headless projects is a compromise too far.
~ Sean Blakeley
Photo by ANIRUDH on Unsplash
WordPress Defacto Visual Headless CMS
Thank
You!
sean.work/wcus2023

More Related Content

What's hot

The Ultimate Investor Pitch Deck Template
The Ultimate Investor Pitch Deck TemplateThe Ultimate Investor Pitch Deck Template
The Ultimate Investor Pitch Deck TemplateCrowdfunder
 
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund Raising
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund RaisingPitch Deck-Format-NinzaBiz.com | investment Deck for Fund Raising
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund RaisingShibam Sarbswa 🚀
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python MeetupAreski Belaid
 
Top Tips and Tricks for creating a Kick Ass Pitch Deck
Top Tips and Tricks for creating a Kick Ass Pitch DeckTop Tips and Tricks for creating a Kick Ass Pitch Deck
Top Tips and Tricks for creating a Kick Ass Pitch DeckEllena Ophira
 
Pitch Deck Template 3 (reading version) - BaseTemplates
Pitch Deck Template 3 (reading version) - BaseTemplatesPitch Deck Template 3 (reading version) - BaseTemplates
Pitch Deck Template 3 (reading version) - BaseTemplatesVasyl Slobodian
 
Foursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckFoursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckRami Al-Karmi
 
Y Combinator Pitch Deck Template For Startup Founders
Y Combinator Pitch Deck Template For Startup FoundersY Combinator Pitch Deck Template For Startup Founders
Y Combinator Pitch Deck Template For Startup FoundersAA BB
 
[JWAP-2] DI & Spring
[JWAP-2] DI & Spring[JWAP-2] DI & Spring
[JWAP-2] DI & SpringYoung-Ho Cho
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsHolly Schinsky
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS IntrodructionDavid Ličen
 
PSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themPSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themSérgio Rafael Siqueira
 
Lessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in ProductionLessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in ProductionPanjamapong Sermsawatsri
 
Airbnb Pitch Deck From 2008
Airbnb Pitch Deck From 2008Airbnb Pitch Deck From 2008
Airbnb Pitch Deck From 2008Ryan Gum
 
How to develop Startup Pitch Deck
How to develop Startup Pitch DeckHow to develop Startup Pitch Deck
How to develop Startup Pitch DeckKashyap Pandya
 
How to make an investor pitch deck that really works
How to make an investor pitch deck that really worksHow to make an investor pitch deck that really works
How to make an investor pitch deck that really worksDeck Rooster
 
Hims and Hers SPAC deck (October 2020)
Hims and Hers SPAC deck (October 2020)Hims and Hers SPAC deck (October 2020)
Hims and Hers SPAC deck (October 2020)IPODecks
 

What's hot (20)

The Ultimate Investor Pitch Deck Template
The Ultimate Investor Pitch Deck TemplateThe Ultimate Investor Pitch Deck Template
The Ultimate Investor Pitch Deck Template
 
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund Raising
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund RaisingPitch Deck-Format-NinzaBiz.com | investment Deck for Fund Raising
Pitch Deck-Format-NinzaBiz.com | investment Deck for Fund Raising
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python Meetup
 
Top Tips and Tricks for creating a Kick Ass Pitch Deck
Top Tips and Tricks for creating a Kick Ass Pitch DeckTop Tips and Tricks for creating a Kick Ass Pitch Deck
Top Tips and Tricks for creating a Kick Ass Pitch Deck
 
Pitch Deck Template 3 (reading version) - BaseTemplates
Pitch Deck Template 3 (reading version) - BaseTemplatesPitch Deck Template 3 (reading version) - BaseTemplates
Pitch Deck Template 3 (reading version) - BaseTemplates
 
Foursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckFoursquare's 1st Pitch Deck
Foursquare's 1st Pitch Deck
 
Y Combinator Pitch Deck Template For Startup Founders
Y Combinator Pitch Deck Template For Startup FoundersY Combinator Pitch Deck Template For Startup Founders
Y Combinator Pitch Deck Template For Startup Founders
 
[JWAP-2] DI & Spring
[JWAP-2] DI & Spring[JWAP-2] DI & Spring
[JWAP-2] DI & Spring
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
 
Reactjs
ReactjsReactjs
Reactjs
 
PSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themPSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore them
 
Lessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in ProductionLessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in Production
 
Airbnb Pitch Deck From 2008
Airbnb Pitch Deck From 2008Airbnb Pitch Deck From 2008
Airbnb Pitch Deck From 2008
 
MongoDB and Node.js
MongoDB and Node.jsMongoDB and Node.js
MongoDB and Node.js
 
React for Beginners
React for BeginnersReact for Beginners
React for Beginners
 
How to develop Startup Pitch Deck
How to develop Startup Pitch DeckHow to develop Startup Pitch Deck
How to develop Startup Pitch Deck
 
NEXT.JS
NEXT.JSNEXT.JS
NEXT.JS
 
How to make an investor pitch deck that really works
How to make an investor pitch deck that really worksHow to make an investor pitch deck that really works
How to make an investor pitch deck that really works
 
Hims and Hers SPAC deck (October 2020)
Hims and Hers SPAC deck (October 2020)Hims and Hers SPAC deck (October 2020)
Hims and Hers SPAC deck (October 2020)
 

Similar to The Headless Block Editor

O łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.jsO łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.jsThe Software House
 
New Ranking Metrics by Google
New Ranking Metrics by GoogleNew Ranking Metrics by Google
New Ranking Metrics by GooglePhil Marx
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfWP Engine
 
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...Learnosity
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitWittawas Wisarnkanchana
 
Building Flexible SharePoint Solutions with AngularJS
Building Flexible SharePoint Solutions with AngularJSBuilding Flexible SharePoint Solutions with AngularJS
Building Flexible SharePoint Solutions with AngularJSbgerman
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018Bastian Grimm
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in SalesforceJitendra Zaa
 
Gradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build timesGradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build timesRene Gröschke
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkRajitha Pathiraja
 
React native - under the bridge - react week NYC
React native - under the bridge - react week NYCReact native - under the bridge - react week NYC
React native - under the bridge - react week NYCChen Feldman
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-designKevin Conboy
 
Decoupled drupal + vue.js
Decoupled drupal + vue.jsDecoupled drupal + vue.js
Decoupled drupal + vue.jsEugene Vozniuk
 

Similar to The Headless Block Editor (20)

O łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.jsO łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.js
 
New Ranking Metrics by Google
New Ranking Metrics by GoogleNew Ranking Metrics by Google
New Ranking Metrics by Google
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdf
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
 
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...
Educate 2017: Quick 'n Lazy: How we keep things speedy while staying out of y...
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkit
 
Building Flexible SharePoint Solutions with AngularJS
Building Flexible SharePoint Solutions with AngularJSBuilding Flexible SharePoint Solutions with AngularJS
Building Flexible SharePoint Solutions with AngularJS
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in Salesforce
 
Gradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build timesGradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build times
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
React native - under the bridge - react week NYC
React native - under the bridge - react week NYCReact native - under the bridge - react week NYC
React native - under the bridge - react week NYC
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
IVY: an overview
IVY: an overviewIVY: an overview
IVY: an overview
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
 
Angular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptxAngular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptx
 
Decoupled drupal + vue.js
Decoupled drupal + vue.jsDecoupled drupal + vue.js
Decoupled drupal + vue.js
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

The Headless Block Editor

Editor's Notes

  1. Welcome to The Headless Block Editor
  2. It’s rapidly becoming much easier to implement a bridge from the Block Editor to headless applications. Anything other than the Block Editor for headless projects is a compromise too far. Journey together - see if it rings true.
  3. What, Why, How Fly over the what quick look at the why Dive in bit deeper into challenges & how
  4. Sean Blakeley Americaneagle.com 800-strong consultancy Enterprise WP
  5. Briefly remind ours Pre-Gutenberg = TinyMCE editor Learn shortcodes Gutenberg removes limitations
  6. Visual CMS Flexible Control Gold standard If you’re creating a headless app - Gutenberg gold standard
  7. Alternative Non-Visual Editor Abstract Not obvious consequences Structured data Poor content creation Friction Indicative of non-WordPress CMS experiences
  8. Why Gutenberg? Core Visual Intuitive Avoid abstract inputs Enriched UX
  9. Headless WP Replace PHP templating
  10. Total cost of ownership High development & maintenance costs No plugin-and-play
  11. Compelling why Scalable Secure by design Portable Integrations
  12. bring together - why? Simple: Best both worlds
  13. Best opportunity for success Headless Gutenberg Potential Gold Standard Engineer: Technology Freedom Content Creators: Drag-and-Drop editing End User: Usability This is really important because it
  14. Maximise the chances of client achieves true success - Make our agencies successful Make partnerships strong Holistic whole Measured by True success is: Delivery Adoption Usage
  15. Only achieve that by considering whole picture Consider all needs TUX Total user experience That’s why block editor into headless is gold standard
  16. We have a number of challenges & approaches
  17. Essence of idea Blocks Bridge Frontend Application (native) – Deceptively simple
  18. Heavy lift - why?
  19. Until very recently, 2 options: Static HTML GraphQL
  20. Static HTML 1 big string Expose via GraphQL or Rest API Display into a frontend Parsed Link components (otherwise hard refresh) Point links to app not backend No benefit of React components (Next Image)
  21. Good Easy flexible Bad Only static HTML unpredictable HTML data-attributes as an API Performance due to parsing and mapping
  22. WP GraphQL Gutenberg Plugin Pluck out exactly what want
  23. GraphQL Declarative Reponse shaped by requestor Single endpoint Avoids over-fetching API Implicit Defined by server Blog JSON
  24. WP GraphQL Gutenberg Plugin Exposed a new field BlocksJSON One blob - structured data
  25. Great Gave us access to blocks Bad Only global blocks Partial attributes Not scalable No schema 13m
  26. big challenges On your own
  27. Gutenberg is invisible
  28. Gutenberg Client Side CLI, API & GraphQL know nothing WordPress doesn’t know
  29. Used WP GraphQL Plugin Opens iframe Reads JavaScript registry Only blocks exposed to generic page Does not scale to complex blocks Saves in options table - now available server side
  30. Contracts Accepted set of rules and structure A schema Currently lacking Lack current notion of meta blocks and definitive structure Relationships are tricky Particularly what relationships CAN exist
  31. WP registries CPT and taxonomies = Contract Plugins can interact, API etc - clear rules Gutenberg not adhere to this pattern
  32. One big data lump Lots of parsing to deconstruct, sanitize and map So far, all data exposure Mapping to frontend Take our blob Parse it Pattern match Extract HTML data-attributes Reconstruct and distribute frontend components Recreate the parse_blocks() function on frontend
  33. Changes to core block structure Going to break mapping Pattern matching Update frontend Avoid changes by avoiding core Create custom blocks Easier support Miss core enhancements
  34. Enough issues drive away from Gutenberg completely ACF-driven
  35. In spite of challenges, Still seen huge success 17:15 min
  36. Mecum Powered by Gutenberg Innovative usage auctions Headless WordPress 120m views 250k lots 8m digital assets
  37. Salesforce push WP >>> WP push into frontend app Salesforce -> Gutenberg Lot data Share programmatic and editorial content
  38. Custom Mecum block Bridge Data going the other way into the application
  39. Data coming in Salesforce → into Gutenberg Slow down
  40. Content Slots
  41. Dual saving Data feed Gutenberg blocks Create content in slot Update arretary field See change in Gutenberg See change in frontend app
  42. Salesforce to WP
  43. Sales data pulled into mapping See class call for core blocks mapped into PHP
  44. Server side map Programmatic block generation across almost all blocks Programmatically insert data into and render a block
  45. Have to mindful of gaps Dynamic blocks Some attributes Youtube embed
  46. All Gutenberg - with content slots No editorial input Automated generation – – Half our journey
  47. Exposed via GraphQL Only option, WPGraphQL Gutenberg
  48. Frontend application Switch statement pivoting on name
  49. Fairly heavy sanitisation and processing in molecule Lot of heavy lifting
  50. Generating a native component Beauty of 1-2-1 mapping Support block patterns Collections of native components
  51. Final output Entirely automated from end to end Ability to further enrich with content No interaction required - all automated Further enrichment
  52. Shout out 27m
  53. Projects like Mecum huge success helped accelerate change New opportunities
  54. Standardised Block Bridge becoming possible An end-to-end solution
  55. Advances in just last few weeks and months
  56. Rewind Just over 2 years ago
  57. Block.json address Born out of way to add Block Directory, become source of truth
  58. special metafile Dual registration Backend and frontend Attributes Source of truth Shared PHP & JS Even add to previously client side only blocks
  59. Block.json is like turning the lights on - now we can see blocks
  60. End-to-end opinionated solution 2 parts 1/ WPGraphQL Content blocks GraphQL extension 2/ @faustwp/blocks package Connector facilitate set-up render blocks
  61. WPGraphQL Content Blocks Exposes blocks as GraphQL Types Self-documented schema new field added in the Post and Page models called editorBlocks get blocks encapsulated to that post type Issue of nested blocks - flat Temporarily assigns a unique id to rebuild hierarchy
  62. @faustwp/blocks - npm package Currently single wrapper component - renders blocks Opinionated way to discover and display blocks Includes flatListToHierarchical() function rebuild inner blocks Nice smart fallback to rendered HTML
  63. WPE - open source Fold into large offering Previews Template hierarchy
  64. VIP Block Data API Extends existing endpoints with /blocks extension 32m
  65. Available for any site Opt in option within VIP MU Plugins folder Discrete, clear attributes ‘Inner blocks’ more naturally, nested Json Potentially more problematic to map Big blog Narrow down to individual types of blocks Only block content - not rest of site Issue for static regeneration Focused on app routing where components pull data in directly?
  66. 10up Headless https://headstartwp.10up.com/docs/learn/gutenberg/rendering-blocks/ Pre-built core block support Only Supports Rest API Thin layer on top Next.js Opt-in way of selection components to be rendered as native components
  67. Human Made Suggest hybrid Rest API & GraphQL Use both in same project?
  68. We haven’t removed all challenges Huge progress Tension & challenges remain: Core & Rest API is not primarily focused on headless sites WPGraphQL is not part of core - not focus for core team
  69. Things are changing quickly Reduce: Time to value Entry bar Time and investment complexity Potential Reusable community supported bridge and mapping
  70. Dynamic Blocks interactivity API? Individual block IDs PUT - create blocks Pre-configure payload Theme.json bridge for styles? Shared Styles, Queries - Components 37m
  71. Project further forward Standardisation of blocks Blocks protocol underlying Block builders just opinionated implementations Standardise the output for ingestion for all manor of services built in predictable ways to Post types and taxonomy registries More robust registry and a single source of truth
  72. Still huge challenges But huge advances
  73. Continue focus on TUX Holistic whole
  74. Really starts to ring true Block Bridge - It’s easier, not easy rapidly becoming easier Maybe ANYTHING is too strong, But the resistance should be reducing Enterprise-level content teams Non-Gutenberg is too big a sacrifice
  75. Irrespective, WordPress opportunity defacto Visual CMS for headless applications Which means headless will remain Open Source Enabling WordPress continue huge positive impact on the tech world and beyond
  76. Thank You
  77. Resources