WordPress 7.0 Product Review Meeting
๐ **Source:** [WordPress 7.0 Product Review Meeting](https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s)
> [!note]+ Document Notes
> tags: [wordpress, product-development, collaboration]
> author: WordPress Core Team
> source: YouTube
> reference: https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s
> date created: 2024-12-19 14:30
>
> # ๐ท๏ธ Title: WordPress 7.0 Product Review Meeting
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Bundle AI providers in core with visible UI โ avoid hidden features until plugins installed #ai #ux
- [H2] Implement "On This Day" dashboard widget โ merge Scott Riley's existing code #dashboard #widgets
- [H3] Add both user icons to collaboration cursors โ improve multi-user clarity #collaboration #ui
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [WordPress 7.0 Development](https://make.wordpress.org/)
- [YJS Collaboration Framework](https://docs.yjs.dev/)
## ๐ Summary
- WordPress 7.0 product review meeting covering major features in development
- Real-time collaboration is the flagship feature, working across all WordPress hosts
- AI integration planned but needs better user experience and default providers
- Admin UI improvements are minimal but include view transitions and modern color scheme
- Several planned features like dashboard widgets didn't receive contributions
## ๐ Main Content
This product review meeting for WordPress 7.0 demonstrates a major shift toward collaborative editing and AI integration. The real-time collaboration feature uses YJS framework with HTTP polling transport to work on any WordPress host without additional dependencies. The AI client provides a foundational API for plugins to interact with various LLM providers without vendor lock-in.
Key concerns raised include security implications of collaboration (privilege escalation risks), the need for visible AI features out-of-the-box rather than hidden until plugins are installed, and the minimal visual updates to the admin interface. The team is targeting WordCamp Asia for release but may need additional time for polish.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/F-xMPY9WqG4?t=0) โ [H1] WordPress 7.0 as major milestone
- Key idea: 7.0 represents opportunity for "new thing" perception with AI and collaboration
- Evidence: "WordPress 7 is now a thing... very fortuitous timing with all the AI stuff"
#### โฑ๏ธ [05:30](https://youtu.be/F-xMPY9WqG4?t=330) โ [H2] Real-time collaboration replaces post locking
- Key idea: Two users can now edit simultaneously instead of being locked out
- Evidence: "Previously you would get that notice... now you don't kick the other person out"
#### โฑ๏ธ [12:15](https://youtu.be/F-xMPY9WqG4?t=735) โ [H3] HTTP polling enables universal host compatibility
- Key idea: Collaboration works on any WordPress host using basic HTTP polling
- Evidence: "Should work on any WordPress host... lowest common denominator"
#### โฑ๏ธ [18:45](https://youtu.be/F-xMPY9WqG4?t=1125) โ [H2] Security concerns with privilege mixing
- Key idea: Lower privilege users could inject malicious content when higher privilege users save
- Evidence: "They sneak in and insert custom HTML block with malicious JavaScript"
#### โฑ๏ธ [25:20](https://youtu.be/F-xMPY9WqG4?t=1520) โ [H3] Visual revisions integrated into editor
- Key idea: Revisions now display inline visually rather than separate screen
- Evidence: "Revisions happen in line and visually inside the editor"
#### โฑ๏ธ [32:10](https://youtu.be/F-xMPY9WqG4?t=1930) โ [H2] Presence could extend beyond editor
- Key idea: User presence tracking could work across entire WordPress admin
- Evidence: "See who else is also there... what's your bot up to?"
#### โฑ๏ธ [38:30](https://youtu.be/F-xMPY9WqG4?t=2310) โ [H3] Admin UI changes are minimal
- Key idea: Visual updates don't meet expectations for major version redesign
- Evidence: "Not what I would expect when we say WordPress this is a new visual"
#### โฑ๏ธ [45:15](https://youtu.be/F-xMPY9WqG4?t=2715) โ [H2] PHP-only block registration bridges developers
- Key idea: Allows PHP developers to create rich blocks without JavaScript
- Evidence: "Write blocks just in PHP... for folks not comfortable with JavaScript"
#### โฑ๏ธ [52:40](https://youtu.be/F-xMPY9WqG4?t=3160) โ [H1] AI client provides foundational API
- Key idea: Core API layer prevents plugin fragmentation and vendor lock-in
- Evidence: "Users don't have to have subscriptions with eight different providers"
#### โฑ๏ธ [58:20](https://youtu.be/F-xMPY9WqG4?t=3500) โ [H2] AI features need visible default experience
- Key idea: Users shouldn't need multiple setup steps to see AI functionality
- Evidence: "Cool new feature but you have to do 10 steps to enable anything"
#### โฑ๏ธ [65:10](https://youtu.be/F-xMPY9WqG4?t=3910) โ [H3] Dashboard widgets need contribution
- Key idea: Many planned widgets like "On This Day" didn't receive developer contributions
- Evidence: "Lot of excitement on that one and it didn't get picked up at all"
## ๐ References
- [YJS Collaborative Editing](https://docs.yjs.dev/)
- [WordPress 7.0 Development Updates](https://make.wordpress.org/core/)
- [Real-time Collaboration Research](https://make.wordpress.org/core/2024/01/15/collaboration-research/)
## ๐ฃ๏ธ Paraphrase
- WordPress 7.0 introduces real-time collaborative editing that replaces the old post-locking system, allowing multiple users to edit simultaneously using YJS framework with HTTP polling for universal host compatibility
- An AI client API provides a foundational layer for plugins to interact with various LLM providers without vendor lock-in, though it needs better out-of-the-box user experience with bundled providers
- Admin interface improvements are minimal with mainly view transitions and color scheme updates, falling short of expectations for a major version visual refresh
## ๐ฐ Newsletter
WordPress 7.0 is shaping up to be a landmark release! The standout feature is real-time collaborative editing - imagine being able to edit posts simultaneously with team members, seeing their cursors move in real-time. No more "this post is locked" messages!
The collaboration feature works on any WordPress host using smart HTTP polling, making it universally compatible. Plus, there's visual revision history right in the editor and an AI client API that lets plugins work with any AI provider you choose.
While the admin interface updates are modest, the collaboration and AI foundations open exciting possibilities for agencies, newsrooms, and anyone working with teams.
Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/)
## โ
Action Items
#### WordPress
- Core: Implement user icon display for both collaborators in real-time editing sessions
- Core: Bundle AI providers (OpenAI, Anthropic, Google) in core with visible UI by default
- Core: Add "On This Day" dashboard widget using Scott Riley's existing plugin code
- Core: Improve admin interface with rounded corners, shadows, and modern button styles
- Core: Create plugin category and directory specifically for dashboard widgets
- Core: Address security concerns around privilege escalation in collaboration sessions
- Core: Implement comparison view for revisions beyond linear navigation
- Core: Add sparkline visualization for revision changes intensity
- Core: Create plugin compatibility documentation for metabox integration with collaboration
- Core: Design upgrade flow showcasing new 7.0 features interactively
- Core: Extend presence indicators beyond editor to full WordPress admin
- Core: Create configuration option for collaboration user limits in wp-config
- Core: Implement filter system for plugin compatibility with collaboration features
## ๐งช Hypotheses
- Real-time collaboration will significantly reduce workflow friction for teams editing WordPress content
- Universal host compatibility through HTTP polling will drive higher adoption than websocket-only solutions
- AI client API will prevent plugin ecosystem fragmentation around LLM integrations
- Bundling default AI providers will increase feature discovery and usage compared to plugin-only approach
### ๐ Methodology
- A/B testing collaboration feature with and without both user icons displayed
- Performance monitoring of HTTP polling vs websocket transports across different hosting environments
- User journey analysis from WordPress 7.0 upgrade to first AI feature usage
- Plugin compatibility auditing for metabox interactions with collaboration
### โ Questions
- How will collaboration handle conflicts when users edit the same content simultaneously?
- What performance impact will HTTP polling have on shared hosting environments?
- How will AI client API pricing and rate limiting be handled across different providers?
### ๐ฎ Future Research
- Cross-plugin collaboration state synchronization beyond post editing
- AI agent presence and collaboration with human users
- Real-time collaboration for theme and plugin development workflows
### ๐ก Implications
- Practice: Development teams need collaboration security protocols for mixed-privilege editing
- Policy: Hosting providers may need new resource allocation strategies for polling overhead
- Security: Capability-based access controls require reevaluation with real-time collaboration
- Education: Documentation needed for plugin developers integrating with collaboration APIs
- Funding: AI provider costs need sustainable funding models for core WordPress features
### ๐ง Learning Styles Assessment
Reading level estimate: Grade 12
#### ๐ Visual learners
- Present: Screen sharing demonstrations, UI mockups, real-time cursor visualization
- Improve: Architecture diagrams showing collaboration data flow and AI client structure
#### ๐ Aural learners
- Present: Live discussion and verbal explanations of features
- Improve: Audio summary of key decisions and feature explanations
#### ๐ฃ๏ธ Verbal learners
- Present: Technical terminology explained, analogies to existing WordPress features
- Improve: Glossary of new terms like YJS, HTTP polling, LLM providers
#### ๐งฉ Kinesthetic learners
- Present: Live demonstration of collaboration features in development environment
- Improve: Step-by-step setup guides for AI client and collaboration features
#### ๐ง Logical learners
- Present: Technical architecture decisions, security considerations, performance tradeoffs
- Improve: Decision trees for host compatibility and feature configuration
#### ๐งโ๐คโ๐ง Social learners
- Present: Collaborative meeting format with multiple stakeholders
- Improve: Community feedback integration and contribution coordination
#### ๐งโโ๏ธ Solitary learners
- Present: Individual analysis of feature specifications and requirements
- Improve: Self-paced exploration tools for new features
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking around plugin compatibility and community impact
- Improve: Sustainability considerations for resource usage and hosting impact
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Meeting format with clear speaker identification
- Improve: Visual demonstration descriptions for screen readers
#### Keyboard navigation
- Present: Focus on functionality over visual demonstrations
- Improve: Ensure new collaboration UI supports full keyboard navigation
#### Contrast and readability
- Present: Discussion of color scheme changes and modern design
- Improve: Specific contrast ratio testing for new admin interface
#### Text resizing and reflow
- Present: Responsive design considerations mentioned
- Improve: Test collaboration UI at various zoom levels
#### Media and captions
- Present: Video meeting format
- Improve: Transcript available, closed captions for recorded version
#### Forms and interactions
- Present: Discussion of AI client configuration screens
- Improve: Ensure API key entry forms meet accessibility standards
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Global team participating in meeting across time zones
- Improve: Consider international hosting provider compatibility
#### Inclusive language
- Present: Technical discussion uses generally neutral terminology
- Improve: Avoid assumptions about user technical expertise levels
#### Neurodiversity support
- Present: Clear agenda structure and sequential feature discussion
- Improve: Provide written summary of decisions and action items
#### Representation
- Present: Multiple voices and perspectives in technical discussion
- Improve: Ensure diverse testing groups for new features
#### Psychological safety
- Present: Open discussion of concerns and criticism
- Improve: Clear escalation paths for security and privacy concerns
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Technical architecture decisions follow from hosting compatibility requirements
- Inductive strength: User feedback patterns inform feature prioritization decisions
- Causal reasoning: Collaboration features directly address post-locking user pain points
- Analogical strength: AI client API compared to existing WordPress tools and themes patterns
#### Fallacies
- Appeal to novelty: Assumption that WordPress 7.0 needs AI features to avoid "WordPress is dead" criticism
- False dilemma: Either bundle AI providers in core or hide features completely
#### Tone of voice
- Overall tone: Collaborative and technical with constructive criticism and practical problem-solving focus
### ๐ก๏ธ DARVO Analysis
- Deny: No denial patterns detected
- Attack: No attacking behavior observed
- Reverse victim/offender: No victim/offender role reversals present
- Emotional cues and rhetoric: Professional technical discussion with appropriate concern-raising
## ๐ฏ Conclusion
WordPress 7.0 represents a significant evolution with real-time collaboration as its flagship feature, addressing long-standing workflow pain points. The AI client API provides necessary infrastructure for future innovation while avoiding vendor lock-in. However, the release needs better out-of-the-box user experience for AI features and more substantial visual improvements to meet major version expectations. Success will depend on seamless host compatibility and clear user onboarding for new collaborative workflows.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
Purpose: Stage CEE units that become Literature notes.
Split level: H3
### [H1] Real-time collaboration eliminates post locking
> [!quote] [WordPress 7.0 Product Review Meeting](https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s) by [[WordPress Core Team]] via [[YouTube]]. Published 2024. Accessed 2024-12-19.
> "Previously you would get that notice... now you don't kick the other person out."
Replaces WordPress post locking system with simultaneous editing using YJS framework and HTTP polling for universal host compatibility.
[view highlight](https://youtu.be/F-xMPY9WqG4?t=330#H1) #xref #articleseed ID:rw_wp70_collab
### [H2] AI client prevents plugin ecosystem fragmentation
> [!quote] [WordPress 7.0 Product Review Meeting](https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s)
> "Users don't have to have subscriptions with eight different providers."
Foundational API layer allows plugins to work with any LLM provider, avoiding vendor lock-in and reducing user complexity.
[view highlight](https://youtu.be/F-xMPY9WqG4?t=3160#H2) #xref ID:rw_wp70_ai
---
### ๐ Atomic Split Pad (Zettel Candidates)
Purpose: Promote reusable claims into Atomic notes.
Split level: H4
#### [Z1] HTTP polling enables universal collaboration compatibility
- Works on any WordPress host without additional server dependencies or configurations
- Timestamp: 12:15 - HTTP transport discussion
- Links: [[WordPress-Hosting]] [[Real-time-Collaboration]]
#### [Z2] Privilege
---
## Full Transcript
[16:00] Bit quiet here, isn't it?<br>[16:08] >> Hi Paul. It's been a couple months.<br>[16:11] >> It has. It has. Hope everyone's enjoying<br>[16:14] the winter. Those who are south north of<br>[16:19] the equator.<br>[16:20] >> Yeah.<br>[16:22] Well, I'm due south of where I last saw<br>[16:23] you in Ottawa.<br>[16:25] >> Yeah. Yeah. Decent snow this year. It's<br>[16:29] been fun.<br>[16:31] Some people might not agree with me, but<br>[16:33] I like snow.<br>[16:34] >> Canadians have a weird idea of fun.<br>[16:37] Or<br>[16:37] >> if you're going to live somewhere where<br>[16:39] it snows, you got to enjoy it.<br>[16:42] >> Otherwise,<br>[16:43] move.<br>[16:50] agree to disagree vehemently.<br>[16:55] >> Let's pick fights with Canadians.<br>[16:56] They're they're known for their<br>[17:00] >> Was it elbows out<br>[17:04] >> or something like that?<br>[17:06] >> Yeah. My winter sport maintaining<br>[17:09] maintaining the ice rink.<br>[17:13] >> Hello<br>[17:19] Good to see you. Good to see you, too.<br>[17:30] Well, let's I know just to be efficient<br>[17:32] with time and I think we're are we<br>[17:35] recording this?<br>[17:39] We should be, right? Weren't we going to<br>[17:41] post this?<br>[17:42] >> I think so. I don't I don't see<br>[17:45] >> it's being said when it come<br>[17:47] >> it's being recorded.<br>[17:49] >> Oh, cool. So, the video is being<br>[17:51] recorded and everything. Perfect. So, um<br>[17:55] all right. Uh<br>[17:59] let's uh get this out. I'm very excited.<br>[18:01] Again, 7.0 I think is a chance. I know<br>[18:05] it just after 6.9 etc., like we can't<br>[18:10] pretend that people won't think, oh,<br>[18:12] WordPress 7 is now a thing. And it's<br>[18:15] like very fortuitous timing, you know,<br>[18:18] with all the AI stuff that's happening,<br>[18:20] all the things we're able to land. I<br>[18:22] think um even if we need to take a<br>[18:25] little longer, it's worth making this a<br>[18:28] release where we say people will upgrade<br>[18:30] and be like, "Oh, I've got a new thing."<br>[18:33] Um this is a more modern WordPress.<br>[18:36] there's something that uh really feels<br>[18:39] like a bit different. So, um looking<br>[18:42] forward to seeing what's uh in there so<br>[18:44] far and and we've had some discussions<br>[18:46] on P2s and stuff with the connector<br>[18:48] stuff and AI. So, hopefully we can hash<br>[18:51] some of that out on this call as well.<br>[18:57] >> Sounds great. Um<br>[19:01] and do you mind sharing your screen?<br>[19:04] Cool. Yeah. So I think I think we should<br>[19:07] >> first walk through all the things we aim<br>[19:11] for in 70 from the conversation we had<br>[19:14] back in December was it? Yeah. um and<br>[19:19] take a look at like a high level view of<br>[19:21] what are the things that uh got done,<br>[19:24] what are the things that are halfway<br>[19:25] there um and the things that were left<br>[19:27] out and then see from the hopefully from<br>[19:31] the conversations that were happening<br>[19:32] especially around the AI client and the<br>[19:35] connectors what we want to do and if we<br>[19:39] need to push anything further what it<br>[19:41] means for if we have a hard deadline or<br>[19:44] not for the release with work campasia<br>[19:47] if that's still the the case Matt in<br>[19:49] your mind um or if we have some wiggle<br>[19:52] room there to to adjust if we need to.<br>[19:55] Um so<br>[19:56] >> I I'll also say that this this meeting<br>[19:58] is designed for me to give feedback and<br>[20:00] some direction and everything, but<br>[20:02] anyone else who wants to jump in uh if<br>[20:04] they have some commentary on a screen<br>[20:06] we're seeing or or think that something<br>[20:08] should be different uh please just uh<br>[20:11] unmute, jump in. Uh looking for good<br>[20:14] ideas from everywhere. So<br>[20:16] >> yes.<br>[20:18] Uh okay. So we're going to be doing this<br>[20:20] in an actual real real time<br>[20:23] collaboration session. We'll see how it<br>[20:24] goes. So you should see my face there.<br>[20:28] Uh this is an has loaded the post and<br>[20:31] I'm there. So the the main areas we had<br>[20:34] for this release was collaboration,<br>[20:37] admin,<br>[20:39] APIs,<br>[20:43] navigation<br>[20:45] block,<br>[20:48] customization<br>[20:56] blocks, and then<br>[20:59] find and media. Yeah,<br>[21:02] it was pretty ambitious. I think like a<br>[21:05] few things were left out, but there was<br>[21:07] a lot that got done as well. I think<br>[21:10] there's a lot of super cool features,<br>[21:12] both major and small ones. There's a lot<br>[21:16] of issues that have been sitting there<br>[21:18] in either the Gutenber repo or track for<br>[21:21] ages, and had a lot of user requests.<br>[21:23] They might seem very minor, like for<br>[21:24] example, background embeds, like being<br>[21:27] able to embed a YouTube video on a cover<br>[21:29] blog had a lot of user requests. Um,<br>[21:32] stuff like that. There was a lot of<br>[21:33] those minor things that I think um come<br>[21:35] from real user requests. Um, or the icon<br>[21:39] block that had I think was one of the<br>[21:41] most popular issues in the repository.<br>[21:44] But if you go all the way up and to<br>[21:46] collaboration,<br>[21:50] I think this one is in pretty good<br>[21:53] place. Um, we figure out a way to make<br>[21:55] it work out of the box uh with HTTP<br>[21:59] transport. Um, it's uh I think the the<br>[22:02] plan is to constrain it to two users at<br>[22:05] the same time um as the default and then<br>[22:09] in different hosts and so on it can be<br>[22:11] expanded further. Um,<br>[22:14] >> we're using it currently for this demo.<br>[22:16] So,<br>[22:16] >> yes.<br>[22:17] >> Okay. So, from a from a user point of<br>[22:19] view, I'm on a random GoDaddy or Blue<br>[22:21] Host account like upgrade to WordPress<br>[22:24] 7. What is going to be unlocked from a<br>[22:27] collaboration point of view and how do I<br>[22:29] access that? Let me let me see that<br>[22:31] flow.<br>[22:32] >> Yeah. So if you open any post at the<br>[22:36] same time um if there are two users on<br>[22:38] that site that open the same post you<br>[22:41] will immediately go into a collaboration<br>[22:44] session like this.<br>[22:46] >> So previously you would get that notice<br>[22:49] what was it like<br>[22:51] >> previous you want to take this over.<br>[22:53] Yeah.<br>[22:54] >> Yeah. The locked post dialogue um where<br>[22:58] you need to take over and kick the other<br>[23:00] person out. So now you don't keep the<br>[23:02] other person out. Um that actually<br>[23:05] >> as we as we show this feature what it<br>[23:08] looked like before<br>[23:09] >> and now what happens?<br>[23:11] >> Yeah, that actually got addressed<br>[23:12] already with blog notes as well because<br>[23:15] with blog notes you could load the post<br>[23:17] and and leave notes without kicking the<br>[23:19] other person out. Um so this is like the<br>[23:22] next level of that is now you can do<br>[23:25] full-on<br>[23:26] um collaboration on everything. Um,<br>[23:30] >> and everything.<br>[23:31] >> Sorry,<br>[23:32] >> I got I got a comment on the UI. I<br>[23:35] assume that your icon over the flashing<br>[23:37] cursor is that's where your cursor is,<br>[23:40] but an doesn't have an icon over the<br>[23:43] top. Um, I know<br>[23:45] >> that's I'm that's me. Yeah,<br>[23:46] >> I know because you're sharing it, but I<br>[23:48] still feel that might be nice to have<br>[23:50] the icon on both of them<br>[23:52] >> just so that it's really clear,<br>[23:54] especially when we go mult more than<br>[23:56] that.<br>[23:58] just<br>[23:59] >> well everyone if if you looked at<br>[24:00] Matias's screen you would see my icon<br>[24:02] for him but you're saying for the person<br>[24:05] writing it you want to see someone's<br>[24:07] icon<br>[24:08] >> we all that there are two that there are<br>[24:10] two people<br>[24:11] >> see my see my own icon yeah<br>[24:12] >> yes<br>[24:13] >> interesting<br>[24:14] >> I would concur with that and I think<br>[24:15] that is also what like Figma and others<br>[24:17] do so let's uh let's let's do that<br>[24:22] >> when you're in this mode obviously like<br>[24:23] if you're just the only person editing<br>[24:25] something that would be kind of weird<br>[24:27] >> visual clutter,<br>[24:28] >> but um as soon as like it starts to be a<br>[24:30] two people in something um yes, let's<br>[24:33] show your icon by your cursor.<br>[24:36] >> Uh would we then also put this both<br>[24:39] icons up next to the um the post title<br>[24:43] at the top where<br>[24:45] the other in the to in the toolbar at<br>[24:47] the top? Yeah, there. Should we show<br>[24:49] both at the top as well or only?<br>[24:53] Um, yeah, maybe there's some UI we need<br>[24:57] to think about up there. See who's<br>[25:01] >> Yeah,<br>[25:01] >> it's show everyone in there. Yeah,<br>[25:03] that's great feedback.<br>[25:05] >> Yeah, Le, I don't know if you're there,<br>[25:06] but I think that that<br>[25:08] >> show that<br>[25:09] >> done in design. I'm curious if the<br>[25:12] >> I I think uh yeah, David Bowman was<br>[25:15] playing with that and a PR. So, that's<br>[25:17] it's a trivial thing to change. We can<br>[25:19] definitely<br>[25:20] >> play around with that a little bit, but<br>[25:22] uh I can see why you would want both.<br>[25:24] For sure.<br>[25:25] >> Yeah. Yeah.<br>[25:26] >> Yeah. And if you add more people, the<br>[25:28] the icons stuck right there at the top.<br>[25:31] So,<br>[25:31] >> Yep.<br>[25:31] >> Yeah.<br>[25:35] >> Um the other thing,<br>[25:36] >> what happens when you click on the<br>[25:38] person? Like if I were<br>[25:40] >> to follow them, you click on<br>[25:41] >> I think that's I think that's not<br>[25:43] implemented, right? At at the moment,<br>[25:45] it'll just scroll to their position in<br>[25:47] the document.<br>[25:48] >> Yeah.<br>[25:50] >> Um, that's okay.<br>[25:52] >> I think that's good. Uh,<br>[25:54] >> let's see. Let let me move below.<br>[25:57] Let me move my cursor. Okay.<br>[26:01] >> Now, how does this interact with the<br>[26:02] revision system? So<br>[26:06] >> is there is does has a revision become<br>[26:08] like as a checkpoint where we save it<br>[26:11] and that becomes like a revision or are<br>[26:13] revisions being created constantly?<br>[26:15] >> Yes. So that's a great segue because we<br>[26:18] also work on the visual revisions a bit.<br>[26:21] So if you open them and there I don't<br>[26:24] know if you have it.<br>[26:26] >> Can we open the revisions?<br>[26:28] >> Yes.<br>[26:31] Yeah. So now the revisions happen in<br>[26:34] line and visually<br>[26:39] in the<br>[26:40] >> in inside the editor.<br>[26:42] >> Um<br>[26:42] >> that's better. Yeah.<br>[26:45] >> One of the things we talked about is<br>[26:46] also having improving like authors of<br>[26:48] multiple people. That's another<br>[26:50] enhancement is being able to see that<br>[26:51] you have collaborators which becomes<br>[26:53] tricky with how<br>[26:54] >> the current WordPress revisions works.<br>[26:56] Well, I mean, we don't like WordPress<br>[26:58] doesn't say multiple authors, but each<br>[27:00] revision does have an author. So, you<br>[27:03] can end up in places where multiple<br>[27:05] revisions were done by multiple authors.<br>[27:07] So, you can list them all there on the<br>[27:09] right, show all the authors. Um.<br>[27:12] >> Mhm.<br>[27:12] >> One thing we want to try that I think<br>[27:14] would be cool is um know the the feature<br>[27:18] that YouTube has when you scrub the seek<br>[27:20] bar and it shows you like the most uh so<br>[27:23] to because right now the revisions is<br>[27:25] like they all look the same but maybe<br>[27:27] one of the revisions had like a ton of<br>[27:29] changes. So try to signal that back and<br>[27:31] I think it could be like a cool sort of<br>[27:33] like a spark line there behind the the<br>[27:37] slider. And I think that could be cool<br>[27:39] to try. uh we can try during the the<br>[27:42] beta period.<br>[27:44] >> Um that's good. I think also the ability<br>[27:48] to compare something to something else<br>[27:51] versus just being linear is important.<br>[27:54] >> Yes.<br>[27:56] Yes.<br>[27:57] >> Good point.<br>[27:57] >> There's there's some UI conventions for<br>[27:59] that and like GitHub and stuff like that<br>[28:00] that we can probably just follow and<br>[28:02] copy.<br>[28:04] >> Yeah.<br>[28:07] >> Is there a code view of this as well?<br>[28:10] You can open a classic revision screen<br>[28:11] right here for every single revision.<br>[28:15] >> Let's do that. Just see what it looks<br>[28:17] like.<br>[28:22] >> The one we know and love.<br>[28:30] >> Um I would encourage us to to bring this<br>[28:33] code view as like just kind of like a<br>[28:34] flip on the visual view. It's less of<br>[28:37] like a totally different thing. But<br>[28:39] yeah.<br>[28:40] >> Yeah, agreed.<br>[28:47] >> Are we going to bring back the the<br>[28:48] Easter egg where you compare revision?<br>[28:53] >> Can we do that?<br>[28:54] >> We should. What? What does What does<br>[28:56] everyone think? Be fun.<br>[28:58] >> Now, now we're seeing the two icons<br>[29:00] there. So yeah, I think there's been<br>[29:01] some<br>[29:03] >> Yeah, I'm using a very uh this is thrown<br>[29:06] together. So I apologize if the testing<br>[29:08] environment is a little wonky. That's<br>[29:09] that's on me.<br>[29:11] >> Yeah, we're in free beta. So<br>[29:13] >> yeah, pulling together as much as we<br>[29:16] could to get it in. Yeah. So I had to I<br>[29:19] had to call it and little snapshot. So<br>[29:21] but yeah, this actually I was wondering<br>[29:22] why I wasn't showing both.<br>[29:24] >> Yeah. And so what does a host need to<br>[29:26] support for this? like is this going to<br>[29:28] work on every single random WordPress<br>[29:30] hosting account or like what to<br>[29:32] technology?<br>[29:34] >> Yeah, I think I think that's the<br>[29:35] expectation. Um we want to the idea was<br>[29:38] for the beta to make it uh opt out uh<br>[29:41] the collaboration features so that we<br>[29:44] get uh as wide a testing as possible but<br>[29:47] there were like a few discuss<br>[29:48] discussions around that. Um Lynn, do you<br>[29:51] want to talk a bit more about the um how<br>[29:53] the base HTTP transport works and the<br>[29:56] >> Yeah, so it's basic HTTP polling and the<br>[30:00] transport that we ship in core and the<br>[30:02] idea is that it should work on any<br>[30:04] WordPress host. Uh when there's a single<br>[30:06] user in the editor, it pulls at a slower<br>[30:09] interval and then once we detect another<br>[30:11] user has joined the session, we speed<br>[30:13] that up a little bit so that we get a<br>[30:16] relatively performant experience. Uh on<br>[30:19] VIP, we've been running with a<br>[30:21] websockets based transport which allows<br>[30:23] more collaborators and is even faster<br>[30:26] and will likely offer something in<br>[30:27] jetack as well. There's a a plug-in API<br>[30:30] for this where people can put in<br>[30:31] different transports if they want to,<br>[30:33] but the one in core the whole goal is<br>[30:34] for it to work on every host without<br>[30:36] installing additional dependencies.<br>[30:40] >> So is that something a host could opt to<br>[30:42] do the websocket solution um as a added<br>[30:46] feature?<br>[30:47] >> Absolutely. Absolutely. Yeah, it's a<br>[30:49] very simple hook if they want to drop in<br>[30:51] a different transport. And the whole<br>[30:53] feature is built on top of an open<br>[30:55] source framework called YJS with that<br>[30:57] has a variety of different transport<br>[30:58] examples out there if you want to build<br>[31:01] build off of something that already is<br>[31:03] >> pre-existing.<br>[31:05] >> What are the security implications of<br>[31:07] this? Because I know this is probably<br>[31:09] creating some more surface area for like<br>[31:11] leaking private drafts or other things.<br>[31:14] So like how how's that all handled?<br>[31:18] Uh, as far as the default transport<br>[31:19] goes, uh, we're kind of storing the Y.JS<br>[31:22] document alongside the post content. So,<br>[31:25] you get both of those versions of the<br>[31:27] content stored in parallel. Um, and the<br>[31:30] actual editing.<br>[31:31] >> When you say we're storing, are we<br>[31:32] putting that in the database or like<br>[31:34] local storage?<br>[31:35] >> In the MySQL database. Yeah.<br>[31:36] >> Okay.<br>[31:37] >> Um, so in that case, it's the exact same<br>[31:41] kind of security situation that you have<br>[31:42] in WordPress today. uh it's all based on<br>[31:45] the capabilities that you have to write<br>[31:47] to the post data uh in 6.9<br>[31:52] on the jetack side of things of course<br>[31:54] you're sending the content through a<br>[31:56] jetack conduit so that transport would<br>[31:58] have a different kind of like security<br>[31:59] setup and if a different host offered<br>[32:01] their own transport that would be the<br>[32:02] same situation right so it really varies<br>[32:05] depending on the transport but what we<br>[32:07] have in core in addition to having<br>[32:10] minimal dependencies from a technical<br>[32:12] standpoint point is designed to be from<br>[32:14] a security standpoint very similar to<br>[32:16] what we do today so that it's not scary<br>[32:18] for a host to deploy it<br>[32:20] >> and different web servers like Apache<br>[32:23] you know light whatever like speed they<br>[32:25] all support this<br>[32:27] >> yeah yeah it's just HTTP polling we did<br>[32:30] do some experiments with server sent<br>[32:32] events and long polling but those can be<br>[32:35] problematic in different hosting setups<br>[32:37] so that's why we avoided them so this is<br>[32:39] truly the lowest common denominator from<br>[32:41] what we can tell it should work in<br>[32:43] pretty much any environment<br>[32:45] >> and Kevin who was the creator of YJS<br>[32:48] agreed with this approach. Um he's<br>[32:50] someone who was involved in the process.<br>[32:51] So I just want to shout him out for<br>[32:53] contributing in that way. It's very<br>[32:55] helpful throughout.<br>[32:56] >> Yeah.<br>[32:57] >> Yeah.<br>[32:58] >> Yeah.<br>[32:59] >> And I think we were discussing if we<br>[33:01] make the the amount of people the amount<br>[33:05] of concurrency that we allow like a<br>[33:07] configurable thing in WP config or<br>[33:09] something similar to revisions. Um so<br>[33:12] that host can both crank that up or<br>[33:14] limit it as needed. Um because right now<br>[33:18] we don't really know like we need a bit<br>[33:20] more testing to know like because we<br>[33:22] said two is fine like maybe we've tested<br>[33:24] it with more people it seems to also be<br>[33:27] fine. Um but there might be performance<br>[33:29] issues or bottlenecks that that come up.<br>[33:31] So<br>[33:32] >> we'll definitely make that configurable<br>[33:34] with a default transport. We're just<br>[33:36] being conservative because with the<br>[33:38] polling you're using a PHP worker and<br>[33:40] that's one of the ways that hosts<br>[33:42] typically limit lowcost plans is the<br>[33:44] number of PHP workers you can run<br>[33:46] concurrently. So, we're assuming that we<br>[33:48] have a low number to work with and we're<br>[33:50] not eating up a lot of resources, but it<br>[33:53] would be trivial for you to change that<br>[33:54] number to a higher limit like Matias was<br>[33:56] saying<br>[33:59] >> and I think it may encourage the hosters<br>[34:02] to provide a a more lower a better<br>[34:05] transport which has lower overheads for<br>[34:07] them. Um, you know, the sockets and<br>[34:10] things like that the low once<br>[34:12] implemented will be more performant for<br>[34:15] the hoster. Totally.<br>[34:19] >> Yeah.<br>[34:21] >> And<br>[34:22] >> very cool. Cool. It seems really solid.<br>[34:25] >> So that's a good headline and a good<br>[34:27] anchor and we could anchor the release<br>[34:29] just on that. Very cool.<br>[34:31] >> Totally.<br>[34:32] >> Um what's been kind of the<br>[34:34] >> in kind of the usage uh what's been like<br>[34:38] user feedback? How are people using<br>[34:40] this? I mean, the main place it's<br>[34:44] production today is VIP sites, and<br>[34:47] newsrooms love it. I mean, they've been<br>[34:48] really excited to have it.<br>[34:50] >> Uh, I think smaller newsrooms will also<br>[34:53] enjoy it. like even if you don't have<br>[34:54] quite as many authors and photographers<br>[34:56] and editors in there. Um the use case<br>[35:00] that we're really hoping we cover even<br>[35:02] with just a single collaborator is, you<br>[35:05] know, I'm getting ready to launch my<br>[35:07] site and a developer or member of an<br>[35:09] agency hops in there to show me how to<br>[35:10] do something in the editor. I think<br>[35:12] that's going to be really cool. Um but<br>[35:14] we haven't played with that as much<br>[35:16] because most of the users right now are<br>[35:18] on larger VIP sites.<br>[35:20] I'll tell you, my wife will be pleased<br>[35:22] that I can join her on her blog and help<br>[35:25] her.<br>[35:26] >> So will my dad.<br>[35:28] >> Yeah, this this post, which I can drop a<br>[35:30] link to, goes through research that was<br>[35:32] done and user feedback that was done um<br>[35:34] between 45 beta participants that was<br>[35:36] shared. Um and this is part of I really<br>[35:38] encourage everyone to test this a ton um<br>[35:40] during the beta process so that we can<br>[35:42] make this as solid as possible for as<br>[35:44] many people as possible. Um but yeah,<br>[35:46] there's great feedback here. And so the<br>[35:48] invite flow assumes people have user<br>[35:51] accounts and they just visit the same<br>[35:53] URL for editing.<br>[35:55] >> Yeah, that's correct.<br>[35:56] >> Yeah.<br>[35:58] >> The main feedback that came up Oh,<br>[36:00] sorry.<br>[36:00] >> They need to they need to be editors<br>[36:02] presumably, but an author and an editor<br>[36:06] different privileges. Does that cause<br>[36:08] any issues with any of the bits? I can<br>[36:11] imagine Luca could be an offer maybe<br>[36:13] even a contributor<br>[36:15] um on editing it. Presumably the<br>[36:18] contributor will won't have publish<br>[36:20] buttons but the the editor would have<br>[36:23] publish buttons and things like that.<br>[36:26] >> So at the moment the capabilities when<br>[36:29] it comes to publishing are not changed<br>[36:30] at all versus WordPress as it exists in<br>[36:33] 6.9. Right? So someone needs to be able<br>[36:36] to click that button to save the post to<br>[36:38] publish the post and if no one in the<br>[36:40] session has that capability you wouldn't<br>[36:42] be able to do so. Um that does have an<br>[36:45] implication as well of you know if I'm a<br>[36:47] lower privileged user when the higher<br>[36:51] privileged user clicks save they are<br>[36:54] kind of trusting my changes that I put<br>[36:56] into the editor as the lower privilege<br>[36:58] user. So that does complicate that<br>[37:00] aspect of capabilities in WordPress in a<br>[37:03] sense. If you're collaborating with<br>[37:05] someone, you're somewhat trusting them<br>[37:06] to put stuff into the editor.<br>[37:09] I wonder if there is um I'm I'm talking<br>[37:12] behavior. I wonder if there's a a<br>[37:13] situation where someone might be<br>[37:15] certainly if you're teaching somebody or<br>[37:20] where there could be bits missing from<br>[37:22] the UI because they are a lower<br>[37:25] privilege. Um, and so would it be like,<br>[37:29] you know, shadow mode or sort of faded<br>[37:31] out or something? So you could see the<br>[37:33] button being pressed by the other<br>[37:35] person, but you don't have access to it<br>[37:38] or something in that mode. It might be<br>[37:41] too complicated to even think about.<br>[37:43] >> That is possible today. And we've talked<br>[37:46] about<br>[37:47] maybe addressing that for a different<br>[37:49] use case. We've talked about that in the<br>[37:51] context of block notes where today when<br>[37:54] you add a note to a post, what you're<br>[37:57] really doing is adding an attribute to a<br>[37:59] block that has the ID of that note. So<br>[38:02] it implies when you add a note that you<br>[38:03] have the ability to write to the post.<br>[38:06] And in a lot of systems, you can have a<br>[38:08] role where you just have the ability to<br>[38:10] add notes. You don't have the ability to<br>[38:12] edit content. We can't do that today in<br>[38:14] the WordPress model. So the types of<br>[38:17] things that you're describing can<br>[38:18] totally happen with the model we have<br>[38:20] today where you could have<br>[38:21] inconsistencies in that way but it would<br>[38:24] take a a lower level addressing of that<br>[38:26] at like the capability and users level<br>[38:28] to really make that bulletproof.<br>[38:31] I have a question related to that and<br>[38:34] that is let's say I'm an administrator I<br>[38:37] have unfiltered HTML<br>[38:39] >> and another user comes in who is just a<br>[38:42] author they don't<br>[38:45] >> and I'm getting ready to publish my post<br>[38:46] and they sneak in and they insert a<br>[38:48] custom HTML block with some malicious<br>[38:50] JavaScript<br>[38:52] >> and I don't notice it.<br>[38:53] >> How is that accounted for?<br>[38:55] >> Who whoever clicks save is the one whose<br>[38:58] capabilities are applied on the server<br>[39:00] side. So in that situation, if you've<br>[39:02] got sneaky collaborators who are coming<br>[39:05] into your system and putting stuff in in<br>[39:07] the editor, that's a problem for sure.<br>[39:13] >> That's a exploit vector. Um,<br>[39:17] >> but that's<br>[39:17] >> as you point out it it does say it does<br>[39:20] kind of like that's a lot of steps. I<br>[39:22] don't I don't think that's like a<br>[39:26] I think something we should be aware of,<br>[39:27] but I don't think I consider it like a<br>[39:30] fundamental flaw.<br>[39:32] >> I think it might be something that needs<br>[39:35] to be like it should be configured with<br>[39:37] like a given site wants to ensure that<br>[39:40] only equally um same role people can<br>[39:43] share a collaboration session, they<br>[39:45] could do that. It might not be the<br>[39:46] default in core, but it might be<br>[39:48] something that if you want to really<br>[39:49] tighten some of that, you could do. That<br>[39:52] would be a relatively practical way to<br>[39:54] address that. Yeah.<br>[39:55] >> Or the lowest ri lowest privileges<br>[39:58] enforced<br>[40:00] >> while it's in multiple session. So in<br>[40:04] order you know so you had a contributor<br>[40:07] working on it and an admin going to say<br>[40:09] the contributor has to leave the session<br>[40:11] before the admin can actually execute<br>[40:13] the save maybe<br>[40:17] >> or even even if one person has<br>[40:20] unfiltered HTML<br>[40:22] they couldn't edit with someone who<br>[40:23] doesn't at the same time.<br>[40:26] >> Yeah that's what I was implying. Yeah,<br>[40:31] >> we can talk about that for sure.<br>[40:34] >> Yeah.<br>[40:34] >> And perhaps<br>[40:35] >> as we think about uh<br>[40:38] I want to think also outside of just<br>[40:40] post. So um this idea of presence I<br>[40:44] think is really cool and seeing where<br>[40:46] people are. So uh how<br>[40:52] as we think of 71 72 like how can we<br>[40:54] bring that to like all other parts of WB<br>[40:57] admin?<br>[40:59] >> Yeah<br>[41:00] we we we had a we had a pretty cool demo<br>[41:03] where you could follow the user across<br>[41:05] the entire admin but it was using the<br>[41:08] systems that we have for the site editor<br>[41:10] not the vanilla WP admin. uh in vanilla<br>[41:13] pad admin that is going to be a lot<br>[41:16] harder I think to pull off accurately.<br>[41:20] >> Yeah,<br>[41:21] >> I I was playing around a little bit with<br>[41:24] kind of faking it in the rest of WP<br>[41:26] admin where using the admin Ajax and<br>[41:29] heartbait API stuff. I would just track<br>[41:31] where the user is at least and then I<br>[41:33] could see like oh like Matt's on the<br>[41:35] categories page right now and I could<br>[41:37] click to go to that page. I think we can<br>[41:39] do something like that where we still<br>[41:42] limit the actual real-time data<br>[41:43] transports to the editor sessions which<br>[41:45] keeps the resource usage low but also<br>[41:48] kind of mimic aspects of those user<br>[41:51] flows and things like Figma.<br>[41:52] >> Yeah.<br>[41:52] >> But I'm not sure how high fidelity.<br>[41:56] I think the issue there is whenever you<br>[41:58] start interacting with the UI like you<br>[42:00] have a lot of state that you need to<br>[42:01] transfer like if there's a drop down<br>[42:04] open if there's all of those elements<br>[42:06] that we can model them if you go through<br>[42:09] core entities and so on like we can like<br>[42:12] again we we pull it off even within the<br>[42:14] editor to show okay if they open the<br>[42:16] insertter if they open this all of that<br>[42:18] is transfer but in normal API I think<br>[42:20] that would become<br>[42:22] >> um a bit more difficult But it's I think<br>[42:26] it's certainly something we should start<br>[42:28] pushing now that we have the the<br>[42:30] foundation<br>[42:32] >> certainly that presence that you just<br>[42:33] talked about then. So like um I think<br>[42:36] it's this concept again the idea that<br>[42:39] you log into your WordPress I see oh<br>[42:41] Matias is moderating some comments<br>[42:44] you know Lynn is on the dashboard maybe<br>[42:47] reading some news you know that sort of<br>[42:49] thing.<br>[42:50] we don't have to like go all the way to<br>[42:52] like uh that we're doing the same thing<br>[42:54] on the same setting screen or whatever<br>[42:56] like that like we are in the editor. But<br>[42:58] I think that idea of like you log in and<br>[43:01] you can kind of see the neighborhood of<br>[43:02] like who else is also there is uh pretty<br>[43:06] cool. And um and also like let's imagine<br>[43:10] as well that sometimes some of these<br>[43:13] other users might be agents in the<br>[43:16] future. They might not other be other<br>[43:17] humans. you might want to see like what<br>[43:19] what's your bot up to? What's your bot<br>[43:21] doing right now? Where is your bot<br>[43:22] spending time?<br>[43:24] >> Yeah, we had a few of demos of that as<br>[43:27] well, like because it can also become<br>[43:28] like a pretty cool teaching tool as<br>[43:30] well, like oh, like do this and it<br>[43:32] actually shows you exactly how to get<br>[43:34] there.<br>[43:37] Um, one quick thing before we move on. I<br>[43:40] think the the other element we didn't<br>[43:42] talk too much is plug-in compatibility.<br>[43:44] Um, and there's a few issues in the<br>[43:47] editor with plugins using classical<br>[43:50] metab boxes and things that um don't<br>[43:54] really cooperate super well with the the<br>[43:57] share document, the YJS document. Um,<br>[43:59] that's uh I think L there was like sort<br>[44:02] of already like an aware list of<br>[44:05] different plugins that had issues and<br>[44:07] how to circumvent them and so in<br>[44:08] progress. Yeah,<br>[44:12] >> we were talking with Ella earlier today<br>[44:14] about just checking for the has metab<br>[44:17] boxes state and if that's true we'll<br>[44:20] basically disable collaboration out of<br>[44:23] the box. But the goal is to have some<br>[44:26] documentation for plug-in developers who<br>[44:29] are using classical metaboxes<br>[44:32] to show them how they can bridge between<br>[44:34] their current JavaScript and WordPress<br>[44:36] data to integrate with it. and then they<br>[44:38] could use a filter to say, "Hey, my<br>[44:40] plug-in's compatible. You don't need to<br>[44:42] turn off collaboration when I'm in<br>[44:44] place." So, that's the idea. We'll we'll<br>[44:46] have a tutorial that explains how to do<br>[44:48] it and then hopefully a plugin or two<br>[44:50] we'll update ourselves to show folks how<br>[44:52] to do it as well.<br>[44:54] >> And just the meta, we had someone join<br>[44:56] and then we got that echo. Um, I'm<br>[44:58] apparently not the host. Who's the host<br>[45:00] of this meeting?<br>[45:03] >> Mary, are you there?<br>[45:05] No, I believe it's one of the Ringler's<br>[45:07] accounts, but I'll look into it.<br>[45:10] >> Let's let's get a host because I'm not<br>[45:12] able to mute this bone kira person. So,<br>[45:15] like let's at least make a couple of us<br>[45:17] co-host or something so we could uh mute<br>[45:20] people if we need to for these where<br>[45:22] anyone can join. Yeah.<br>[45:24] >> So, is the uh collaboration feature um<br>[45:29] is that going to be do you think that'll<br>[45:30] be extendable to be able to do like live<br>[45:32] posts? um um continually updating posts<br>[45:38] or like elections and things like that.<br>[45:41] Uh live blogging.<br>[45:44] Um<br>[45:45] >> um<br>[45:45] >> it's more plug-in territory, I would<br>[45:47] say.<br>[45:48] >> Yeah.<br>[45:48] >> Yeah, you could certainly use the same<br>[45:51] tools we're using to build collaboration<br>[45:52] to pull that off, but the collaboration<br>[45:54] feature itself is very much about the<br>[45:56] editor.<br>[46:03] Great. All right, let's let's move on.<br>[46:05] >> Yeah,<br>[46:06] >> this is looking by the way feedback.<br>[46:08] this is looking very good like this is<br>[46:10] uh and um let's keep in mind as a you<br>[46:15] know the bullet points that we're coming<br>[46:16] out of this um<br>[46:19] the I think how we talked about this is<br>[46:22] a great way to position it like uh<br>[46:25] showing you know remember<br>[46:28] >> when you used to open something that<br>[46:30] says you're locked out now you can again<br>[46:34] positioning always like user first<br>[46:36] customer first like now you can, you<br>[46:39] know, send someone a link and they can<br>[46:42] be in the same thing and you can watch<br>[46:43] them edit at the same time. You can uh<br>[46:47] and uh you know, we can say give them a<br>[46:49] call and you can talk while you're doing<br>[46:51] this. Like we're obviously not doing the<br>[46:53] calling part, but people have infinite<br>[46:55] number of ways they can have other<br>[46:56] channels open while they're looking at<br>[46:58] the same.<br>[47:00] >> Yeah, blockes are compatible with real<br>[47:02] time. Amy, we should work on that. I<br>[47:04] think you're on this call for the beta<br>[47:05] one post um after this.<br>[47:07] Yeah, let's keep keep on going. What do<br>[47:10] you want to talk about next, Matias?<br>[47:12] >> Uh, let's keep in sequence. Um, the<br>[47:15] admin side, I think there's some good<br>[47:17] progress and I think it's marked yellow<br>[47:19] because uh um it was a bit undefined<br>[47:22] exactly<br>[47:23] what to do with the admin. So, there's<br>[47:25] some work that was done with a default<br>[47:28] color scheme and some basic CSS um<br>[47:31] updates on margins and cars and so on.<br>[47:33] Um, but it's not I would not say at all<br>[47:37] that this is like I don't perceive this<br>[47:40] as a redesign of um like it's not what I<br>[47:45] would expect to see when we say oh<br>[47:47] WordPress this is a new visual of<br>[47:50] WordPress and the there's a few things<br>[47:54] that were added like view transitions<br>[47:56] are in um<br>[47:58] >> that's what I'm doing right now just for<br>[48:00] awareness. Yeah.<br>[48:01] >> Yes. Um, we have you transitions, the<br>[48:05] modern color scheme. If you go back to<br>[48:06] the post,<br>[48:11] um, there's a few like now the font<br>[48:14] library is available for all themes. It<br>[48:16] used to be locked to block themes<br>[48:18] before. So many folks didn't really<br>[48:22] experience the font library. Um so the<br>[48:24] phone library is now available to and<br>[48:26] the idea with the phone library was that<br>[48:28] okay you could manage your phones like<br>[48:29] another asset like you've managed media<br>[48:32] and so on. So you can manage your<br>[48:33] phones. This is now exposed to all sites<br>[48:38] and if you go back<br>[48:44] um see what else relevant to this card.<br>[48:48] No I think that's<br>[48:49] >> PHP<br>[48:51] >> on the APIs. Yeah.<br>[48:53] >> Yeah. We can probably jump to APIs, I<br>[48:54] would say.<br>[48:56] >> Yeah. Uh the Let's Let's uh before we go<br>[49:00] on, um can we go back because I I didn't<br>[49:03] want to give some critical feedback here<br>[49:04] that I agree that this is not<br>[49:06] >> kind of what I was hoping for.<br>[49:08] >> Um the color change is view transitions<br>[49:12] are awesome. Like I think that's fun.<br>[49:14] Um,<br>[49:17] I think I would love to see what are<br>[49:20] some possible CSS interventions around<br>[49:23] like our buttons and other things we<br>[49:26] could do to make them feel a bit uh more<br>[49:29] modern or or cleaned up. Um,<br>[49:34] I don't know if anything I mean<br>[49:37] topography spacing seems like pretty<br>[49:39] decent. Uh but<br>[49:42] uh you know other ways I see we have<br>[49:46] Pablo here like other designers like<br>[49:48] ways we could spruce this up a little<br>[49:50] bit uh to just give it a a bit better of<br>[49:54] a feel. It could even be things like,<br>[49:56] you know, um, gosh, having like some,<br>[50:02] you know, when you hover over a link, it<br>[50:04] does something a little fancier, you<br>[50:07] know, like, uh, just whatever it is that<br>[50:09] kind of makes it feel a little bit more<br>[50:10] alive using some of the things allowed<br>[50:13] by uh, very capable in browsers now. So,<br>[50:18] uh, I would also point to this screen<br>[50:20] options and help section like that feels<br>[50:22] a little clunky. like maybe we can like<br>[50:24] tighten that up, curve it a little more.<br>[50:26] Um,<br>[50:29] >> question.<br>[50:30] >> In general, I think I think where people<br>[50:31] criticize where we look at, we're very<br>[50:33] blocky, right? We have lots of hard<br>[50:35] corners. And in fact, this new revisions<br>[50:37] feature the avatars are circles, right?<br>[50:41] So, um, like think about where we can,<br>[50:45] uh, round the edges a bit more as well<br>[50:48] or, you know, make some shadows,<br>[50:52] other things that might like, like, uh,<br>[50:55] again, CSS only interventions that I<br>[50:57] think would at least make it feel like a<br>[50:59] little more like a<br>[51:01] >> a thing. Shadows actually would be<br>[51:03] really interesting to look at on a page<br>[51:05] like this. Um, the color updates. So,<br>[51:08] I've seen some mixed feedback on those.<br>[51:10] What's what's the current thinking on<br>[51:12] that?<br>[51:14] >> I think it's a bit hard as a color. Um,<br>[51:17] I was going to ask with the icon blocks<br>[51:21] and icon API coming in, can we swap the<br>[51:23] the icons on the admin? Is that<br>[51:26] accessible to it?<br>[51:28] >> No.<br>[51:28] >> No. It's is the icon block is not for<br>[51:31] the the admin iconography.<br>[51:33] >> But we've got an icon an icon API now,<br>[51:36] haven't we? I wonder if the<br>[51:38] >> it's not open to<br>[51:42] >> that.<br>[51:42] >> No, my understanding is that can't be<br>[51:43] used not for 7.0. I think that the API<br>[51:47] is pretty limited as it is. Um and 7.1<br>[51:50] already has an open issue to iterate on<br>[51:52] it.<br>[51:53] >> Um which you can find the GitHub repo<br>[51:55] for 7.1.<br>[51:57] Yeah, that would be great to comment on.<br>[51:58] I can ping you with that Paul after<br>[52:00] this.<br>[52:02] I would encourage us also to look for<br>[52:04] places where we have opportunities for<br>[52:07] things that are animation like or motion<br>[52:09] like which view transitions is basically<br>[52:13] right. Um so there are other places<br>[52:16] where uh you know when we press a button<br>[52:20] and it goes you know uh loading or other<br>[52:24] things that we could uh spruce it up.<br>[52:26] some of our loading screens. Uh updates<br>[52:29] and you don't you probably don't have<br>[52:30] any updates available here, but like um<br>[52:35] you know that kind of like spinner that<br>[52:36] we show like<br>[52:39] I think we haven't updated in like 15<br>[52:41] years. It's a new spinner.<br>[52:45] >> We also talked you mentioned widgets<br>[52:47] previously. I know that was something<br>[52:49] that we were hoping um to see<br>[52:52] contributions around, but yeah, widgets<br>[52:53] I think are another like adding some new<br>[52:55] widgets that might be a bit more<br>[52:56] exciting. Um like this time last year I<br>[52:59] think was one that you talked about,<br>[53:00] Matt.<br>[53:04] Um yeah. Uh so I don't know if you saw<br>[53:09] something good for people to check out<br>[53:10] that just launched is uh called Dreamer.<br>[53:14] It's from a Hugo Bar who was one of the<br>[53:17] sort of like original leaders of Android<br>[53:19] and um a guy his name's Escape Me but he<br>[53:22] was the CTO of Stripe and it's an AI<br>[53:25] thing but part of what they do is they<br>[53:27] make kind of like a<br>[53:30] a home screen that with you can add<br>[53:32] widgets too and it's really fun. Um I<br>[53:35] would love that. And do you mind pulling<br>[53:37] up the dashboard again?<br>[53:40] >> Yep. I also I'm guessing this is what<br>[53:42] you're<br>[53:43] >> maybe<br>[53:44] >> Okay, sorry. I just wanted to get it.<br>[53:46] >> Um, no, that's not then actually.<br>[53:49] >> Okay, that's something else. It might<br>[53:50] >> That's a different streamer.<br>[53:51] >> What is it called?<br>[53:54] >> It's streamer.com, actually.<br>[53:56] Dreamer.com.<br>[53:56] >> Oh, even easier. Thank you. I was trying<br>[54:00] to Google based on what you said. Didn't<br>[54:02] get very far. Cool.<br>[54:06] Uh, so I mean one sort of inspiration<br>[54:10] I'm taking from this is that how cool<br>[54:12] would it be if those widgets<br>[54:15] on your WP admin dashboard again were<br>[54:18] something that people could uh sort of<br>[54:22] remix publish and maybe we have a<br>[54:25] directory of in the uh<br>[54:28] in the dreamer like fashion like because<br>[54:31] that's kind of what this is. This is a<br>[54:33] homepage that<br>[54:35] >> Yeah.<br>[54:35] >> Uh I would love for people to make their<br>[54:37] own<br>[54:39] >> and we'll have some default ones<br>[54:41] >> but um like you know especially with the<br>[54:44] ability of things like TX or other<br>[54:46] things to like make widgets here like I<br>[54:48] think uh this is a very ripe place for<br>[54:53] innovation in uh the WordPress<br>[54:55] experience. And I love that this<br>[54:56] dashboard becomes like people's favorite<br>[54:58] homepage. You know, you could have your<br>[55:00] to-dos there, you could have your links,<br>[55:01] you could have whatever. You know,<br>[55:04] >> we we have a pretty cool prototype of a<br>[55:07] like a new dashboard widget where you<br>[55:09] can resize, reorder them, like really<br>[55:12] configure it and make it your own and<br>[55:14] where each widget can be sort of its own<br>[55:17] canvas and you can have all sort of<br>[55:18] things, but it's a bigger sort of<br>[55:20] takeover, I think, than just what we<br>[55:23] could do with with CSS here. So that's<br>[55:26] something that um<br>[55:30] >> um the on this day uh<br>[55:33] >> what happened to that? That was a pretty<br>[55:34] simple thing. Did we bring this in or<br>[55:37] did we bring it in? What's the thoughts<br>[55:39] there? Matsis release lead.<br>[55:43] >> Sorry, what was that? I missed the<br>[55:46] >> the on this day in previous years.<br>[55:48] >> Oh, the post today. Yeah, that that's<br>[55:50] there was a lot of excitement on that<br>[55:51] one and it didn't get picked up at all.<br>[55:53] like we had them and you did have the<br>[55:56] post and the old post where we No, but<br>[56:00] the actual post um<br>[56:03] >> the sub.0<br>[56:05] >> where we Yeah, what we call Yeah, there<br>[56:07] were a lot of widgets that were<br>[56:09] mentioned people wanted to work on but<br>[56:12] didn't get picked up. Um the today last<br>[56:18] year was one, the notes uh widget for<br>[56:21] notes was another one. So, all of those<br>[56:24] didn't get picked up, unfortunately.<br>[56:32] >> Um, the one I use is written by Scott<br>[56:34] Riley. Uh, so, uh, we can certainly ask<br>[56:38] him to just, you know,<br>[56:40] >> yeah,<br>[56:41] >> do that, merge that. I think it's it's<br>[56:43] very simple. It's very simple code. I I<br>[56:45] I don't think it's like a a thing that<br>[56:48] is uh should be too controversial or<br>[56:50] hard to bring in even at this stage.<br>[56:52] beta one. Um, it would just be sort of<br>[56:54] more like bringing the plugin in the<br>[56:56] core. So,<br>[56:59] >> that'd be awesome.<br>[57:01] >> Uh, let's do that. I think that code is<br>[57:02] very clean and simple and it's uh yeah,<br>[57:10] >> for those who don't know, I can do a<br>[57:12] little screenshot of that or or screen<br>[57:15] share. Hold on. Give me a second.<br>[57:17] >> Yeah, I'll stop sharing so you can take<br>[57:19] over.<br>[57:35] Uh, I'll just make a little screenshot<br>[57:37] and drop it in here.<br>[57:42] >> So, Oh, there's no chat.<br>[57:45] >> I know.<br>[57:49] >> Um,<br>[57:51] Okay, let me think of the easiest way to<br>[57:52] do this.<br>[57:54] >> If you send it to me, Matt, I can<br>[57:56] download it and share it.<br>[58:00] >> Well, I can<br>[58:03] It's on cloud up now. So<br>[58:06] >> Oh, perfect. Even better.<br>[58:08] >> And And I will DM that to you.<br>[58:14] >> Great.<br>[58:16] You can pull it up<br>[58:19] just so we all kind of see like what the<br>[58:21] uh<br>[58:23] >> Here we go.<br>[58:29] >> And I think a u<br>[58:32] a list of all the notes in the sections<br>[58:35] could be quite very useful if we could<br>[58:37] find a widget that did that at some<br>[58:38] point.<br>[58:41] Yeah. That's almost like a task list.<br>[58:43] So, I got to go and look at these notes<br>[58:45] that people have made.<br>[58:50] >> Let me also just put out there uh for a<br>[58:52] 7.1 7.2 too. I think there's a lot we<br>[58:55] could do just around like a site<br>[58:56] activity<br>[58:58] again<br>[59:00] beyond you know the more audit logs or<br>[59:05] external things or whatever like that<br>[59:06] just like basic looking at like what's<br>[59:08] happened in the WordPress<br>[59:10] that would be a pretty interesting<br>[59:12] widget for this page.<br>[59:26] consider it noted.<br>[59:28] And if anyone's really excited about<br>[59:30] contributing with this, this is<br>[59:31] definitely an area ripe for<br>[59:32] contribution. Um, I just want to call<br>[59:34] that out as well.<br>[59:38] Yeah, I think we were a bit thin on on<br>[59:40] contributions on some of these and so<br>[59:42] many got dropped. I think the because<br>[59:45] they I think don't take much.<br>[59:47] >> Part of what we need here as well um so<br>[59:49] give us some thought is probably a a<br>[59:52] category of plugins on WordPress.org<br>[59:56] which are just dashboard widgets<br>[59:59] >> and a directory of those and a visual<br>[60:01] way to explore them and sort of like a<br>[60:03] way to sort of like<br>[60:04] >> search for that separate from they're<br>[60:06] part of the plug-in directory but like<br>[60:08] they're kind of their own thing. So<br>[60:10] >> um let's have a way for plugins to<br>[60:13] >> uh designate themselves as like I'm just<br>[60:15] a dashboard widget plugins<br>[60:17] >> and yes same as we did with a blog<br>[60:19] directory. It's just plugins<br>[60:21] >> label as blogs. We can do the same for<br>[60:24] dashboard widgets.<br>[60:25] >> Lyn, could you follow up on that by<br>[60:27] chance? Thank you.<br>[60:30] >> There was a discussion with the AI team<br>[60:33] about having something similar for<br>[60:35] connectors as well.<br>[60:37] >> Yeah. Should we talk about that with<br>[60:39] connectors? I think I know that was a<br>[60:41] something that was brought up in the<br>[60:44] >> some point.<br>[60:47] It's coming up is a second idea. Let's<br>[60:48] just quickly cover the the PHP only blog<br>[60:52] registration I think is pretty cool is<br>[60:54] the idea is that you can write blocks<br>[60:55] just in PHP and the inspector controls<br>[60:58] the canvas and so on is generated for<br>[61:01] you. So this is mostly for folks that<br>[61:03] are not comfortable with JavaScript but<br>[61:06] it still produces a block that is uh<br>[61:08] featurerich and with direct manipulation<br>[61:11] and all of those things. Uh so it's um<br>[61:14] trying to bridge the the two worlds a<br>[61:16] bit more and and throwing throwing out a<br>[61:19] bone for the the more PHP heavy<br>[61:21] developers out there to produce the same<br>[61:24] sort of experiences. Um I think there's<br>[61:26] a lot that we can do there as well as we<br>[61:28] connect with patterns and bindings and<br>[61:30] so on. It starts to really expand the<br>[61:32] pallet. Um, which is also interesting<br>[61:34] with with stuff like TEX and so on and<br>[61:36] AI that is making a lot of these<br>[61:38] distinctions between what is PHP or<br>[61:40] JavaScript like rather obsolete because<br>[61:43] you can move between them. Um, but it's<br>[61:46] still again good to have in the sense of<br>[61:48] it produces consistency and so on and<br>[61:51] allows sites to create a lot of cool<br>[61:54] custom blocks. Um, the next one we had<br>[61:57] there yes is a WPI client. Um, we have<br>[62:00] two things to discuss here. one was the<br>[62:02] proposal for the um AI client back in<br>[62:06] December. There's been work going on<br>[62:07] during January. Uh James, perhaps you<br>[62:10] can talk a little bit about the<br>[62:12] expectation there, what it does, what<br>[62:14] baseline sort of it establishes. And<br>[62:16] then the comment that Matt made on the<br>[62:19] like what does it mean for users and<br>[62:22] that led into the discussion about<br>[62:24] disconnectors um that I think opens up<br>[62:28] um a lot more doors to consider. And<br>[62:33] so I think we have two things there to<br>[62:35] discuss if it's a<br>[62:37] >> Matas can you add uh markdown feed to<br>[62:41] that list or discuss<br>[62:44] >> we need to free start with this but yeah<br>[62:49] >> let me let me jump in<br>[62:51] >> let me jump in with this we can talk<br>[62:53] about the markdown feed stuff as well as<br>[62:55] it's kind of related. Um, I see that<br>[62:57] Felix is here, so I will just do<br>[63:00] actually I will ask Felix if he wants to<br>[63:02] talk about this because he's the one who<br>[63:04] built it.<br>[63:06] >> Um, sure. I mean, uh, there's not too<br>[63:10] much ad to add other than what the post<br>[63:12] says, but, um, I mean, I'm definitely<br>[63:14] happy to answer any questions. So in a<br>[63:16] nutshell um this will bring the layer<br>[63:20] into core that basically work other<br>[63:23] WordPress features um can can use AI um<br>[63:29] whether it's from<br>[63:31] OpenAI anthropic Google or local models<br>[63:35] um all of that basically is supported by<br>[63:38] the by the client environment um that we<br>[63:40] would merge into core and um the way<br>[63:44] it's implemented though is that none of<br>[63:46] this proprietary services or something<br>[63:48] is bundled into into core because that<br>[63:50] would sort of go against the<br>[63:52] philosophies also it's paid the the API<br>[63:55] access paid so we don't want to merge<br>[63:56] that into core um<br>[63:59] so<br>[64:01] basically by merging this into core we<br>[64:02] have the foundation in core that users<br>[64:06] can choose which provider they want to<br>[64:09] use like I mean let's say like I don't<br>[64:11] know somebody loves Google somebody<br>[64:12] loves openai each of them can choose<br>[64:14] choose what they want to do. They don't<br>[64:16] have to have eight subscriptions with<br>[64:18] eight different providers, which would<br>[64:19] be a horrible experience. And that's<br>[64:21] where the plug-in ecosystem only<br>[64:22] approach is pretty much at today because<br>[64:24] everybody's just implementing their own<br>[64:26] stuff in their own ways. Um, and the<br>[64:31] plugins that build on top of this<br>[64:33] foundation, like the plugins that<br>[64:34] actually build features for end users<br>[64:36] that use AI, um, once they build on this<br>[64:40] um, they can they can work with any<br>[64:43] provider credentials. So they don't need<br>[64:46] to the way that this that this AI client<br>[64:49] works is that you just you just write<br>[64:52] the AI code. you don't you can you can<br>[64:54] say I want to use an open AI model GPT<br>[64:58] 5.2 do whatever um if it's available but<br>[65:01] you can say oh but if the user only has<br>[65:04] enthropic configured okay I'm fine to<br>[65:08] execute this feature with enthropic and<br>[65:09] that gives the that basically allows<br>[65:12] gives control to the end user to say I<br>[65:14] have I love this provider I want to I<br>[65:16] have a subscription with that provider<br>[65:18] and but they can still use all the AI<br>[65:20] features that any plug-in would build<br>[65:22] which today that's not the case because<br>[65:24] all the plugins build their own API API<br>[65:26] layers around their usually their pro<br>[65:28] developer the developer's own provider<br>[65:30] of choice and because doing that is a<br>[65:33] ton of work um they usually just stood<br>[65:36] for one provider and that at the end of<br>[65:37] the day leads to a lot of fragmentation<br>[65:39] where users have to paste the API keys<br>[65:41] into 10 different plug-in screens um and<br>[65:46] um yeah and then at the end of the day<br>[65:48] they also need to get 10 subscriptions<br>[65:49] if they have 10 plugins that only work<br>[65:51] with different providers and that's what<br>[65:53] this foundational layer in the middle<br>[65:55] solves.<br>[65:58] So<br>[66:00] on one line summary would be this is a<br>[66:03] foundational developer API that lets<br>[66:05] plugins and core interact with LLMs with<br>[66:08] no provider lock in. It's a fluent API.<br>[66:11] It's very very beautifully crafted by<br>[66:13] Felix himself.<br>[66:15] >> Yeah. But when you say when we say users<br>[66:18] will be able to choose like users right<br>[66:20] now wouldn't have any interface to do<br>[66:22] that right like we're like it wouldn't<br>[66:24] need to be through plugins or code<br>[66:26] >> and and that's where that was the kind<br>[66:28] of crux of my feedbacks Felix and so you<br>[66:31] said something there which is the<br>[66:32] philosophy is we shouldn't include<br>[66:34] anything<br>[66:35] um I actually think we should<br>[66:38] and we have precedents for this in<br>[66:40] WordPress in the past so I think it's<br>[66:43] okay uh especially to provide like a<br>[66:45] default out of the box user experience<br>[66:47] to say okay here's<br>[66:51] sort of Google Anthropic OpenAI whatever<br>[66:55] or<br>[66:57] um that are kind of like out of the box<br>[67:00] there's something there that you could<br>[67:02] see or do or happen. Um, a lot of my<br>[67:05] criticism, I went through some of this<br>[67:07] with James. It's like, okay, there's<br>[67:09] this cool new feature, but then you have<br>[67:11] to like do like 10 steps to enable<br>[67:13] anything for anything to happen.<br>[67:16] So, I think uh we we do need the AI hook<br>[67:20] for 7.0 like it'd be if we if we if we<br>[67:24] do a big announcement for 7.0 and like<br>[67:27] there's not AI mentioned, I think<br>[67:29] everyone's going to, you know, all the<br>[67:31] WordPress is dead stuff will even be<br>[67:33] even bigger. So, uh, it would be nice to<br>[67:37] have some, uh, some sort of built-in<br>[67:40] things that people can see and do. And I<br>[67:43] could still again call other plugins to<br>[67:45] like actually activate stuff. But like,<br>[67:48] um, I'm totally okay with building in a<br>[67:50] few uh, things by default so that<br>[67:53] there's some um, some scaffolding or<br>[67:56] just something that like when people get<br>[67:57] the update, there's some there already.<br>[68:00] >> Okay. I mean a little<br>[68:03] >> to respond to that feedback like I'm<br>[68:05] totally open to that and I think that's<br>[68:07] I I did it this way because I assumed we<br>[68:09] shouldn't put these things into into<br>[68:11] core but I'm totally open to changing<br>[68:14] that and we have already built providers<br>[68:16] for um Anthropy Google and OpenAI.<br>[68:19] That's what we've been using for all the<br>[68:21] testing and if we wanted to bundle them<br>[68:24] in core we could. Um, Felix, I think my<br>[68:27] suggestion would be let's look into how<br>[68:30] tools work and maybe do something<br>[68:32] similar to tools where you have your<br>[68:33] list and you<br>[68:37] have those four as the primary lists<br>[68:39] there.<br>[68:41] >> Yeah. Yeah, I mean today like as of now<br>[68:42] the the AI client that is that that is<br>[68:45] part of the what is part of the proposal<br>[68:47] would be that there is a screen in the<br>[68:48] admin that where you can paste your<br>[68:51] credentials and whichever model<br>[68:53] whichever providers you have plugins and<br>[68:55] you have available for they show up<br>[68:57] there with a field right and then you<br>[68:58] can be like oh I I want to paste my API<br>[69:00] key for anthropic or something. Um,<br>[69:05] but yeah, but although with the current<br>[69:07] proposal, this screen would be there,<br>[69:10] but it would only actually appear once<br>[69:11] you've installed a plug-in. But we could<br>[69:13] reduce that friction if we bundle some<br>[69:16] of the providers into core like you<br>[69:19] said, man.<br>[69:20] >> Can I suggest that perhaps we're<br>[69:21] actually going to bundle the plugins in<br>[69:23] because the way we add other connectors<br>[69:26] would be by adding a plugin. So, if<br>[69:29] we're going to have um uh Anthropic and<br>[69:33] Google and whatever, the the plug-in for<br>[69:36] that should be auto installed into<br>[69:38] plugins folder rather than because<br>[69:41] that's the same pattern as someone we<br>[69:44] add secondary.<br>[69:46] >> I mean, I'm going to say this would<br>[69:48] remove this will still have one extra<br>[69:50] click, right? like like if you have I<br>[69:52] guess if you don't have the plugin at<br>[69:54] all you have to install it one click<br>[69:56] activate one click paste your API key<br>[69:58] three actions if I mean if you auto<br>[70:01] install them you don't have the<br>[70:02] installing anymore but you still have<br>[70:03] the activation needed and then you still<br>[70:05] have to paste your API key<br>[70:07] >> so it's I should also clarify that part<br>[70:10] of what I'm saying I want bundled is<br>[70:12] more the UI and the API key interface<br>[70:16] I'm not saying that we need to b bundle<br>[70:18] the entire libraries for interacting<br>[70:20] for all these different things. Um, so<br>[70:24] it's it's okay if that still is like a,<br>[70:27] you know, something that gets installed<br>[70:28] or or something like that. But the um,<br>[70:33] >> go ahead.<br>[70:33] >> I think the diff the difference maybe<br>[70:35] between this UI being completely hidden<br>[70:37] until you have a provider instead<br>[70:39] inversing that and having the UI visible<br>[70:42] and that leading you to install the<br>[70:44] relevant providers.<br>[70:46] >> Exactly. So that way when people get 7.0<br>[70:49] know like again it's new a stuff where<br>[70:51] do I go?<br>[70:52] >> Oh<br>[70:52] >> yeah<br>[70:54] let's uh and and think of also let's<br>[70:56] think of we have this opportunity when<br>[70:58] people upgrade to show this screen of<br>[71:00] all the new stuff right<br>[71:02] >> and so let's have that be interactive<br>[71:05] and say hey now click here and you can<br>[71:08] see all the AI things you can connect so<br>[71:10] again think of this from like a user<br>[71:11] point of view like when someone uh put<br>[71:14] yourself in the shoes of someone like<br>[71:16] okay I got WordPress 7.0 today and I<br>[71:20] would love for hosts to also be like<br>[71:21] email like hey your WordPress is now 7.0<br>[71:23] Oh, log in and it'll walk you through<br>[71:27] all the cool new stuff you can do, you<br>[71:29] know. So let's think about that as like<br>[71:31] a user journey um that people are doing<br>[71:34] that like okay their host auto upgrades<br>[71:37] them to
<!-- deep-read:sections end -->
## ๐บ Video

---
# ๐ Full Notes (Deep-Read Analysis)
# ๐ท๏ธ Title: WordPress 7.0 Product Review Meeting
## ๐งฐ Action Inbox
- [H1] Bundle AI providers in core with visible UI โ avoid hidden features until plugins installed #ai #ux
- [H2] Implement "On This Day" dashboard widget โ merge Scott Riley's existing code #dashboard #widgets
- [H3] Add both user icons to collaboration cursors โ improve multi-user clarity #collaboration #ui
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [WordPress 7.0 Development](https://make.wordpress.org/)
- [YJS Collaboration Framework](https://docs.yjs.dev/)
## ๐ Summary
- WordPress 7.0 product review meeting covering major features in development
- Real-time collaboration is the flagship feature, working across all WordPress hosts
- AI integration planned but needs better user experience and default providers
- Admin UI improvements are minimal but include view transitions and modern color scheme
- Several planned features like dashboard widgets didn't receive contributions
## ๐ Main Content
This product review meeting for WordPress 7.0 demonstrates a major shift toward collaborative editing and AI integration. The real-time collaboration feature uses YJS framework with HTTP polling transport to work on any WordPress host without additional dependencies. The AI client provides a foundational API for plugins to interact with various LLM providers without vendor lock-in.
Key concerns raised include security implications of collaboration (privilege escalation risks), the need for visible AI features out-of-the-box rather than hidden until plugins are installed, and the minimal visual updates to the admin interface. The team is targeting WordCamp Asia for release but may need additional time for polish.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/F-xMPY9WqG4?t=0) โ [H1] WordPress 7.0 as major milestone
- Key idea: 7.0 represents opportunity for "new thing" perception with AI and collaboration
- Evidence: "WordPress 7 is now a thing... very fortuitous timing with all the AI stuff"
#### โฑ๏ธ [05:30](https://youtu.be/F-xMPY9WqG4?t=330) โ [H2] Real-time collaboration replaces post locking
- Key idea: Two users can now edit simultaneously instead of being locked out
- Evidence: "Previously you would get that notice... now you don't kick the other person out"
#### โฑ๏ธ [12:15](https://youtu.be/F-xMPY9WqG4?t=735) โ [H3] HTTP polling enables universal host compatibility
- Key idea: Collaboration works on any WordPress host using basic HTTP polling
- Evidence: "Should work on any WordPress host... lowest common denominator"
#### โฑ๏ธ [18:45](https://youtu.be/F-xMPY9WqG4?t=1125) โ [H2] Security concerns with privilege mixing
- Key idea: Lower privilege users could inject malicious content when higher privilege users save
- Evidence: "They sneak in and insert custom HTML block with malicious JavaScript"
#### โฑ๏ธ [25:20](https://youtu.be/F-xMPY9WqG4?t=1520) โ [H3] Visual revisions integrated into editor
- Key idea: Revisions now display inline visually rather than separate screen
- Evidence: "Revisions happen in line and visually inside the editor"
#### โฑ๏ธ [32:10](https://youtu.be/F-xMPY9WqG4?t=1930) โ [H2] Presence could extend beyond editor
- Key idea: User presence tracking could work across entire WordPress admin
- Evidence: "See who else is also there... what's your bot up to?"
#### โฑ๏ธ [38:30](https://youtu.be/F-xMPY9WqG4?t=2310) โ [H3] Admin UI changes are minimal
- Key idea: Visual updates don't meet expectations for major version redesign
- Evidence: "Not what I would expect when we say WordPress this is a new visual"
#### โฑ๏ธ [45:15](https://youtu.be/F-xMPY9WqG4?t=2715) โ [H2] PHP-only block registration bridges developers
- Key idea: Allows PHP developers to create rich blocks without JavaScript
- Evidence: "Write blocks just in PHP... for folks not comfortable with JavaScript"
#### โฑ๏ธ [52:40](https://youtu.be/F-xMPY9WqG4?t=3160) โ [H1] AI client provides foundational API
- Key idea: Core API layer prevents plugin fragmentation and vendor lock-in
- Evidence: "Users don't have to have subscriptions with eight different providers"
#### โฑ๏ธ [58:20](https://youtu.be/F-xMPY9WqG4?t=3500) โ [H2] AI features need visible default experience
- Key idea: Users shouldn't need multiple setup steps to see AI functionality
- Evidence: "Cool new feature but you have to do 10 steps to enable anything"
#### โฑ๏ธ [65:10](https://youtu.be/F-xMPY9WqG4?t=3910) โ [H3] Dashboard widgets need contribution
- Key idea: Many planned widgets like "On This Day" didn't receive developer contributions
- Evidence: "Lot of excitement on that one and it didn't get picked up at all"
## ๐ References
- [YJS Collaborative Editing](https://docs.yjs.dev/)
- [WordPress 7.0 Development Updates](https://make.wordpress.org/core/)
- [Real-time Collaboration Research](https://make.wordpress.org/core/2024/01/15/collaboration-research/)
## ๐ฃ๏ธ Paraphrase
- WordPress 7.0 introduces real-time collaborative editing that replaces the old post-locking system, allowing multiple users to edit simultaneously using YJS framework with HTTP polling for universal host compatibility
- An AI client API provides a foundational layer for plugins to interact with various LLM providers without vendor lock-in, though it needs better out-of-the-box user experience with bundled providers
- Admin interface improvements are minimal with mainly view transitions and color scheme updates, falling short of expectations for a major version visual refresh
## ๐ฐ Newsletter
WordPress 7.0 is shaping up to be a landmark release! The standout feature is real-time collaborative editing - imagine being able to edit posts simultaneously with team members, seeing their cursors move in real-time. No more "this post is locked" messages!
The collaboration feature works on any WordPress host using smart HTTP polling, making it universally compatible. Plus, there's visual revision history right in the editor and an AI client API that lets plugins work with any AI provider you choose.
While the admin interface updates are modest, the collaboration and AI foundations open exciting possibilities for agencies, newsrooms, and anyone working with teams.
Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/)
## โ
Action Items
#### WordPress
- Core: Implement user icon display for both collaborators in real-time editing sessions
- Core: Bundle AI providers (OpenAI, Anthropic, Google) in core with visible UI by default
- Core: Add "On This Day" dashboard widget using Scott Riley's existing plugin code
- Core: Improve admin interface with rounded corners, shadows, and modern button styles
- Core: Create plugin category and directory specifically for dashboard widgets
- Core: Address security concerns around privilege escalation in collaboration sessions
- Core: Implement comparison view for revisions beyond linear navigation
- Core: Add sparkline visualization for revision changes intensity
- Core: Create plugin compatibility documentation for metabox integration with collaboration
- Core: Design upgrade flow showcasing new 7.0 features interactively
- Core: Extend presence indicators beyond editor to full WordPress admin
- Core: Create configuration option for collaboration user limits in wp-config
- Core: Implement filter system for plugin compatibility with collaboration features
## ๐งช Hypotheses
- Real-time collaboration will significantly reduce workflow friction for teams editing WordPress content
- Universal host compatibility through HTTP polling will drive higher adoption than websocket-only solutions
- AI client API will prevent plugin ecosystem fragmentation around LLM integrations
- Bundling default AI providers will increase feature discovery and usage compared to plugin-only approach
### ๐ Methodology
- A/B testing collaboration feature with and without both user icons displayed
- Performance monitoring of HTTP polling vs websocket transports across different hosting environments
- User journey analysis from WordPress 7.0 upgrade to first AI feature usage
- Plugin compatibility auditing for metabox interactions with collaboration
### โ Questions
- How will collaboration handle conflicts when users edit the same content simultaneously?
- What performance impact will HTTP polling have on shared hosting environments?
- How will AI client API pricing and rate limiting be handled across different providers?
### ๐ฎ Future Research
- Cross-plugin collaboration state synchronization beyond post editing
- AI agent presence and collaboration with human users
- Real-time collaboration for theme and plugin development workflows
### ๐ก Implications
- Practice: Development teams need collaboration security protocols for mixed-privilege editing
- Policy: Hosting providers may need new resource allocation strategies for polling overhead
- Security: Capability-based access controls require reevaluation with real-time collaboration
- Education: Documentation needed for plugin developers integrating with collaboration APIs
- Funding: AI provider costs need sustainable funding models for core WordPress features
### ๐ง Learning Styles Assessment
Reading level estimate: Grade 12
#### ๐ Visual learners
- Present: Screen sharing demonstrations, UI mockups, real-time cursor visualization
- Improve: Architecture diagrams showing collaboration data flow and AI client structure
#### ๐ Aural learners
- Present: Live discussion and verbal explanations of features
- Improve: Audio summary of key decisions and feature explanations
#### ๐ฃ๏ธ Verbal learners
- Present: Technical terminology explained, analogies to existing WordPress features
- Improve: Glossary of new terms like YJS, HTTP polling, LLM providers
#### ๐งฉ Kinesthetic learners
- Present: Live demonstration of collaboration features in development environment
- Improve: Step-by-step setup guides for AI client and collaboration features
#### ๐ง Logical learners
- Present: Technical architecture decisions, security considerations, performance tradeoffs
- Improve: Decision trees for host compatibility and feature configuration
#### ๐งโ๐คโ๐ง Social learners
- Present: Collaborative meeting format with multiple stakeholders
- Improve: Community feedback integration and contribution coordination
#### ๐งโโ๏ธ Solitary learners
- Present: Individual analysis of feature specifications and requirements
- Improve: Self-paced exploration tools for new features
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking around plugin compatibility and community impact
- Improve: Sustainability considerations for resource usage and hosting impact
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Meeting format with clear speaker identification
- Improve: Visual demonstration descriptions for screen readers
#### Keyboard navigation
- Present: Focus on functionality over visual demonstrations
- Improve: Ensure new collaboration UI supports full keyboard navigation
#### Contrast and readability
- Present: Discussion of color scheme changes and modern design
- Improve: Specific contrast ratio testing for new admin interface
#### Text resizing and reflow
- Present: Responsive design considerations mentioned
- Improve: Test collaboration UI at various zoom levels
#### Media and captions
- Present: Video meeting format
- Improve: Transcript available, closed captions for recorded version
#### Forms and interactions
- Present: Discussion of AI client configuration screens
- Improve: Ensure API key entry forms meet accessibility standards
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Global team participating in meeting across time zones
- Improve: Consider international hosting provider compatibility
#### Inclusive language
- Present: Technical discussion uses generally neutral terminology
- Improve: Avoid assumptions about user technical expertise levels
#### Neurodiversity support
- Present: Clear agenda structure and sequential feature discussion
- Improve: Provide written summary of decisions and action items
#### Representation
- Present: Multiple voices and perspectives in technical discussion
- Improve: Ensure diverse testing groups for new features
#### Psychological safety
- Present: Open discussion of concerns and criticism
- Improve: Clear escalation paths for security and privacy concerns
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Technical architecture decisions follow from hosting compatibility requirements
- Inductive strength: User feedback patterns inform feature prioritization decisions
- Causal reasoning: Collaboration features directly address post-locking user pain points
- Analogical strength: AI client API compared to existing WordPress tools and themes patterns
#### Fallacies
- Appeal to novelty: Assumption that WordPress 7.0 needs AI features to avoid "WordPress is dead" criticism
- False dilemma: Either bundle AI providers in core or hide features completely
#### Tone of voice
- Overall tone: Collaborative and technical with constructive criticism and practical problem-solving focus
### ๐ก๏ธ DARVO Analysis
- Deny: No denial patterns detected
- Attack: No attacking behavior observed
- Reverse victim/offender: No victim/offender role reversals present
- Emotional cues and rhetoric: Professional technical discussion with appropriate concern-raising
## ๐ฏ Conclusion
WordPress 7.0 represents a significant evolution with real-time collaboration as its flagship feature, addressing long-standing workflow pain points. The AI client API provides necessary infrastructure for future innovation while avoiding vendor lock-in. However, the release needs better out-of-the-box user experience for AI features and more substantial visual improvements to meet major version expectations. Success will depend on seamless host compatibility and clear user onboarding for new collaborative workflows.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
Purpose: Stage CEE units that become Literature notes.
Split level: H3
### [H1] Real-time collaboration eliminates post locking
> [!quote] [WordPress 7.0 Product Review Meeting](https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s) by [[WordPress Core Team]] via [[YouTube]]. Published 2024. Accessed 2024-12-19.
> "Previously you would get that notice... now you don't kick the other person out."
Replaces WordPress post locking system with simultaneous editing using YJS framework and HTTP polling for universal host compatibility.
[view highlight](https://youtu.be/F-xMPY9WqG4?t=330#H1) #xref #articleseed ID:rw_wp70_collab
### [H2] AI client prevents plugin ecosystem fragmentation
> [!quote] [WordPress 7.0 Product Review Meeting](https://www.youtube.com/watch?v=F-xMPY9WqG4&t=3717s)
> "Users don't have to have subscriptions with eight different providers."
Foundational API layer allows plugins to work with any LLM provider, avoiding vendor lock-in and reducing user complexity.
[view highlight](https://youtu.be/F-xMPY9WqG4?t=3160#H2) #xref ID:rw_wp70_ai
---
### ๐ Atomic Split Pad (Zettel Candidates)
Purpose: Promote reusable claims into Atomic notes.
Split level: H4
#### [Z1] HTTP polling enables universal collaboration compatibility
- Works on any WordPress host without additional server dependencies or configurations
- Timestamp: 12:15 - HTTP transport discussion
- Links: [[WordPress-Hosting]] [[Real-time-Collaboration]]
#### [Z2] Privilege
---
# ๐ Full Transcript
*Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=F-xMPY9WqG4)*
**[16:00]** Bit quiet here, isn't it? >> Hi Paul. It's been a couple months. >> It has. It has. Hope everyone's enjoying the winter. Those who are south north of the equator. >> Yeah. Well, I'm due south of where I last saw you in Ottawa. >> Yeah. Yeah. Decent snow this year. It's been fun.
**[16:31]** Some people might not agree with me, but I like snow. >> Canadians have a weird idea of fun. Or >> if you're going to live somewhere where it snows, you got to enjoy it. >> Otherwise, move. agree to disagree vehemently. >> Let's pick fights with Canadians. They're they're known for their >> Was it elbows out
**[17:04]** >> or something like that? >> Yeah. My winter sport maintaining maintaining the ice rink. >> Hello Good to see you. Good to see you, too. Well, let's I know just to be efficient with time and I think we're are we
**[17:35]** recording this? We should be, right? Weren't we going to post this? >> I think so. I don't I don't see >> it's being said when it come >> it's being recorded. >> Oh, cool. So, the video is being recorded and everything. Perfect. So, um all right. Uh let's uh get this out. I'm very excited. Again, 7.0 I think is a chance. I know
**[18:05]** it just after 6.9 etc., like we can't pretend that people won't think, oh, WordPress 7 is now a thing. And it's like very fortuitous timing, you know, with all the AI stuff that's happening, all the things we're able to land. I think um even if we need to take a little longer, it's worth making this a release where we say people will upgrade and be like, "Oh, I've got a new thing." Um this is a more modern WordPress.
**[18:36]** there's something that uh really feels like a bit different. So, um looking forward to seeing what's uh in there so far and and we've had some discussions on P2s and stuff with the connector stuff and AI. So, hopefully we can hash some of that out on this call as well. >> Sounds great. Um and do you mind sharing your screen? Cool. Yeah. So I think I think we should
**[19:07]** >> first walk through all the things we aim for in 70 from the conversation we had back in December was it? Yeah. um and take a look at like a high level view of what are the things that uh got done, what are the things that are halfway there um and the things that were left out and then see from the hopefully from the conversations that were happening especially around the AI client and the connectors what we want to do and if we
**[19:39]** need to push anything further what it means for if we have a hard deadline or not for the release with work campasia if that's still the the case Matt in your mind um or if we have some wiggle room there to to adjust if we need to. Um so >> I I'll also say that this this meeting is designed for me to give feedback and some direction and everything, but anyone else who wants to jump in uh if they have some commentary on a screen we're seeing or or think that something should be different uh please just uh
**[20:11]** unmute, jump in. Uh looking for good ideas from everywhere. So >> yes. Uh okay. So we're going to be doing this in an actual real real time collaboration session. We'll see how it goes. So you should see my face there. Uh this is an has loaded the post and I'm there. So the the main areas we had for this release was collaboration, admin, APIs,
**[20:43]** navigation block, customization blocks, and then find and media. Yeah, it was pretty ambitious. I think like a few things were left out, but there was a lot that got done as well. I think there's a lot of super cool features, both major and small ones. There's a lot
**[21:16]** of issues that have been sitting there in either the Gutenber repo or track for ages, and had a lot of user requests. They might seem very minor, like for example, background embeds, like being able to embed a YouTube video on a cover blog had a lot of user requests. Um, stuff like that. There was a lot of those minor things that I think um come from real user requests. Um, or the icon block that had I think was one of the most popular issues in the repository. But if you go all the way up and to
**[21:46]** collaboration, I think this one is in pretty good place. Um, we figure out a way to make it work out of the box uh with HTTP transport. Um, it's uh I think the the plan is to constrain it to two users at the same time um as the default and then in different hosts and so on it can be expanded further. Um, >> we're using it currently for this demo. So,
**[22:16]** >> yes. >> Okay. So, from a from a user point of view, I'm on a random GoDaddy or Blue Host account like upgrade to WordPress 7. What is going to be unlocked from a collaboration point of view and how do I access that? Let me let me see that flow. >> Yeah. So if you open any post at the same time um if there are two users on that site that open the same post you will immediately go into a collaboration session like this. >> So previously you would get that notice
**[22:49]** what was it like >> previous you want to take this over. Yeah. >> Yeah. The locked post dialogue um where you need to take over and kick the other person out. So now you don't keep the other person out. Um that actually >> as we as we show this feature what it looked like before >> and now what happens? >> Yeah, that actually got addressed already with blog notes as well because with blog notes you could load the post and and leave notes without kicking the
**[23:19]** other person out. Um so this is like the next level of that is now you can do full-on um collaboration on everything. Um, >> and everything. >> Sorry, >> I got I got a comment on the UI. I assume that your icon over the flashing cursor is that's where your cursor is, but an doesn't have an icon over the top. Um, I know >> that's I'm that's me. Yeah, >> I know because you're sharing it, but I still feel that might be nice to have
**[23:50]** the icon on both of them >> just so that it's really clear, especially when we go mult more than that. just >> well everyone if if you looked at Matias's screen you would see my icon for him but you're saying for the person writing it you want to see someone's icon >> we all that there are two that there are two people >> see my see my own icon yeah >> yes >> interesting >> I would concur with that and I think that is also what like Figma and others do so let's uh let's let's do that
**[24:22]** >> when you're in this mode obviously like if you're just the only person editing something that would be kind of weird >> visual clutter, >> but um as soon as like it starts to be a two people in something um yes, let's show your icon by your cursor. >> Uh would we then also put this both icons up next to the um the post title at the top where the other in the to in the toolbar at the top? Yeah, there. Should we show both at the top as well or only?
**[24:53]** Um, yeah, maybe there's some UI we need to think about up there. See who's >> Yeah, >> it's show everyone in there. Yeah, that's great feedback. >> Yeah, Le, I don't know if you're there, but I think that that >> show that >> done in design. I'm curious if the >> I I think uh yeah, David Bowman was playing with that and a PR. So, that's it's a trivial thing to change. We can definitely >> play around with that a little bit, but uh I can see why you would want both.
**[25:24]** For sure. >> Yeah. Yeah. >> Yeah. And if you add more people, the the icons stuck right there at the top. So, >> Yep. >> Yeah. >> Um the other thing, >> what happens when you click on the person? Like if I were >> to follow them, you click on >> I think that's I think that's not implemented, right? At at the moment, it'll just scroll to their position in the document. >> Yeah. >> Um, that's okay. >> I think that's good. Uh, >> let's see. Let let me move below.
**[25:57]** Let me move my cursor. Okay. >> Now, how does this interact with the revision system? So >> is there is does has a revision become like as a checkpoint where we save it and that becomes like a revision or are revisions being created constantly? >> Yes. So that's a great segue because we also work on the visual revisions a bit. So if you open them and there I don't know if you have it. >> Can we open the revisions?
**[26:28]** >> Yes. Yeah. So now the revisions happen in line and visually in the >> in inside the editor. >> Um >> that's better. Yeah. >> One of the things we talked about is also having improving like authors of multiple people. That's another enhancement is being able to see that you have collaborators which becomes tricky with how >> the current WordPress revisions works. Well, I mean, we don't like WordPress
**[26:58]** doesn't say multiple authors, but each revision does have an author. So, you can end up in places where multiple revisions were done by multiple authors. So, you can list them all there on the right, show all the authors. Um. >> Mhm. >> One thing we want to try that I think would be cool is um know the the feature that YouTube has when you scrub the seek bar and it shows you like the most uh so to because right now the revisions is like they all look the same but maybe one of the revisions had like a ton of
**[27:29]** changes. So try to signal that back and I think it could be like a cool sort of like a spark line there behind the the slider. And I think that could be cool to try. uh we can try during the the beta period. >> Um that's good. I think also the ability to compare something to something else versus just being linear is important. >> Yes. Yes. >> Good point. >> There's there's some UI conventions for that and like GitHub and stuff like that
**[28:00]** that we can probably just follow and copy. >> Yeah. >> Is there a code view of this as well? You can open a classic revision screen right here for every single revision. >> Let's do that. Just see what it looks like. >> The one we know and love. >> Um I would encourage us to to bring this
**[28:33]** code view as like just kind of like a flip on the visual view. It's less of like a totally different thing. But yeah. >> Yeah, agreed. >> Are we going to bring back the the Easter egg where you compare revision? >> Can we do that? >> We should. What? What does What does everyone think? Be fun. >> Now, now we're seeing the two icons there. So yeah, I think there's been some
**[29:03]** >> Yeah, I'm using a very uh this is thrown together. So I apologize if the testing environment is a little wonky. That's that's on me. >> Yeah, we're in free beta. So >> yeah, pulling together as much as we could to get it in. Yeah. So I had to I had to call it and little snapshot. So but yeah, this actually I was wondering why I wasn't showing both. >> Yeah. And so what does a host need to support for this? like is this going to work on every single random WordPress hosting account or like what to technology?
**[29:34]** >> Yeah, I think I think that's the expectation. Um we want to the idea was for the beta to make it uh opt out uh the collaboration features so that we get uh as wide a testing as possible but there were like a few discuss discussions around that. Um Lynn, do you want to talk a bit more about the um how the base HTTP transport works and the >> Yeah, so it's basic HTTP polling and the transport that we ship in core and the idea is that it should work on any
**[30:04]** WordPress host. Uh when there's a single user in the editor, it pulls at a slower interval and then once we detect another user has joined the session, we speed that up a little bit so that we get a relatively performant experience. Uh on VIP, we've been running with a websockets based transport which allows more collaborators and is even faster and will likely offer something in jetack as well. There's a a plug-in API for this where people can put in different transports if they want to, but the one in core the whole goal is
**[30:34]** for it to work on every host without installing additional dependencies. >> So is that something a host could opt to do the websocket solution um as a added feature? >> Absolutely. Absolutely. Yeah, it's a very simple hook if they want to drop in a different transport. And the whole feature is built on top of an open source framework called YJS with that has a variety of different transport examples out there if you want to build build off of something that already is >> pre-existing.
**[31:05]** >> What are the security implications of this? Because I know this is probably creating some more surface area for like leaking private drafts or other things. So like how how's that all handled? Uh, as far as the default transport goes, uh, we're kind of storing the Y.JS document alongside the post content. So, you get both of those versions of the content stored in parallel. Um, and the actual editing. >> When you say we're storing, are we putting that in the database or like local storage? >> In the MySQL database. Yeah.
**[31:36]** >> Okay. >> Um, so in that case, it's the exact same kind of security situation that you have in WordPress today. uh it's all based on the capabilities that you have to write to the post data uh in 6.9 on the jetack side of things of course you're sending the content through a jetack conduit so that transport would have a different kind of like security setup and if a different host offered their own transport that would be the same situation right so it really varies depending on the transport but what we
**[32:07]** have in core in addition to having minimal dependencies from a technical standpoint point is designed to be from a security standpoint very similar to what we do today so that it's not scary for a host to deploy it >> and different web servers like Apache you know light whatever like speed they all support this >> yeah yeah it's just HTTP polling we did do some experiments with server sent events and long polling but those can be problematic in different hosting setups
**[32:37]** so that's why we avoided them so this is truly the lowest common denominator from what we can tell it should work in pretty much any environment >> and Kevin who was the creator of YJS agreed with this approach. Um he's someone who was involved in the process. So I just want to shout him out for contributing in that way. It's very helpful throughout. >> Yeah. >> And I think we were discussing if we make the the amount of people the amount of concurrency that we allow like a configurable thing in WP config or
**[33:09]** something similar to revisions. Um so that host can both crank that up or limit it as needed. Um because right now we don't really know like we need a bit more testing to know like because we said two is fine like maybe we've tested it with more people it seems to also be fine. Um but there might be performance issues or bottlenecks that that come up. So >> we'll definitely make that configurable with a default transport. We're just being conservative because with the polling you're using a PHP worker and
**[33:40]** that's one of the ways that hosts typically limit lowcost plans is the number of PHP workers you can run concurrently. So, we're assuming that we have a low number to work with and we're not eating up a lot of resources, but it would be trivial for you to change that number to a higher limit like Matias was saying >> and I think it may encourage the hosters to provide a a more lower a better transport which has lower overheads for them. Um, you know, the sockets and things like that the low once
**[34:12]** implemented will be more performant for the hoster. Totally. >> Yeah. >> And >> very cool. Cool. It seems really solid. >> So that's a good headline and a good anchor and we could anchor the release just on that. Very cool. >> Totally. >> Um what's been kind of the >> in kind of the usage uh what's been like user feedback? How are people using this? I mean, the main place it's
**[34:44]** production today is VIP sites, and newsrooms love it. I mean, they've been really excited to have it. >> Uh, I think smaller newsrooms will also enjoy it. like even if you don't have quite as many authors and photographers and editors in there. Um the use case that we're really hoping we cover even with just a single collaborator is, you know, I'm getting ready to launch my site and a developer or member of an agency hops in there to show me how to do something in the editor. I think that's going to be really cool. Um but
**[35:14]** we haven't played with that as much because most of the users right now are on larger VIP sites. I'll tell you, my wife will be pleased that I can join her on her blog and help her. >> So will my dad. >> Yeah, this this post, which I can drop a link to, goes through research that was done and user feedback that was done um between 45 beta participants that was shared. Um and this is part of I really encourage everyone to test this a ton um during the beta process so that we can make this as solid as possible for as many people as possible. Um but yeah,
**[35:46]** there's great feedback here. And so the invite flow assumes people have user accounts and they just visit the same URL for editing. >> Yeah, that's correct. >> Yeah. >> The main feedback that came up Oh, sorry. >> They need to they need to be editors presumably, but an author and an editor different privileges. Does that cause any issues with any of the bits? I can imagine Luca could be an offer maybe even a contributor um on editing it. Presumably the
**[36:18]** contributor will won't have publish buttons but the the editor would have publish buttons and things like that. >> So at the moment the capabilities when it comes to publishing are not changed at all versus WordPress as it exists in 6.9. Right? So someone needs to be able to click that button to save the post to publish the post and if no one in the session has that capability you wouldn't be able to do so. Um that does have an implication as well of you know if I'm a lower privileged user when the higher
**[36:51]** privileged user clicks save they are kind of trusting my changes that I put into the editor as the lower privilege user. So that does complicate that aspect of capabilities in WordPress in a sense. If you're collaborating with someone, you're somewhat trusting them to put stuff into the editor. I wonder if there is um I'm I'm talking behavior. I wonder if there's a a situation where someone might be certainly if you're teaching somebody or where there could be bits missing from
**[37:22]** the UI because they are a lower privilege. Um, and so would it be like, you know, shadow mode or sort of faded out or something? So you could see the button being pressed by the other person, but you don't have access to it or something in that mode. It might be too complicated to even think about. >> That is possible today. And we've talked about maybe addressing that for a different use case. We've talked about that in the context of block notes where today when
**[37:54]** you add a note to a post, what you're really doing is adding an attribute to a block that has the ID of that note. So it implies when you add a note that you have the ability to write to the post. And in a lot of systems, you can have a role where you just have the ability to add notes. You don't have the ability to edit content. We can't do that today in the WordPress model. So the types of things that you're describing can totally happen with the model we have today where you could have inconsistencies in that way but it would take a a lower level addressing of that
**[38:26]** at like the capability and users level to really make that bulletproof. I have a question related to that and that is let's say I'm an administrator I have unfiltered HTML >> and another user comes in who is just a author they don't >> and I'm getting ready to publish my post and they sneak in and they insert a custom HTML block with some malicious JavaScript >> and I don't notice it. >> How is that accounted for? >> Who whoever clicks save is the one whose
**[38:58]** capabilities are applied on the server side. So in that situation, if you've got sneaky collaborators who are coming into your system and putting stuff in in the editor, that's a problem for sure. >> That's a exploit vector. Um, >> but that's >> as you point out it it does say it does kind of like that's a lot of steps. I don't I don't think that's like a I think something we should be aware of, but I don't think I consider it like a
**[39:30]** fundamental flaw. >> I think it might be something that needs to be like it should be configured with like a given site wants to ensure that only equally um same role people can share a collaboration session, they could do that. It might not be the default in core, but it might be something that if you want to really tighten some of that, you could do. That would be a relatively practical way to address that. Yeah. >> Or the lowest ri lowest privileges enforced
**[40:00]** >> while it's in multiple session. So in order you know so you had a contributor working on it and an admin going to say the contributor has to leave the session before the admin can actually execute the save maybe >> or even even if one person has unfiltered HTML they couldn't edit with someone who doesn't at the same time. >> Yeah that's what I was implying. Yeah,
**[40:31]** >> we can talk about that for sure. >> Yeah. >> And perhaps >> as we think about uh I want to think also outside of just post. So um this idea of presence I think is really cool and seeing where people are. So uh how as we think of 71 72 like how can we bring that to like all other parts of WB admin? >> Yeah we we we had a we had a pretty cool demo
**[41:03]** where you could follow the user across the entire admin but it was using the systems that we have for the site editor not the vanilla WP admin. uh in vanilla pad admin that is going to be a lot harder I think to pull off accurately. >> Yeah, >> I I was playing around a little bit with kind of faking it in the rest of WP admin where using the admin Ajax and heartbait API stuff. I would just track where the user is at least and then I
**[41:33]** could see like oh like Matt's on the categories page right now and I could click to go to that page. I think we can do something like that where we still limit the actual real-time data transports to the editor sessions which keeps the resource usage low but also kind of mimic aspects of those user flows and things like Figma. >> Yeah. >> But I'm not sure how high fidelity. I think the issue there is whenever you start interacting with the UI like you have a lot of state that you need to transfer like if there's a drop down
**[42:04]** open if there's all of those elements that we can model them if you go through core entities and so on like we can like again we we pull it off even within the editor to show okay if they open the insertter if they open this all of that is transfer but in normal API I think that would become >> um a bit more difficult But it's I think it's certainly something we should start pushing now that we have the the foundation >> certainly that presence that you just talked about then. So like um I think
**[42:36]** it's this concept again the idea that you log into your WordPress I see oh Matias is moderating some comments you know Lynn is on the dashboard maybe reading some news you know that sort of thing. we don't have to like go all the way to like uh that we're doing the same thing on the same setting screen or whatever like that like we are in the editor. But I think that idea of like you log in and you can kind of see the neighborhood of like who else is also there is uh pretty
**[43:06]** cool. And um and also like let's imagine as well that sometimes some of these other users might be agents in the future. They might not other be other humans. you might want to see like what what's your bot up to? What's your bot doing right now? Where is your bot spending time? >> Yeah, we had a few of demos of that as well, like because it can also become like a pretty cool teaching tool as well, like oh, like do this and it actually shows you exactly how to get there.
**[43:37]** Um, one quick thing before we move on. I think the the other element we didn't talk too much is plug-in compatibility. Um, and there's a few issues in the editor with plugins using classical metab boxes and things that um don't really cooperate super well with the the share document, the YJS document. Um, that's uh I think L there was like sort of already like an aware list of different plugins that had issues and how to circumvent them and so in
**[44:08]** progress. Yeah, >> we were talking with Ella earlier today about just checking for the has metab boxes state and if that's true we'll basically disable collaboration out of the box. But the goal is to have some documentation for plug-in developers who are using classical metaboxes to show them how they can bridge between their current JavaScript and WordPress data to integrate with it. and then they could use a filter to say, "Hey, my
**[44:40]** plug-in's compatible. You don't need to turn off collaboration when I'm in place." So, that's the idea. We'll we'll have a tutorial that explains how to do it and then hopefully a plugin or two we'll update ourselves to show folks how to do it as well. >> And just the meta, we had someone join and then we got that echo. Um, I'm apparently not the host. Who's the host of this meeting? >> Mary, are you there? No, I believe it's one of the Ringler's accounts, but I'll look into it.
**[45:10]** >> Let's let's get a host because I'm not able to mute this bone kira person. So, like let's at least make a couple of us co-host or something so we could uh mute people if we need to for these where anyone can join. Yeah. >> So, is the uh collaboration feature um is that going to be do you think that'll be extendable to be able to do like live posts? um um continually updating posts or like elections and things like that.
**[45:41]** Uh live blogging. Um >> um >> it's more plug-in territory, I would say. >> Yeah. >> Yeah, you could certainly use the same tools we're using to build collaboration to pull that off, but the collaboration feature itself is very much about the editor. Great. All right, let's let's move on. >> Yeah, >> this is looking by the way feedback. this is looking very good like this is uh and um let's keep in mind as a you
**[46:15]** know the bullet points that we're coming out of this um the I think how we talked about this is a great way to position it like uh showing you know remember >> when you used to open something that says you're locked out now you can again positioning always like user first customer first like now you can, you know, send someone a link and they can be in the same thing and you can watch them edit at the same time. You can uh
**[46:47]** and uh you know, we can say give them a call and you can talk while you're doing this. Like we're obviously not doing the calling part, but people have infinite number of ways they can have other channels open while they're looking at the same. >> Yeah, blockes are compatible with real time. Amy, we should work on that. I think you're on this call for the beta one post um after this. Yeah, let's keep keep on going. What do you want to talk about next, Matias? >> Uh, let's keep in sequence. Um, the admin side, I think there's some good
**[47:17]** progress and I think it's marked yellow because uh um it was a bit undefined exactly what to do with the admin. So, there's some work that was done with a default color scheme and some basic CSS um updates on margins and cars and so on. Um, but it's not I would not say at all that this is like I don't perceive this as a redesign of um like it's not what I would expect to see when we say oh WordPress this is a new visual of
**[47:50]** WordPress and the there's a few things that were added like view transitions are in um >> that's what I'm doing right now just for awareness. Yeah. >> Yes. Um, we have you transitions, the modern color scheme. If you go back to the post, um, there's a few like now the font library is available for all themes. It used to be locked to block themes before. So many folks didn't really
**[48:22]** experience the font library. Um so the phone library is now available to and the idea with the phone library was that okay you could manage your phones like another asset like you've managed media and so on. So you can manage your phones. This is now exposed to all sites and if you go back um see what else relevant to this card. No I think that's >> PHP >> on the APIs. Yeah.
**[48:53]** >> Yeah. We can probably jump to APIs, I would say. >> Yeah. Uh the Let's Let's uh before we go on, um can we go back because I I didn't want to give some critical feedback here that I agree that this is not >> kind of what I was hoping for. >> Um the color change is view transitions are awesome. Like I think that's fun. Um, I think I would love to see what are some possible CSS interventions around
**[49:23]** like our buttons and other things we could do to make them feel a bit uh more modern or or cleaned up. Um, I don't know if anything I mean topography spacing seems like pretty decent. Uh but uh you know other ways I see we have Pablo here like other designers like ways we could spruce this up a little bit uh to just give it a a bit better of
**[49:54]** a feel. It could even be things like, you know, um, gosh, having like some, you know, when you hover over a link, it does something a little fancier, you know, like, uh, just whatever it is that kind of makes it feel a little bit more alive using some of the things allowed by uh, very capable in browsers now. So, uh, I would also point to this screen options and help section like that feels a little clunky. like maybe we can like
**[50:24]** tighten that up, curve it a little more. Um, >> question. >> In general, I think I think where people criticize where we look at, we're very blocky, right? We have lots of hard corners. And in fact, this new revisions feature the avatars are circles, right? So, um, like think about where we can, uh, round the edges a bit more as well or, you know, make some shadows, other things that might like, like, uh,
**[50:55]** again, CSS only interventions that I think would at least make it feel like a little more like a >> a thing. Shadows actually would be really interesting to look at on a page like this. Um, the color updates. So, I've seen some mixed feedback on those. What's what's the current thinking on that? >> I think it's a bit hard as a color. Um, I was going to ask with the icon blocks and icon API coming in, can we swap the the icons on the admin? Is that
**[51:26]** accessible to it? >> No. It's is the icon block is not for the the admin iconography. >> But we've got an icon an icon API now, haven't we? I wonder if the >> it's not open to >> that. >> No, my understanding is that can't be used not for 7.0. I think that the API is pretty limited as it is. Um and 7.1 already has an open issue to iterate on it. >> Um which you can find the GitHub repo for 7.1.
**[51:57]** Yeah, that would be great to comment on. I can ping you with that Paul after this. I would encourage us also to look for places where we have opportunities for things that are animation like or motion like which view transitions is basically right. Um so there are other places where uh you know when we press a button and it goes you know uh loading or other things that we could uh spruce it up. some of our loading screens. Uh updates
**[52:29]** and you don't you probably don't have any updates available here, but like um you know that kind of like spinner that we show like I think we haven't updated in like 15 years. It's a new spinner. >> We also talked you mentioned widgets previously. I know that was something that we were hoping um to see contributions around, but yeah, widgets I think are another like adding some new widgets that might be a bit more exciting. Um like this time last year I
**[52:59]** think was one that you talked about, Matt. Um yeah. Uh so I don't know if you saw something good for people to check out that just launched is uh called Dreamer. It's from a Hugo Bar who was one of the sort of like original leaders of Android and um a guy his name's Escape Me but he was the CTO of Stripe and it's an AI thing but part of what they do is they make kind of like a
**[53:30]** a home screen that with you can add widgets too and it's really fun. Um I would love that. And do you mind pulling up the dashboard again? >> Yep. I also I'm guessing this is what you're >> maybe >> Okay, sorry. I just wanted to get it. >> Um, no, that's not then actually. >> Okay, that's something else. It might >> That's a different streamer. >> What is it called? >> It's streamer.com, actually. Dreamer.com. >> Oh, even easier. Thank you. I was trying to Google based on what you said. Didn't
**[54:02]** get very far. Cool. Uh, so I mean one sort of inspiration I'm taking from this is that how cool would it be if those widgets on your WP admin dashboard again were something that people could uh sort of remix publish and maybe we have a directory of in the uh in the dreamer like fashion like because that's kind of what this is. This is a
**[54:33]** homepage that >> Yeah. >> Uh I would love for people to make their own >> and we'll have some default ones >> but um like you know especially with the ability of things like TX or other things to like make widgets here like I think uh this is a very ripe place for innovation in uh the WordPress experience. And I love that this dashboard becomes like people's favorite homepage. You know, you could have your to-dos there, you could have your links, you could have whatever. You know,
**[55:04]** >> we we have a pretty cool prototype of a like a new dashboard widget where you can resize, reorder them, like really configure it and make it your own and where each widget can be sort of its own canvas and you can have all sort of things, but it's a bigger sort of takeover, I think, than just what we could do with with CSS here. So that's something that um >> um the on this day uh >> what happened to that? That was a pretty
**[55:34]** simple thing. Did we bring this in or did we bring it in? What's the thoughts there? Matsis release lead. >> Sorry, what was that? I missed the >> the on this day in previous years. >> Oh, the post today. Yeah, that that's there was a lot of excitement on that one and it didn't get picked up at all. like we had them and you did have the post and the old post where we No, but the actual post um >> the sub.0
**[56:05]** >> where we Yeah, what we call Yeah, there were a lot of widgets that were mentioned people wanted to work on but didn't get picked up. Um the today last year was one, the notes uh widget for notes was another one. So, all of those didn't get picked up, unfortunately. >> Um, the one I use is written by Scott Riley. Uh, so, uh, we can certainly ask
**[56:38]** him to just, you know, >> yeah, >> do that, merge that. I think it's it's very simple. It's very simple code. I I I don't think it's like a a thing that is uh should be too controversial or hard to bring in even at this stage. beta one. Um, it would just be sort of more like bringing the plugin in the core. So, >> that'd be awesome. >> Uh, let's do that. I think that code is very clean and simple and it's uh yeah,
**[57:10]** >> for those who don't know, I can do a little screenshot of that or or screen share. Hold on. Give me a second. >> Yeah, I'll stop sharing so you can take over. Uh, I'll just make a little screenshot and drop it in here.
**[57:42]** >> So, Oh, there's no chat. >> I know. >> Um, Okay, let me think of the easiest way to do this. >> If you send it to me, Matt, I can download it and share it. >> Well, I can It's on cloud up now. So >> Oh, perfect. Even better. >> And And I will DM that to you.
**[58:14]** >> Great. You can pull it up just so we all kind of see like what the uh >> Here we go. >> And I think a u a list of all the notes in the sections could be quite very useful if we could find a widget that did that at some point. Yeah. That's almost like a task list. So, I got to go and look at these notes
**[58:45]** that people have made. >> Let me also just put out there uh for a 7.1 7.2 too. I think there's a lot we could do just around like a site activity again beyond you know the more audit logs or external things or whatever like that just like basic looking at like what's happened in the WordPress that would be a pretty interesting widget for this page.
**[59:26]** consider it noted. And if anyone's really excited about contributing with this, this is definitely an area ripe for contribution. Um, I just want to call that out as well. Yeah, I think we were a bit thin on on contributions on some of these and so many got dropped. I think the because they I think don't take much. >> Part of what we need here as well um so give us some thought is probably a a category of plugins on WordPress.org which are just dashboard widgets
**[59:59]** >> and a directory of those and a visual way to explore them and sort of like a way to sort of like >> search for that separate from they're part of the plug-in directory but like they're kind of their own thing. So >> um let's have a way for plugins to >> uh designate themselves as like I'm just a dashboard widget plugins >> and yes same as we did with a blog directory. It's just plugins >> label as blogs. We can do the same for dashboard widgets. >> Lyn, could you follow up on that by chance? Thank you.
**[60:30]** >> There was a discussion with the AI team about having something similar for connectors as well. >> Yeah. Should we talk about that with connectors? I think I know that was a something that was brought up in the >> some point. It's coming up is a second idea. Let's just quickly cover the the PHP only blog registration I think is pretty cool is the idea is that you can write blocks just in PHP and the inspector controls the canvas and so on is generated for
**[61:01]** you. So this is mostly for folks that are not comfortable with JavaScript but it still produces a block that is uh featurerich and with direct manipulation and all of those things. Uh so it's um trying to bridge the the two worlds a bit more and and throwing throwing out a bone for the the more PHP heavy developers out there to produce the same sort of experiences. Um I think there's a lot that we can do there as well as we connect with patterns and bindings and so on. It starts to really expand the
**[61:32]** pallet. Um, which is also interesting with with stuff like TEX and so on and AI that is making a lot of these distinctions between what is PHP or JavaScript like rather obsolete because you can move between them. Um, but it's still again good to have in the sense of it produces consistency and so on and allows sites to create a lot of cool custom blocks. Um, the next one we had there yes is a WPI client. Um, we have two things to discuss here. one was the
**[62:02]** proposal for the um AI client back in December. There's been work going on during January. Uh James, perhaps you can talk a little bit about the expectation there, what it does, what baseline sort of it establishes. And then the comment that Matt made on the like what does it mean for users and that led into the discussion about disconnectors um that I think opens up um a lot more doors to consider. And
**[62:33]** so I think we have two things there to discuss if it's a >> Matas can you add uh markdown feed to that list or discuss >> we need to free start with this but yeah >> let me let me jump in >> let me jump in with this we can talk about the markdown feed stuff as well as it's kind of related. Um, I see that Felix is here, so I will just do actually I will ask Felix if he wants to talk about this because he's the one who
**[63:04]** built it. >> Um, sure. I mean, uh, there's not too much ad to add other than what the post says, but, um, I mean, I'm definitely happy to answer any questions. So in a nutshell um this will bring the layer into core that basically work other WordPress features um can can use AI um whether it's from OpenAI anthropic Google or local models
**[63:35]** um all of that basically is supported by the by the client environment um that we would merge into core and um the way it's implemented though is that none of this proprietary services or something is bundled into into core because that would sort of go against the philosophies also it's paid the the API access paid so we don't want to merge that into core um so basically by merging this into core we have the foundation in core that users
**[64:06]** can choose which provider they want to use like I mean let's say like I don't know somebody loves Google somebody loves openai each of them can choose choose what they want to do. They don't have to have eight subscriptions with eight different providers, which would be a horrible experience. And that's where the plug-in ecosystem only approach is pretty much at today because everybody's just implementing their own stuff in their own ways. Um, and the plugins that build on top of this foundation, like the plugins that actually build features for end users
**[64:36]** that use AI, um, once they build on this um, they can they can work with any provider credentials. So they don't need to the way that this that this AI client works is that you just you just write the AI code. you don't you can you can say I want to use an open AI model GPT 5.2 do whatever um if it's available but you can say oh but if the user only has enthropic configured okay I'm fine to
**[65:08]** execute this feature with enthropic and that gives the that basically allows gives control to the end user to say I have I love this provider I want to I have a subscription with that provider and but they can still use all the AI features that any plug-in would build which today that's not the case because all the plugins build their own API API layers around their usually their pro developer the developer's own provider of choice and because doing that is a ton of work um they usually just stood for one provider and that at the end of the day leads to a lot of fragmentation
**[65:39]** where users have to paste the API keys into 10 different plug-in screens um and um yeah and then at the end of the day they also need to get 10 subscriptions if they have 10 plugins that only work with different providers and that's what this foundational layer in the middle solves. So on one line summary would be this is a foundational developer API that lets plugins and core interact with LLMs with no provider lock in. It's a fluent API.
**[66:11]** It's very very beautifully crafted by Felix himself. >> Yeah. But when you say when we say users will be able to choose like users right now wouldn't have any interface to do that right like we're like it wouldn't need to be through plugins or code >> and and that's where that was the kind of crux of my feedbacks Felix and so you said something there which is the philosophy is we shouldn't include anything um I actually think we should and we have precedents for this in WordPress in the past so I think it's
**[66:43]** okay uh especially to provide like a default out of the box user experience to say okay here's sort of Google Anthropic OpenAI whatever or um that are kind of like out of the box there's something there that you could see or do or happen. Um, a lot of my criticism, I went through some of this with James. It's like, okay, there's this cool new feature, but then you have to like do like 10 steps to enable
**[67:13]** anything for anything to happen. So, I think uh we we do need the AI hook for 7.0 like it'd be if we if we if we do a big announcement for 7.0 and like there's not AI mentioned, I think everyone's going to, you know, all the WordPress is dead stuff will even be even bigger. So, uh, it would be nice to have some, uh, some sort of built-in things that people can see and do. And I could still again call other plugins to
**[67:45]** like actually activate stuff. But like, um, I'm totally okay with building in a few uh, things by default so that there's some um, some scaffolding or just something that like when people get the update, there's some there already. >> Okay. I mean a little >> to respond to that feedback like I'm totally open to that and I think that's I I did it this way because I assumed we shouldn't put these things into into core but I'm totally open to changing that and we have already built providers
**[68:16]** for um Anthropy Google and OpenAI. That's what we've been using for all the testing and if we wanted to bundle them in core we could. Um, Felix, I think my suggestion would be let's look into how tools work and maybe do something similar to tools where you have your list and you have those four as the primary lists there. >> Yeah. Yeah, I mean today like as of now the the AI client that is that that is part of the what is part of the proposal
**[68:47]** would be that there is a screen in the admin that where you can paste your credentials and whichever model whichever providers you have plugins and you have available for they show up there with a field right and then you can be like oh I I want to paste my API key for anthropic or something. Um, but yeah, but although with the current proposal, this screen would be there, but it would only actually appear once you've installed a plug-in. But we could reduce that friction if we bundle some of the providers into core like you
**[69:19]** said, man. >> Can I suggest that perhaps we're actually going to bundle the plugins in because the way we add other connectors would be by adding a plugin. So, if we're going to have um uh Anthropic and Google and whatever, the the plug-in for that should be auto installed into plugins folder rather than because that's the same pattern as someone we add secondary. >> I mean, I'm going to say this would remove this will still have one extra
**[69:50]** click, right? like like if you have I guess if you don't have the plugin at all you have to install it one click activate one click paste your API key three actions if I mean if you auto install them you don't have the installing anymore but you still have the activation needed and then you still have to paste your API key >> so it's I should also clarify that part of what I'm saying I want bundled is more the UI and the API key interface I'm not saying that we need to b bundle the entire libraries for interacting
**[70:20]** for all these different things. Um, so it's it's okay if that still is like a, you know, something that gets installed or or something like that. But the um, >> go ahead. >> I think the diff the difference maybe between this UI being completely hidden until you have a provider instead inversing that and having the UI visible and that leading you to install the relevant providers. >> Exactly. So that way when people get 7.0 know like again it's new a stuff where
**[70:51]** do I go? >> Oh >> yeah let's uh and and think of also let's think of we have this opportunity when people upgrade to show this screen of all the new stuff right >> and so let's have that be interactive and say hey now click here and you can see all the AI things you can connect so again think of this from like a user point of view like when someone uh put yourself in the shoes of someone like okay I got WordPress 7.0 today and I would love for hosts to also be like email like hey your WordPress is now 7.0
**[71:23]** Oh, log in and it'll walk you through all the cool new stuff you can do, you know. So let's think about that as like a user journey um that people are doing that like okay their host auto upgrades them to