Episode 14: Mike Herchel ๐Ÿ”— **Source:** [Episode 14: Mike Herchel](https://www.youtube.com/watch?v=YHrROj3WM64) > [!note]+ Document Notes > tags: [drupal, cms, community-marketplace] > author: Community and Code > source: YouTube > reference: https://www.youtube.com/watch?v=YHrROj3WM64 > date created: 2025-01-07 18:30 > > # ๐Ÿท๏ธ Title: Episode 14: Mike Herchel - Building Drupal's Commercial Ecosystem with Dripyard > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Research Drupal Canvas developer experience โ€” upcoming release #devrel - [H2] Explore single directory components approach โ€” technical investigation #wordpress - [H3] Compare marketplace models between CMS platforms โ€” strategic analysis #community ## ๐Ÿงญ 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 - [Dripyard](https://dripyard.com) - [Drupal CMS](https://www.drupal.org/drupal-cms) - [DrupalCon Chicago](https://events.drupal.org/chicago2025) ## ๐Ÿ“ Summary - Mike Herchel discusses Dripyard, a company building premium Drupal themes for the emerging commercial marketplace - Drupal's new component architecture enables robust theme development that was previously impossible due to markup unpredictability - The community is balancing commercial opportunities with collaborative open source values as it targets the mid-market - Drupal CMS and Canvas page builder represent major strategic shifts to compete with WordPress and other platforms - Developer experience improvements through single directory components reduce technical barriers for theme creation ## ๐Ÿ“– Main Content Mike Herchel, co-founder of Dripyard, explains how Drupal's new component architecture is enabling a commercial theme marketplace that was previously impossible. Drupal themes historically couldn't predict markup structure since content types, fields, and views are created dynamically by site builders. The introduction of single directory components allows themes to ship with complete component libraries including markup, schema, CSS, and JavaScript. Dripyard represents part of Drupal's strategic pivot from enterprise-only focus back to the mid-market, driven by declining market share over the past decade. This shift includes Drupal CMS (a preconfigured distribution), Canvas page builder, and site templates that bundle themes with content types and sample data. The conversation explores tensions between Drupal's collaborative culture and emerging commercial opportunities. Unlike WordPress where competing plugins rarely collaborate, Drupal developers traditionally merge similar solutions. The leadership has committed to keeping modules GPL and free while allowing commercial themes, creating a middle path. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/YHrROj3WM64?t=0) โ€” [H1] Introduction to Dripyard - Key idea: Dripyard sells premium Drupal themes that leverage new component architecture - Evidence: "We sell premium Drupal themes that don't suck" #### โฑ๏ธ [02:30](https://youtu.be/YHrROj3WM64?t=150) โ€” [H2] Historical Theme Limitations - Key idea: Drupal themes couldn't predict markup structure from dynamic content creation - Evidence: "The theme could never predict what the DOM structure was and what the CSS classes is" #### โฑ๏ธ [04:45](https://youtu.be/YHrROj3WM64?t=285) โ€” [H2] Single Directory Components Solution - Key idea: New component architecture provides complete libraries with markup, schema, and styling - Evidence: "A theme can ship a whole library of components as the markup the schema of what type of data it has" #### โฑ๏ธ [07:15](https://youtu.be/YHrROj3WM64?t=435) โ€” [H1] Drupal's Strategic Market Shift - Key idea: Drupal is pivoting from enterprise-only to recapture mid-market after market share decline - Evidence: "Drupal really concentrated on the enterprise...the unintended consequence is that Drupal's market share started to decline" #### โฑ๏ธ [10:30](https://youtu.be/YHrROj3WM64?t=630) โ€” [H2] Drupal CMS and Canvas Introduction - Key idea: Drupal CMS provides preconfigured installation while Canvas offers next-generation page building - Evidence: "Drupal CMS...has all the modules that you have to download preconfigured" #### โฑ๏ธ [13:45](https://youtu.be/YHrROj3WM64?t=825) โ€” [H2] Site Templates Concept - Key idea: Site templates combine themes with content types, modules, and sample content - Evidence: "Site templates are basically like it's a theme...but also preconfigured with those content types" #### โฑ๏ธ [16:20](https://youtu.be/YHrROj3WM64?t=980) โ€” [H1] Commercial vs Collaborative Culture - Key idea: Drupal's collaborative culture differs from WordPress's competitive plugin ecosystem - Evidence: "WordPress had like thousand and something form builders...they won't play nice with each other" #### โฑ๏ธ [20:15](https://youtu.be/YHrROj3WM64?t=1215) โ€” [H2] GPL Licensing Strategy - Key idea: Modules remain GPL while themes can be commercial through CSS/JavaScript licensing - Evidence: "Modules will always be GPL forever free...CSS and JavaScript is not necessarily GPL" #### โฑ๏ธ [25:30](https://youtu.be/YHrROj3WM64?t=1530) โ€” [H2] WordPress Ecosystem Comparison - Key idea: WordPress's commercial ecosystem enables significantly lower conference costs - Evidence: "Word Camp US can cost thing like $50...as compared to Drupalcon which is like a 1K basically" #### โฑ๏ธ [28:45](https://youtu.be/YHrROj3WM64?t=1725) โ€” [H1] Personal Journey to Drupal - Key idea: Community connection through Florida DrupalCamp sparked deeper involvement - Evidence: "I was hooked...I didn't know that there was actual community" #### โฑ๏ธ [32:00](https://youtu.be/YHrROj3WM64?t=1920) โ€” [H2] Founding Dripyard - Key idea: Business partnership combines front-end expertise with backend development skills - Evidence: "He's a amazing backend dev. He's a horrible front end dev" #### โฑ๏ธ [35:15](https://youtu.be/YHrROj3WM64?t=2115) โ€” [H2] Development Timeline Challenges - Key idea: Creating comprehensive theme systems requires significantly more time than anticipated - Evidence: "I thought we were going to have this first theme out in like 3 months. It took like 10 months" #### โฑ๏ธ [40:30](https://youtu.be/YHrROj3WM64?t=2430) โ€” [H1] Drupal CMS User Experience - Key idea: Guided installation asking "what type of site" improves first-time user experience - Evidence: "It's asking you like what type of site you want to create" #### โฑ๏ธ [43:45](https://youtu.be/YHrROj3WM64?t=2625) โ€” [H2] Canvas vs Gutenberg Comparison - Key idea: Canvas avoids Gutenberg's dual markup requirement for editor and frontend - Evidence: "One thing that I really disliked about Gutenberg is you have to have like almost two versions of your markup" #### โฑ๏ธ [47:00](https://youtu.be/YHrROj3WM64?t=2820) โ€” [H2] Developer Experience with Components - Key idea: Single directory components use familiar Twig templates without requiring React knowledge - Evidence: "If I want to create a component that works in and outside of canvas, it's the same" ## ๐Ÿ“š References - [Dripyard Blog](https://dripyard.com/blog) - [Drupal Single Directory Components](https://www.drupal.org/docs/develop/theming-drupal/using-single-directory-components) - [Florida DrupalCamp](https://fldrupalcamp.org) ## ๐Ÿ—ฃ๏ธ Paraphrase - Drupal's theme ecosystem was limited because themes couldn't predict the markup structure from dynamically created content types and views, making comprehensive styling impossible - The new single directory component architecture allows themes to ship complete component libraries with markup, data schemas, CSS, and JavaScript, enabling a viable commercial marketplace - Drupal is strategically pivoting from enterprise-only focus back to mid-market through Drupal CMS, Canvas page builder, and site templates to compete with WordPress and modern platforms ## ๐Ÿ“ฐ Newsletter Exciting developments in the Drupal ecosystem! Mike Herchel from Dripyard explains how new component architecture is revolutionizing Drupal theme development. Unlike previous limitations where themes couldn't predict markup from dynamic content, single directory components now enable comprehensive theme libraries. This technical advancement supports Drupal's strategic shift toward the mid-market with Drupal CMS and Canvas page builder. The community is thoughtfully balancing commercial opportunities with collaborative values - keeping modules free while enabling theme marketplaces. For WordPress developers, this offers insights into alternative approaches to component systems and marketplace models. The conversation highlights how technical architecture decisions directly impact commercial ecosystem viability. Resources: [Drupal CMS](https://www.drupal.org/drupal-cms), [Single Directory Components](https://www.drupal.org/docs/develop/theming-drupal/using-single-directory-components), [DrupalCon Chicago](https://events.drupal.org/chicago2025) ## โœ… Action Items #### DevRel - Developer experience: Study single directory component architecture for potential WordPress applications - Education: Create comparative analysis of CMS component systems for developers - Community management: Monitor Drupal marketplace launch at DrupalCon Chicago for lessons #### WordPress - Core: Evaluate component architecture lessons from Drupal's approach to markup predictability - Themes: Research marketplace models balancing commercial viability with GPL compliance - Community: Compare conference economics between WordPress and Drupal ecosystems #### Community - Maintainers: Document approaches to balancing collaboration with commercial opportunities - Contributors: Study how technical architecture enables or constrains marketplace development - Ecosystem: Analyze mid-market targeting strategies across different CMS platforms ## ๐Ÿงช Hypotheses - Single directory components will significantly increase Drupal theme marketplace adoption by solving markup predictability issues - Drupal's mid-market strategy will improve market share if execution matches technical capability improvements - Canvas page builder's React-free developer experience will lower barriers compared to Gutenberg's learning curve - Site templates bundling themes with content types will reduce time-to-value for Drupal implementations ### ๐Ÿ“Š Methodology - Survey theme developers about component architecture adoption rates and development time improvements - Track Drupal market share metrics following CMS launch and marketplace availability - Compare developer onboarding times between Canvas and Gutenberg through controlled studies ### โ“ Questions - How will Drupal's collaborative culture adapt as commercial opportunities increase competitive pressures? - What specific technical architecture decisions enable robust theme marketplaces across different CMS platforms? - Can mid-market targeting succeed without sacrificing the enterprise capabilities that differentiate Drupal? ### ๐Ÿ”ฎ Future Research - Long-term impact of component architecture on Drupal theme ecosystem diversity and quality - Comparative analysis of CMS marketplace models and their effects on community dynamics - Developer experience metrics for different page builder architectures and learning curves ### ๐Ÿ’ก Implications - Practice: Component-based theming could reduce development time while increasing maintainability - Policy: GPL licensing strategies for themes vs modules may influence other open source project commercial models - Education: Developer skill requirements may shift from React specialization to component architecture understanding - Funding: Successful theme marketplaces could provide sustainable revenue for CMS ecosystem development ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Discussion of UI improvements in Drupal CMS admin interface - Improve: Component architecture diagrams, marketplace interface screenshots, Canvas vs Gutenberg comparisons #### ๐Ÿ”Š Aural learners - Present: Full podcast episode with natural conversation flow - Improve: Timestamped audio chapters, technical term pronunciation guide #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear explanations of technical concepts, analogies to WordPress ecosystem - Improve: Glossary of Drupal-specific terminology, component architecture definitions #### ๐Ÿงฉ Kinesthetic learners - Present: References to hands-on development experience and bug filing - Improve: Step-by-step component creation tutorial, interactive Drupal CMS demo #### ๐Ÿง  Logical learners - Present: Clear timeline of Drupal's strategic evolution, cause-effect relationships - Improve: Decision tree for choosing CMS platforms, technical architecture flowcharts #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community dynamics discussion, conference comparisons - Improve: Links to Drupal community forums, collaboration examples #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Detailed technical explanations suitable for independent study - Improve: Self-assessment checklist for CMS selection, reflection prompts #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem analogies for community and commercial relationships - Improve: CMS evolution timeline, marketplace ecosystem diagrams ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Proper heading hierarchy, descriptive section titles - Improve: Alt text for any embedded media, table headers for comparison data #### Keyboard navigation - Present: Standard HTML navigation patterns - Improve: Skip links to major sections, focus indicators for interactive elements #### Contrast and readability - Present: Standard text formatting meets basic contrast requirements - Improve: Ensure all timestamp links maintain sufficient contrast, larger text for code examples #### Text resizing and reflow - Present: Responsive text layout supports standard browser zoom - Improve: Test at 200% zoom for reading flow, ensure no horizontal scrolling #### Media and captions - Present: Full transcript provided for audio content - Improve: Downloadable transcript option, speaker identification in transcript #### Forms and interactions - Present: Standard link interactions with descriptive text - Improve: Clear link purposes, button labels for any interactive elements ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Discussion of different community cultures (Drupal vs WordPress) - Improve: Include perspectives from international Drupal communities, multilingual considerations #### Inclusive language - Present: Professional technical discussion without exclusionary terms - Improve: Define technical jargon consistently, avoid insider assumptions #### Neurodiversity support - Present: Well-structured content with clear headings and logical flow - Improve: Content warnings for rapid topic changes, consistent formatting patterns #### Representation - Present: Focus on technical merit and community contributions - Improve: Include voices from diverse backgrounds in CMS communities #### Psychological safety - Present: Respectful discussion of different platform approaches - Improve: Acknowledge learning curves without judgment, encourage exploration ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Technical architecture limitations logically lead to marketplace constraints - Inductive strength: Personal experience with community involvement generalizes to broader patterns - Causal reasoning: Market share decline attributed to enterprise-only focus with supporting evidence - Analogical strength: WordPress ecosystem comparisons illuminate Drupal opportunities and challenges #### Fallacies - False dichotomy: Oversimplifies collaborative vs competitive dynamics - communities can have both - Appeal to novelty: Assumes newer technical approaches are inherently better without full evaluation - Hasty generalization: Personal GPL research conclusions may not apply to all commercial scenarios #### Tone of voice - Overall tone: Conversational and informative with balanced perspective on community trade-offs ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No significant denial patterns observed - Attack: No attacks on accusers present - Reverse victim/offender: No victim --- ## Full Transcript [00:13] [music]<br>[00:18] Welcome to Community and Code, uh, the<br>[00:20] podcast where we talk to the humans<br>[00:22] behind the commits. I'm here today with<br>[00:25] Mike Hershel, who is a co-founder of<br>[00:28] something called Dripyard and a longtime<br>[00:30] member and uh developer in the Drupal<br>[00:32] community. Welcome to the show, Mike.<br>[00:34] >> Hey, thanks for having me.<br>[00:36] >> So, I think we'll we can start by uh<br>[00:39] asking uh what is a dripyard?<br>[00:42] >> That's a good question. Oh, there's a<br>[00:45] whole bunch of background. Uh so, like<br>[00:48] the TLDDR of dripyard is we sell premium<br>[00:51] Drupal themes that don't suck. Um like<br>[00:55] >> so so Drupal in the past like really<br>[00:59] never had a robust theme ecosystem like<br>[01:01] WordPress or Web Flow or any of the<br>[01:03] other competitors have. And and part of<br>[01:05] that reason is just because uh within<br>[01:08] within the within Drupal the theme is so<br>[01:11] separated from like the rest of the<br>[01:14] system it would never have any idea what<br>[01:16] the markup is. So like a Drupal<br>[01:18] developer would go in and create you<br>[01:20] know their views which are kind of like<br>[01:22] the smart list like the loop type stuff<br>[01:24] and but the theme could never predict<br>[01:27] what you know what the DOM structure was<br>[01:29] and what the CSS classes is. So so it<br>[01:31] could never you can never theme against<br>[01:33] that and that recently all changed.<br>[01:35] Drupal now sh has the a concept of<br>[01:37] components. We have like a a thing<br>[01:39] called single directory components where<br>[01:41] you have a a theme can ship a whole<br>[01:43] library of components as you know the<br>[01:45] markup the schema of what type of data<br>[01:47] it has and you know JavaScript and CSS.<br>[01:50] So our company uh is now shipping uh<br>[01:53] themes that uh you know have a whole<br>[01:57] library of components you can wire your<br>[01:59] data directly in there you know through<br>[02:00] the UI or through code. But yeah that's<br>[02:04] that's basically the gist of it.<br>[02:07] So, I'm a WordPress dude and I think a<br>[02:11] lot of a lot of this is going to be uh<br>[02:13] we do this in WordPress and and how does<br>[02:15] this work in Drupal? And I I it's funny<br>[02:17] because I was at uh I was at Bad Camp uh<br>[02:20] last month.<br>[02:21] >> It was my first Bad Camp, which is Bay<br>[02:22] Area Drupal Camp.<br>[02:23] >> Uh and I was doing that that thing. I<br>[02:25] was being that person, the the voice of<br>[02:27] why is WordPress do this uh for the for<br>[02:29] the Drupal folks there. Um so so I I I<br>[02:33] will definitely empathize uh putting<br>[02:35] [clears throat] you in this position<br>[02:37] having just been in that position from<br>[02:38] the other side. Um but so so talk a<br>[02:42] little bit more about like like you you<br>[02:45] mentioned some there's like specifically<br>[02:47] technical limitations of u the way that<br>[02:50] themes sort of existed in Drupal in the<br>[02:53] past that sort of prevented the<br>[02:55] existence or I guess feasibility of<br>[02:58] something like a marketplace. Uh<br>[02:59] >> yeah.<br>[03:00] >> Can I guess from from from a dev<br>[03:04] perspective, somebody like I have a<br>[03:06] history of like building WordPress<br>[03:07] themes and actually had a a site for a<br>[03:10] while where I was attempting to sell<br>[03:12] WordPress themes. Why what what is the<br>[03:16] sticking point? What are the sticking<br>[03:17] points that prevented that from being<br>[03:20] really uh doable in in Drupal from like<br>[03:23] like a in the weeds kind of uh<br>[03:27] direction? Yeah. Yeah. So, if you want<br>[03:30] to get down into the weeds, um, like<br>[03:33] Drupal, of course, has been around for a<br>[03:35] very long time. And like, so within<br>[03:38] Drupal, you go into your admin form or<br>[03:41] your admin side and you create what's<br>[03:43] called content types, which are the same<br>[03:44] thing as post types, you know, and and<br>[03:46] they're all fieldable. They're all kind<br>[03:48] of and and then we have another like uh<br>[03:52] module that's integrated in in into<br>[03:54] Drupal called views and you create like<br>[03:57] basic like like a listing of items and<br>[03:59] you can create filters and smarts. It's<br>[04:01] it's really powerful. You can do a heck<br>[04:02] of a lot of stuff with it. But as you do<br>[04:05] that uh as you create these content<br>[04:08] types as you create these fields within<br>[04:10] the content types as you create these<br>[04:13] views Drupal will add markup. you know,<br>[04:15] it'll add like a thing like it'll like<br>[04:18] with Drupal, a piece of content is<br>[04:19] called a node. And so it'll add like a c<br>[04:23] a default CSS class on there called like<br>[04:25] node- dash, you know, episode or<br>[04:28] something if you're doing a podcast<br>[04:29] website.<br>[04:31] But when you're trying to sell a theme,<br>[04:35] you know, you're trying to sell a theme<br>[04:36] that can work with a whole bunch of<br>[04:38] things and the theme doesn't have this<br>[04:41] functionality. Themes cannot cannot<br>[04:43] contain content types. They can't<br>[04:44] contain views.<br>[04:46] >> So<br>[04:48] you can ship a theme, but you don't know<br>[04:50] that that CSS class is going to be no d-<br>[04:53] episode.<br>[04:54] >> Sure.<br>[04:54] >> And you also don't know, you know, what<br>[04:57] the HTML structure is underneath, you<br>[05:00] know, and and and so that made things<br>[05:03] that made things pretty pretty,<br>[05:06] you know, almost impossible for a robust<br>[05:09] theme ecosystem. And and there's<br>[05:10] companies out there that do sell Drupal<br>[05:12] themes. you'll see them on<br>[05:13] >> theme forest and stuff like that.<br>[05:15] >> Um, these the themes that are sold like<br>[05:20] they kind of get around that by by<br>[05:22] shipping a a custom module with themes.<br>[05:24] And so the custom module might install<br>[05:26] some content types,<br>[05:28] >> you know, might have some views and<br>[05:29] stuff like that.<br>[05:30] >> But as soon as you go away from where<br>[05:34] that custom or where that custom module<br>[05:37] points you to, everything falls apart<br>[05:39] because theme can't handle that,<br>[05:41] >> right?<br>[05:42] And uh so so that's the difference, you<br>[05:45] know, and uh<br>[05:48] yeah. Yeah, that's basically<br>[05:50] >> Yeah. So like fundamentally I I guess<br>[05:52] sort of a quasi equivalent, although I<br>[05:54] think you could still probably build a<br>[05:56] theme that was open enough in WordPress<br>[05:57] to to support this too. But like the the<br>[06:01] idea of like I'm doing uh like I we were<br>[06:04] talking before we start we hit record is<br>[06:06] like this website has a uh a custom post<br>[06:09] type called episodes and if like<br>[06:13] WordPress didn't understand and didn't<br>[06:15] like already like have some like base<br>[06:18] classes and whatever that just the<br>[06:20] themes expect to use or you know that<br>[06:22] are general enough. Um then the idea is<br>[06:26] that because the theme doesn't<br>[06:28] necessarily know about the existence of<br>[06:29] the episode post type it would and<br>[06:32] because Drupal specifically is kind of<br>[06:35] architected from the perspective of like<br>[06:37] we're letting you tell us what types of<br>[06:40] content you're using on your site. Uh<br>[06:43] then it's like the theme is like well<br>[06:46] like I don't know what you're doing. Uh<br>[06:49] so it can't really fill in those gaps as<br>[06:51] as easily is what I'm hearing. Yeah,<br>[06:53] exactly. So, you know, the and the theme<br>[06:56] can maybe do like some default styling,<br>[06:58] you know, you know, put some spacing<br>[06:59] around stuff, but you know, and and like<br>[07:02] me like like I the default theme in<br>[07:05] Drupal is called Olive Arrow. Like when<br>[07:06] you install when you install Drupal,<br>[07:08] that's what you get. And and I was the<br>[07:10] primary dev on that. And so we had to<br>[07:14] basically try to accommodate everything<br>[07:16] without the ability to accommodate<br>[07:17] everything.<br>[07:18] >> Sure. you know, but but with the<br>[07:21] introduction of components, you know, so<br>[07:23] so so now like as a as a theme<br>[07:26] developer, I can I can ship a library,<br>[07:28] you know, 50 60 components or more. And<br>[07:32] let's say I want to create an episode,<br>[07:34] you know, content type or post type or<br>[07:35] whatever. At that point, you know, I can<br>[07:38] I can kind of drag in, you know, the a<br>[07:41] title component, you know, map that to<br>[07:44] the, you know, my title field. I can<br>[07:46] drag in, you know, same thing with a<br>[07:47] body field or, you know, a video field<br>[07:50] and, you know, potentially, you know,<br>[07:53] MP3, like an audio player and stuff like<br>[07:55] that,<br>[07:56] >> right?<br>[07:57] >> And and so and so now it's it comes a<br>[08:00] lot more flexible, which is pretty neat.<br>[08:03] >> And uh I have been watching uh what's<br>[08:06] been going on in in Drupal land. Um this<br>[08:09] is sort of a uh one might suggest a<br>[08:13] fortuitous time for the existence or<br>[08:15] emergence of a theme development shop.<br>[08:18] Uh given that uh Dre Boyart the founder<br>[08:21] of Drupal has been talking a lot about<br>[08:23] uh marketplaces uh and selling Drupal<br>[08:27] stuff. Uh talk about that relationship<br>[08:30] and and what your thoughts are about<br>[08:33] sort of a commercial ecosystem for<br>[08:35] Drupal.<br>[08:37] >> Yeah. So like for the longest time, when<br>[08:40] I say for the longest time, maybe like<br>[08:42] for the past 10 years, Drupal really<br>[08:44] concentrated on like the enterprise. You<br>[08:46] know, we were like, "All right, let's<br>[08:47] just put all our time and effort into<br>[08:49] tracking down these Fortune 500<br>[08:51] companies and try to get these<br>[08:52] million-dollar contracts." And, you<br>[08:54] know, that would work for the for for<br>[08:57] like the larger companies. But at the<br>[08:59] same time, the the unintended consequ<br>[09:02] consequence of that is that Drupal's<br>[09:04] market share started to decline. And<br>[09:06] when the market share declines that<br>[09:09] means that there are less Drupal<br>[09:11] developers. There are less people you<br>[09:13] know in that bid market kind of learning<br>[09:15] Drupal knowing what Drupal is. And that<br>[09:18] has hurt Drupal you know and so<br>[09:21] eventually the you know the<br>[09:23] [clears throat] powers that be the<br>[09:24] leadership within Drupal said like all<br>[09:25] right well we need to recapture this<br>[09:28] midm market and and and so the the put<br>[09:33] together this huge strategy and this is<br>[09:34] upre's uh uh he has a blog somewhere<br>[09:39] called starshot product strategy star<br>[09:41] was the code name for Drupal CMS before<br>[09:43] it was called Drupal CMS<br>[09:45] >> and so Basically, the goal is to for for<br>[09:49] Drupal to become feasible of like<br>[09:53] being being a CMS chosen for a website,<br>[09:57] you know, that has like maybe a budget<br>[09:59] of like 10 to $30,000 or something like<br>[10:02] that, which right now, unless you're a<br>[10:04] Drupal developer, you probably don't<br>[10:06] want to do that because, you know,<br>[10:07] Drupal Drupal can be a little expensive.<br>[10:10] So, uh, as part of that, they they<br>[10:13] decided, all right, well, we're going to<br>[10:15] create this, uh, kind of like<br>[10:18] I call it like an easy button for<br>[10:20] Drupal, you know, and, uh, called Drupal<br>[10:22] CMS, and it has like all the modules<br>[10:24] that you have to download preconfigured,<br>[10:26] you know, because there's like some<br>[10:27] modules that should totally be part of<br>[10:29] Drupal core, things like, you know, like<br>[10:31] the u friendly paths, you know, so if<br>[10:34] you create a piece of content, it's not<br>[10:35] node one, it's like, you know, whatever<br>[10:39] it automatically gets that node title in<br>[10:41] there and stuff for SEO. Um, so it has<br>[10:44] all this stuff preconfigured. It's<br>[10:45] pretty nice, but um there's still a<br>[10:48] couple missing pieces in there. Uh, one<br>[10:50] of missing pieces is like a decent page<br>[10:53] builder. Like Drupal has this whole<br>[10:55] ecosystem of page builders because no<br>[10:56] one has specifically like taken over.<br>[10:59] >> And honestly, this is something that's<br>[11:01] like kind of hurt Drupal. You know, you<br>[11:03] can kind of do anything in Drupal, but<br>[11:04] it shouldn't be this much effort. you<br>[11:05] know, WordPress has Gutenberg, Web Flow<br>[11:07] has whatever the hell Web Flow has,<br>[11:09] etc., you know,<br>[11:10] >> and so so there's a there Aquia, which<br>[11:14] is kind of like the largest Drupal<br>[11:16] company and the one that Drew founded,<br>[11:18] uh, is creating a next generation page<br>[11:19] builder called Drupal Canvas. And Drupal<br>[11:22] Canvas does everything that you pretty<br>[11:24] much, you know, you would assume it<br>[11:26] would do, you know, and and does a few<br>[11:29] extra things, too, which is pretty cool.<br>[11:31] So you can like copy and paste<br>[11:32] components, group components, create<br>[11:33] what's called like patterns, you know,<br>[11:36] edit them, you know, you can map your<br>[11:39] data to it. It's it's pretty cool. Um<br>[11:42] and then um<br>[11:45] so so at that point we have you know<br>[11:49] once Drupal Canvas comes out which will<br>[11:51] probably be next month and then you know<br>[11:54] we have then Drupal CMS 2.0 will be<br>[11:56] released. So at that point we have like<br>[12:00] a pretty good starting point but we<br>[12:03] still need to like kind of put<br>[12:04] everything together to compete with<br>[12:06] WordPress to compete with Web Flow, Wix,<br>[12:09] Squarespace, you know, and all<br>[12:12] Contentful and all those headless CMS's.<br>[12:14] So at that point um [clears throat]<br>[12:17] you know the Drupal Association of<br>[12:19] Powers that be said like like we need<br>[12:21] this ecosystem. We want to do something<br>[12:23] called site templates. And site<br>[12:25] templates are basically like it's a it's<br>[12:28] a theme. It's a Drupal theme, but also<br>[12:32] like preconfigured with those content<br>[12:34] types, you know, which are similar to<br>[12:35] post types. Uh, you know, has it can<br>[12:39] come preconfigured with modules and it<br>[12:41] can also come preconfigured with um<br>[12:44] default content, you know. So, an<br>[12:47] [clears throat] example of this is like<br>[12:48] let's say I'm a church and I want to,<br>[12:50] you know, I want a church churchy<br>[12:52] website, you know, and uh<br>[12:54] >> I built a couple of those.<br>[12:56] >> Yeah. Yeah.<br>[12:58] Uh, you know, I I I I would<br>[13:00] hypothetically be able to browse this<br>[13:02] marketplace, look for a site template uh<br>[13:05] that like, you know, it would have maybe<br>[13:07] have a list of content types. You know,<br>[13:08] you may have like sermons, you know,<br>[13:11] events and blog, all that all that good<br>[13:14] stuff. And uh at that point uh pull it<br>[13:17] down, install it and at that point you<br>[13:20] would number one have all you would have<br>[13:22] content so you can just edit your<br>[13:24] content and then you would have a<br>[13:26] beautiful theme hopefully and everything<br>[13:28] preconfigured. So it's and but at but at<br>[13:31] that point like what's really cool is<br>[13:33] you have that flexibility of Drupal now<br>[13:35] like like Drupal is hyperflexible.<br>[13:37] Drupal could build like so many things<br>[13:39] if you have, you know, if you kind of<br>[13:42] know your way around it. Like like<br>[13:44] Drupal's freaking amazing. So So that's<br>[13:47] that's kind of where we're going with<br>[13:49] that. And and to get started, we're<br>[13:52] we're like the the marketplace is is set<br>[13:55] to kick off like right around Dripcon<br>[13:57] Chicago, which is going to be in March.<br>[14:00] And um it's going to be kind of like<br>[14:02] almost like a beta, you know, like we're<br>[14:04] going to be there. We're going to have a<br>[14:05] couple site templates. There's going to<br>[14:06] be 15 or 16 other companies that have<br>[14:08] some tight site templates. We don't know<br>[14:11] what we're going to build yet, or at<br>[14:12] least I don't know what we're going to<br>[14:13] build.<br>[14:14] >> Mhm.<br>[14:14] >> But, um, all our stuff is going to work.<br>[14:17] It's going to be awesome. It's going to<br>[14:18] be super successful. And And, uh,<br>[14:20] hopefully people will buy it,<br>[14:22] >> you know, and if they buy it, well,<br>[14:24] that's good. Like,<br>[14:27] like I I I can tell you like I've been<br>[14:30] to a number of word camps. I've been to<br>[14:32] like Word Camp Miami and Jacksonville,<br>[14:34] probably one or two others, and the<br>[14:37] amount of money in the WordPress<br>[14:38] ecosystem is like significantly more<br>[14:42] than in the Drupal ecosystem.<br>[14:45] >> And the reason is is because of the uh<br>[14:49] like the the robust commercial ecosystem<br>[14:52] around WordPress. you know, you have,<br>[14:54] you know, however many theme vendors,<br>[14:56] you got all these modu plug-in vendors,<br>[14:59] you know, and and and stuff like that,<br>[15:02] and they're all advertising. And and the<br>[15:04] thing about that is like that's why, you<br>[15:08] know, Word Camp US can cost thing like<br>[15:10] $50 or something like that because, you<br>[15:13] know, they get Is it $50 or is it just a<br>[15:15] couple hundred? Yeah, it's Yeah, it's I<br>[15:18] think<br>[15:19] I want to say this last year it was $50<br>[15:22] a day. I have honestly paid less<br>[15:25] attention to<br>[15:27] word camp prices because my company pays<br>[15:29] for them. So like I never even look at<br>[15:31] like the ticket price.<br>[15:32] >> But uh but yeah, I think it was I think<br>[15:34] it was $50 a day. So if you're going to<br>[15:36] Word Camp US, it would be a hundred day<br>[15:38] $100 I think. [snorts]<br>[15:39] >> Yeah. So that's like ridiculous.<br>[15:41] >> But that's super that's super cheap. uh<br>[15:42] as compared to Drupalcon which is like a<br>[15:44] 1K basically.<br>[15:46] >> Yeah. Yeah. And and and Drupalcon is<br>[15:48] lowering their prices FYI like Drupalcon<br>[15:51] Chicago like the prices are going to<br>[15:52] start like at 500 just because we're<br>[15:54] kind of realizing we're pricing people<br>[15:56] out, you know, especially like a lot of<br>[15:58] the smaller companies like like<br>[15:59] Dripyard, you know, like to drop a<br>[16:01] couple grand going there, you know,<br>[16:03] that's that's a little more significant<br>[16:05] than if you're like Pantheon or Aqua or,<br>[16:08] you know, Automatic or something like<br>[16:09] that. You know,<br>[16:10] >> you're hitting on all of my all of my uh<br>[16:13] like key touch points about things in<br>[16:15] the WordPress ecosystem. [laughter] Like<br>[16:17] there's just so many crossovers. So, uh<br>[16:20] so one of the things, okay, so a<br>[16:22] foundational I'll start here. A<br>[16:23] foundational part of this podcast<br>[16:25] specifically came out of a sticker that<br>[16:28] I got from Drupal Con, which is right<br>[16:30] here, because I was at Drupalcon last<br>[16:32] year. Come for the code, stay for the<br>[16:34] community. And that that was I that<br>[16:37] resonated with me because that's the<br>[16:40] reason why I was in the WordPress<br>[16:41] community and ultimately that became one<br>[16:43] of the foundations for how I wanted to<br>[16:46] do this this show. Um, and one of the<br>[16:49] things that I learned when I was in<br>[16:51] Atlanta, uh, that is distinct about the<br>[16:55] Drupal community from the WordPress<br>[16:58] developer ecosystem is that in Drupal,<br>[17:02] more frequently, if we both have tools<br>[17:07] or modules or whatever that serve a<br>[17:09] similar purpose that we're probably more<br>[17:12] likely to be like, hey, let's join<br>[17:14] forces and make the best thing. So like<br>[17:16] if I have an SEO plugin and you have an<br>[17:17] SEO plugin, then we might work together<br>[17:20] and be like, well, let's make one of<br>[17:22] these things the de facto SEO plugin and<br>[17:24] make it the best plugin or module. Um,<br>[17:27] whereas in the WordPress ecosystem,<br>[17:29] >> uh, if I have an SEO plugin and you have<br>[17:31] an SEO plugin, I'm probably not going to<br>[17:33] talk to you because that's my IP and I<br>[17:36] might turn around and sell it. So, I<br>[17:37] heard I had a lot of conversations at uh<br>[17:40] Drupal Con about this, but also uh about<br>[17:43] the idea of a marketplace because that<br>[17:45] was sort of when Dre started uh floating<br>[17:47] the idea. Um<br>[17:49] >> and uh and my reaction as someone in the<br>[17:52] WordPress ecosystem is I really like<br>[17:55] that model of of being collaborative and<br>[17:58] sharing and and like you know joining<br>[18:01] these two uh things instead of like<br>[18:03] really going headto-head and competing.<br>[18:05] Um, what do you what is your take on<br>[18:08] sort of like because I because in<br>[18:11] WordPress we're more likely to be<br>[18:13] competitors and not sharing those ideas<br>[18:14] and being sort of siloing yourselves<br>[18:16] off. So what is your take on that sort<br>[18:18] of uh dynamic in terms of like do you do<br>[18:21] you see that as uh something that could<br>[18:24] be a risk to like the Drupal like<br>[18:26] developer ecosystem as things get a<br>[18:28] little [clears throat] bit more<br>[18:28] competitive?<br>[18:29] >> Yeah, things are always a risk, right?<br>[18:31] like as soon as you make big changes<br>[18:32] like this and these are the these are<br>[18:34] some of the biggest changes in the<br>[18:35] Drupal ecosystem uh ever you know uh<br>[18:39] there's always a risk. Um, so like to to<br>[18:43] expand on your point, like I I saw a<br>[18:45] blog post at one point that like<br>[18:46] WordPress had like I don't knowund and<br>[18:49] something form builders, you know, that<br>[18:52] that that you can buy and and and and<br>[18:54] they won't play nice with each other.<br>[18:56] >> And and and then like furthermore, like<br>[18:59] if you have WordPress and you install<br>[19:00] like, you know, 14 15 plugins, you're<br>[19:03] kind of<br>[19:04] >> your site's like a little funky. You're<br>[19:07] probably fighting Yeah. Yeah. Yeah. you<br>[19:09] can be fighting some bugs and stuff like<br>[19:11] that. Like one of the cool things is<br>[19:13] with Drupal is like all the modules play<br>[19:16] well together. Like Drupal has a very<br>[19:18] robust set of API APIs, you know, and<br>[19:21] and that's something that that we do<br>[19:23] better than WordPress. WordPress does a<br>[19:25] lot of better a lot a lot of things<br>[19:27] better than Drupal, but one thing we<br>[19:28] have is like a robust APIs that allow<br>[19:31] things to work together. So, if you have<br>[19:32] like 60 70 modules installed on a uh on<br>[19:35] a Drupal site, it it like that's normal.<br>[19:38] You know, if you have a couple hundred,<br>[19:40] that's fine, too.<br>[19:41] >> Um, and so like going into like Drupal<br>[19:47] has probably like three or four page<br>[19:49] builders, but there's one like big one.<br>[19:50] It's called Web Form. You know, it's<br>[19:52] easy<br>[19:53] >> and built around Webform. There's<br>[19:54] ecosystems that build on top of that. So<br>[19:57] like you you know you'll have web form<br>[19:59] commerce, web form this, web form that<br>[20:01] that that allow you to do like you know<br>[20:04] little things and it's just really nice.<br>[20:06] You don't have to evaluate you don't<br>[20:07] know. You don't got to pay you know $20,<br>[20:10] $40 or whatever for something like that.<br>[20:11] You just try it. You get it to work and<br>[20:14] and everything goes. So like that's<br>[20:17] that's one of the advantages that that<br>[20:21] Drupal has and that's something that I<br>[20:23] think you know the leadership<br>[20:24] recognizes. Um,<br>[20:27] you know, Dre had stated modules will<br>[20:30] always be GPL forever free,<br>[20:32] >> you know, and it's it's the themes that,<br>[20:37] you know, that that that could be<br>[20:39] commercial code. So, back when I was you<br>[20:42] like back when I was like researching<br>[20:45] like like doing a little bit of due<br>[20:46] diligence like can I do driftyard, you<br>[20:48] know? So started looking into GPL and<br>[20:51] like everything because GPL for those<br>[20:53] who don't know has a very sticky license<br>[20:55] you know where like if if you write PHP<br>[20:59] that builds on top of Drupal or<br>[21:01] WordPress and then distribute it it's<br>[21:03] technically GPL which means it's free<br>[21:06] >> and [clears throat] um<br>[21:08] >> but that doesn't necessarily apply to<br>[21:11] things that<br>[21:13] it's it's a little bit of legal but like<br>[21:16] things that are not directly interfacing<br>[21:18] with that. So things that can run in the<br>[21:20] browser,<br>[21:20] >> things like CSS and JavaScript will not<br>[21:24] necessarily be GPL and and I did a<br>[21:26] little bit of digging and and there's a<br>[21:28] Drupal licensing working group, you<br>[21:29] know, and there was some talk about that<br>[21:31] and and the conclusion that that I saw<br>[21:34] within this issue is yeah, yeah, like<br>[21:36] CSS and G and JavaScript is not<br>[21:38] necessarily GPL. [snorts] So at that<br>[21:42] point, I was like, all right, well, we<br>[21:43] can do this. We can just kind of, you<br>[21:44] know, have our CSS and everything closed<br>[21:47] source. So<br>[21:49] the TLDDR of all the all of this is that<br>[21:55] like<br>[21:57] it's it's kind of like a fine line, you<br>[21:59] know, like you can't<br>[22:03] like like it's not necessarily a good<br>[22:05] idea for everything to cost money and<br>[22:08] and then people don't collaborate, you<br>[22:10] know. Um but at the same time, you need<br>[22:13] money because people need to get paid,<br>[22:14] >> right? Like I am doing this because to<br>[22:17] tell you the truth like I wanna I want<br>[22:19] to be able to make six figures and work<br>[22:22] 20 hours a week. That is my dream,<br>[22:24] >> you know. And uh and<br>[22:28] >> yeah, so it's it's going to be a fine<br>[22:30] line. I have a feeling that like as we<br>[22:33] as as as Drupal continues to like<br>[22:37] continue down this path, there are going<br>[22:39] to be, you know, changes and people are<br>[22:41] going to figure things out. people like<br>[22:42] like Drupal's going to make mistakes and<br>[22:45] they're going to say like, "All right,<br>[22:46] well, let's back this up a little bit or<br>[22:49] maybe we should go forward a little bit<br>[22:50] more, you know, maybe we're not doing<br>[22:51] this enough."<br>[22:53] >> Yeah.<br>[22:53] >> So, I I think it's going to be trial and<br>[22:55] error.<br>[22:56] >> Yeah. Yeah. that's interesting about the<br>[22:58] about modules being different and and<br>[23:02] and like the marketplace not being<br>[23:05] handled uh or not covering modules<br>[23:07] necessarily versus themes and themes<br>[23:10] being the thing that we're that we're<br>[23:11] talking about first. I think it makes a<br>[23:13] lot of sense uh both from sort of<br>[23:15] Drupal's history but also like creating<br>[23:19] [snorts] like not shutting off that sort<br>[23:21] of collaborations which I do recognize I<br>[23:23] think happens a lot more in modules<br>[23:24] because like you said like you can have<br>[23:25] dependency modules and whatever like<br>[23:27] this module calls these other three<br>[23:29] modules and whatever and you do need to<br>[23:30] sort of like keep that ecosystem. Um, in<br>[23:33] WordPress there is kind of sort of an<br>[23:35] equivalent. Um, there are like plugins<br>[23:38] that are like add-ons or additional<br>[23:41] functionality to an existing plugin and<br>[23:43] maybe that existing plugin is a premium<br>[23:46] plugin. Um, or maybe it's like a free<br>[23:48] plugin and the extension is uh is a<br>[23:51] premium thing or whatever. Like there's<br>[23:52] all sorts of like weird things like<br>[23:54] that. Um, but um but yeah, I think that<br>[23:58] that's interesting. Do you see uh a<br>[24:01] future where there might be also a<br>[24:04] module marketplace both like you know<br>[24:06] besides drupal.org and getting your<br>[24:07] stuff like normally that way but like<br>[24:09] having like a like the equivalent of<br>[24:11] like an invado sort of thing where you<br>[24:13] could like purchase and and integrate<br>[24:16] like premium uh modules for Drupal.<br>[24:19] >> I would be really really surprised.<br>[24:22] There are like some modules that like<br>[24:24] kind of do the whole GPL loophole and<br>[24:26] put some processing processing on the<br>[24:29] server, you know, that's kind of how<br>[24:30] they how they do it. So there's there's<br>[24:33] things like that. I I can't see any any<br>[24:38] invado type marketplace for for for<br>[24:41] modules. I I think if that happened,<br>[24:43] people would kind of get pissed and then<br>[24:45] just like download it and throw it up on<br>[24:47] drupal.org or GitHub or something like<br>[24:49] that, which has happened in the past,<br>[24:51] you know,<br>[24:52] >> happens in too. [laughter]<br>[24:53] >> Yeah. Yeah. And and it's interesting<br>[24:55] like it's an interesting topic, right?<br>[24:57] So, if I sell a site template, let's say<br>[24:59] I sell this for like $1,000 and I have<br>[25:01] my theme and also like has, you know, a<br>[25:03] composer file that references a bunch of<br>[25:05] modules. These modules are key key<br>[25:08] components to this site template. Well,<br>[25:11] I'm making all the profit of that. These<br>[25:12] module these module maintainers aren't<br>[25:15] making you know? Don't know if I<br>[25:17] can say that word, but I just did.<br>[25:19] [laughter] But, uh,<br>[25:20] >> I'll flag the explicit tag. It's not a<br>[25:22] problem.<br>[25:23] >> Yeah. Yeah. Um, you know, and that go<br>[25:27] but that also goes all the way down, you<br>[25:29] know, like, well, at that point, the<br>[25:31] core maintainers and the core developers<br>[25:34] are not getting paid, you know, the<br>[25:35] Apache developers or EngineX. Um and and<br>[25:39] and also like the argument would be that<br>[25:44] well these module maintainers and<br>[25:48] developers have been doing kind of<br>[25:49] unpaid unpaid labor for years and years<br>[25:53] while other people are making money. You<br>[25:54] have agencies, you know, like agencies.<br>[25:56] I used to work for a company called<br>[25:57] Labot<br>[25:58] >> and and and they would put together<br>[25:59] these great websites for these large<br>[26:02] companies for multi-million dollar<br>[26:04] contracts and and you know, does that<br>[26:09] money go toward those module developers?<br>[26:11] No. I I mean, to be fair, there are some<br>[26:13] that there's a there's a number that<br>[26:14] would work at that company, but still,<br>[26:16] you know, so it it's a really<br>[26:19] interesting ecosystem. like open source<br>[26:22] is really interesting and and h like how<br>[26:26] how that works and how that can work. So<br>[26:30] >> yeah,<br>[26:31] >> I'm interested.<br>[26:33] So, so one of the things that happens a<br>[26:35] lot in uh the WordPress commercial<br>[26:38] ecosystem is that even even though<br>[26:43] technically because because Matt Melan<br>[26:45] has explicitly stated a number of times<br>[26:48] that he believes that all code uh in<br>[26:52] plugins and themes should be uh GPL<br>[26:55] licensed or GPL compatible uh even even<br>[26:57] when it doesn't have to be because<br>[26:59] that's the spirit of the GPL, not<br>[27:01] necessarily the letter, you Um, so he's<br>[27:03] like he doesn't like things like Invato<br>[27:06] or they have mixed licenses or whatever.<br>[27:07] He's uh he's much more like everything<br>[27:09] should be GPL. And if everything is GPL,<br>[27:12] then that means anybody can take your<br>[27:13] code and then republish it and put it<br>[27:15] somewhere else and now it's their code<br>[27:16] because that's what the GPL allows you<br>[27:18] to do is basically redistribute it uh as<br>[27:20] is. Um, so the the the thing that most<br>[27:24] uh premium WordPress plugins and themes<br>[27:28] sort of do is okay, what you're paying<br>[27:32] for is access to uh updates. Uh, so they<br>[27:37] have a different update mechanism that<br>[27:39] so it's not going to be on like<br>[27:40] WordPress.org and get automatic updates<br>[27:42] that way. Uh, it's going to be through<br>[27:43] their own sort of homebrewed update<br>[27:45] mechanism. And two, they're also selling<br>[27:48] support for a contracted period of time.<br>[27:51] Um, is that sort of the model that you<br>[27:54] are thinking of uh for dripyard as well?<br>[27:56] Are you thinking that uh primarily you<br>[28:00] are selling the proprietary<br>[28:03] like JavaScript and CSS? I mean, you<br>[28:06] know, like that is that is the thing<br>[28:08] that is that is being sold even if it's<br>[28:11] like you're selling it with a bunch of<br>[28:12] other stuff that is technically GPL<br>[28:14] compatible.<br>[28:16] So, like we're definitely like selling<br>[28:19] support add-ons, you know, reoccurring,<br>[28:21] and that's like $100 a year. So, that's<br>[28:23] not a heck of a lot of money.<br>[28:25] >> Um, [clears throat]<br>[28:26] updates, you know, will people just will<br>[28:30] download the zip file from our, you<br>[28:33] know, when they log in, get, you know,<br>[28:36] get their theme and stuff like that and<br>[28:38] then they can, you know, download their<br>[28:39] updates that way and, you know,<br>[28:41] hopefully their changes will be in a sub<br>[28:42] theme so they don't get clobbered.<br>[28:44] >> Mhm. But um<br>[28:47] like it's<br>[28:53] like I can't really<br>[28:57] I it's going to be interesting to see<br>[28:59] how things go. I I I can't really tell<br>[29:01] you I I can tell you what we're doing,<br>[29:04] >> but I can't tell you what everything<br>[29:06] everyone else is doing like. And<br>[29:09] yeah, I I don't know if that really<br>[29:11] answers your question or not, but<br>[29:12] >> I was I mean I was wondering from from<br>[29:14] the perspective of of Dripyard<br>[29:16] specifically. Yeah. So it sounds like<br>[29:17] that you would like kind of and that's<br>[29:19] one of the things too like if you're<br>[29:20] gating access to the files uh because<br>[29:23] you have to be a logged user and you<br>[29:25] have to pay to get the login in the<br>[29:26] first place, then then that's that's an<br>[29:28] easy way of of making sure that people<br>[29:30] are are paying for your stuff.<br>[29:32] >> Yeah. Yeah, we're doing that. And and<br>[29:34] there's there's like to tell you the<br>[29:35] truth, there's like nothing stopping<br>[29:37] people, you know, from dist<br>[29:39] redistributing our stuff after after<br>[29:41] they purchase it. You know, like we<br>[29:43] could sue them, but you know, we themes<br>[29:46] for $500, you know,<br>[29:49] >> you know, more than likely what we'll<br>[29:50] end up I'll I'll end up like spilling<br>[29:52] something on my Drupal account or<br>[29:53] something. But like, you know, Yeah. Uh<br>[29:57] but but at the same time, you know, like<br>[29:59] like our thought process is, well, if<br>[30:01] you're if you're starting a uh a project<br>[30:04] with Drupal, you're probably spending<br>[30:05] significantly more than $10,000. Just<br>[30:07] spend like $500 on a theme, you know,<br>[30:10] you know, add in some support seems<br>[30:12] pretty reasonable. And and honestly like<br>[30:14] these themes that we developed um over<br>[30:18] 10 months and I'm like probably<br>[30:20] thousands of hours you know and uh<br>[30:23] they're really good you know they're<br>[30:25] they're they're awesome and it's going<br>[30:28] to save people<br>[30:29] >> tens of thousands of dollars you know by<br>[30:31] by using these. So<br>[30:35] >> so what I we've talked a lot about<br>[30:37] Drupal and we've talked a lot about<br>[30:38] WordPress. What I often like to do uh is<br>[30:42] to really talk about um sort of what<br>[30:46] your journey to tech or web development<br>[30:49] was sort of like in the first place.<br>[30:51] Like how did you get to be uh how did<br>[30:55] you get to be my cersal co-founder of<br>[30:57] Dripyard? Like what what led to uh to<br>[31:00] you just getting involved in the stuff<br>[31:01] in the first place?<br>[31:02] >> So I was born at a very young age.<br>[31:05] [laughter]<br>[31:08] I got I got into uh computers back in<br>[31:11] like 1999. I used to do technical<br>[31:13] support for Dylan Gateway Computers<br>[31:14] before they like shipped off all that<br>[31:16] stuff over to India, you know. So I<br>[31:18] would talk to your grandmother trying to<br>[31:19] troubleshoot Windows 98. Mhm.<br>[31:21] >> I moved up to up to Gainesville and I<br>[31:24] got this job doing technical support<br>[31:25] over the phone technical support uh just<br>[31:27] because like I had done that before and<br>[31:30] we it was this enterprise software<br>[31:31] company called Bar Systems that like<br>[31:33] would interface between like mainframes<br>[31:35] and like regular networks and stuff and<br>[31:38] it was so slow that we we would just sit<br>[31:40] there and twiddle our thumbs and the guy<br>[31:42] in the office next to me he was doing<br>[31:44] these websites and he was using<br>[31:45] Macromedia fireworks and uh showed me<br>[31:48] how to do that and I had to use<br>[31:50] Photoshop This would have been like<br>[31:51] 2001, 2002. And I would literally like<br>[31:54] do all my designs and fireworks. We both<br>[31:56] would. And then we would slice it up and<br>[31:59] we would just export it. And it was it<br>[32:01] was literally like a table full of<br>[32:02] images that would be<br>[32:04] >> I remember those. Yep. That was awful. I<br>[32:06] hate those.<br>[32:06] >> Yeah, I found I found some of those on<br>[32:08] my old hard drive and I have some of<br>[32:10] those up in my on my GitHub. Like if you<br>[32:12] have some links or something like like<br>[32:14] show notes or something, I'll I'll I'll<br>[32:16] shoot you some links. You can see sp<br>[32:17] spaceer gifs and stuff in there.<br>[32:19] >> Yeah. So, I got into websites and I<br>[32:21] started doing like my brother's band's<br>[32:23] website. I did my brother's friends<br>[32:25] man's websites and I started like, you<br>[32:27] know, doing websites as a side hustle<br>[32:30] and stuff like that. I remember I would<br>[32:33] I would put these ads on Craigslist for<br>[32:35] barter to do websites for like to have<br>[32:37] people do stuff for our house. And I<br>[32:39] ended up getting this guy. He was a<br>[32:41] starting a lawn care company. and uh we<br>[32:44] became friends, you know, he put in a<br>[32:46] sprinkler system and and he he said he<br>[32:48] had this website called uh or he had a<br>[32:51] domain name called gatortailgating.com,<br>[32:53] you know, and I'm a big flirty gator<br>[32:54] football fan,<br>[32:56] >> you know, and I was like, I like<br>[32:57] tailgating. I'm like, let's do this, you<br>[32:59] know.<br>[33:00] >> So, I uh I [clears throat] started<br>[33:02] looking for CMSs. This would have been<br>[33:04] 2007.<br>[33:06] And I don't know why I didn't look at<br>[33:08] WordPress, but I I looked at Jumla and I<br>[33:10] looked at Drupal. And I chose Drupal to<br>[33:13] be honest because it had an integrated<br>[33:14] forum which is like such a funny thing<br>[33:17] to select. But then I kind of got into<br>[33:19] it and around and I I started doing like<br>[33:22] a little bit of freelance in Drupal, you<br>[33:24] know, I would just literally like do<br>[33:26] everything the wrong way, you know, like<br>[33:28] edit the files and core, which you're<br>[33:29] not supposed to do, etc., etc.<br>[33:32] And um I eventually uh made my way like<br>[33:36] I remember I Googled you know<br>[33:39] Gainesville Drupal just to see if<br>[33:40] there's what would h happen you know and<br>[33:42] I found I found this thing on groups.<br>[33:45] Drupal.org that led me to Florida Drupal<br>[33:47] camp and I went down there in early 2010<br>[33:50] and I was kind of hooked on I was like<br>[33:52] holy I didn't know that there was<br>[33:53] actual community. I thought it was just<br>[33:55] like a bunch of nerds developing this<br>[33:57] you know and they taught me how to do<br>[33:59] stuff that I didn't know how to do. I<br>[34:00] went home and I was like so<br>[34:02] enthusiastic, you know, ended up going<br>[34:04] the next few years and started<br>[34:05] volunteering and stuff and um I started<br>[34:09] looking for Drupal jobs at that point. I<br>[34:10] was working for the Florida High School<br>[34:12] Athletic Association at the time just<br>[34:14] doing like all their computer stuff and<br>[34:16] I migrated their like fairly large<br>[34:18] website to Drupal 6 at the time and uh<br>[34:22] then I uh I ended up uh you know kind of<br>[34:26] getting more involved with Florida<br>[34:27] Drupal Camp. I ended up uh you know<br>[34:30] getting a my job at Labot back in uh<br>[34:33] 2014<br>[34:35] and uh kind of just kind of just went<br>[34:37] head on into Drupal at that point you<br>[34:39] know if I wasn't already there and I<br>[34:42] ended up uh getting involved in Drupal<br>[34:44] core development at Labot where you know<br>[34:47] uh I uh [clears throat] I I got kind of<br>[34:51] got roped into uh leading a team to do a<br>[34:54] new theme for Drupal where the previous<br>[34:56] theme for Drupal just had been around<br>[34:58] for so long, you know, at the time I was<br>[35:00] probably like 10 years old, which is<br>[35:02] like a million in internet years, you<br>[35:04] know,<br>[35:05] >> and and and so went through that and<br>[35:07] everybody was really happy and, you<br>[35:09] know, ended up doing a bunch of other<br>[35:11] cool stuff, you know, and then uh ended<br>[35:15] up quitting Lilot for more money, you<br>[35:17] know, and then quitting that job for<br>[35:18] more money,<br>[35:19] >> end up getting laid off and that, you<br>[35:22] know, and then I was like, you know,<br>[35:24] that led me to here and I was like,<br>[35:26] because I had been mulling this company<br>[35:28] for a while and I was even talking to<br>[35:30] other developers while I was still like,<br>[35:32] >> you know, in various different jobs<br>[35:34] about potentially starting this with<br>[35:35] them. And then I was like, this is going<br>[35:38] to be it. I'm going to I'm I just got<br>[35:40] laid off. This is going to be my kick in<br>[35:42] the ass. I'm going to I'm going to start<br>[35:45] this up. And you know, so I I uh I<br>[35:48] reached out to my current business<br>[35:50] partner, this guy named Andy Giles, who<br>[35:52] lives in Asheville, North Carolina, and<br>[35:54] he's a amazing backend deb. He's he's<br>[35:56] he's a horrible front end dev<br>[35:58] >> and but he's also like really good at<br>[36:00] things like DevOps and uh e-commerce and<br>[36:03] he's a nice guy, you know, and uh we<br>[36:05] ended up um ended up talking him talking<br>[36:08] him into I said we're going to get rich.<br>[36:09] we're gonna have, you [laughter] know,<br>[36:11] all this type of stuff. And uh, you<br>[36:14] know, I I, you know, we like moneywise,<br>[36:17] we had to invest in some designers, you<br>[36:19] know, so we ended up we at at this<br>[36:21] point, we both probably threw in about<br>[36:23] like five grand into the business to pay<br>[36:25] for some designs, you know, and uh just<br>[36:29] a heck of a lot of work. Ended up taking<br>[36:30] an equity line of credit against my<br>[36:32] house so I had something to live off of.<br>[36:34] Um, and ended up uh just like spending I<br>[36:38] I I thought we were going to have this<br>[36:40] first first theme out in like 3 months.<br>[36:42] It took took like 10 months<br>[36:44] >> because there like it's funny how much<br>[36:47] work goes into making sure your themes<br>[36:50] can support like almost anything that<br>[36:53] the kitchen sink, you know, right?<br>[36:55] >> And and um<br>[36:57] >> but now we have this whole design<br>[36:59] system. We have a we have a system<br>[37:01] behind everything. So, it's it's really<br>[37:02] easy to kind of turn around new themes<br>[37:05] at at this point. But what we're uh I<br>[37:09] guess the answers your question, but I<br>[37:10] guess where I'm going with this is like<br>[37:11] currently we're kind of working on uh<br>[37:14] making sure we have full support for<br>[37:15] Drupal Canvas, which is that nextgen<br>[37:17] page builder that's going to come out in<br>[37:18] about a month.<br>[37:20] >> Yeah. Tell me about uh so I've I've been<br>[37:23] sort of watching the evolution of uh<br>[37:27] Drupal CMS uh since<br>[37:30] uh well I guess since January this year<br>[37:33] pretty much.<br>[37:34] >> Um and and like I went back before<br>[37:37] before I went to Drupal Con uh in in<br>[37:40] Atlanta. Um I went back and I watched<br>[37:43] Dre's like last two keynotes before<br>[37:45] that. Um, and I watched the one from<br>[37:48] Vienna this last uh couple weeks. Um,<br>[37:52] and I remember when I was in Atlanta and<br>[37:54] he was showing what was then referred to<br>[37:57] as experience builder, which is now<br>[37:58] Drupal canvas. Uh, I was like I I I<br>[38:02] tweeted actually I guess it's not<br>[38:04] tweeting if you do it on blue sky. Uh,<br>[38:05] it's like blute. I don't know. Um, I I<br>[38:09] posted on Blue Sky that this looks like<br>[38:13] the thing that Gutenberg should have<br>[38:16] been all along.<br>[38:17] >> Yeah.<br>[38:17] >> Um, I was like so incredibly impressed<br>[38:20] by uh [snorts] what looked to be like<br>[38:24] way more intuitive, way easier uh to<br>[38:26] use. And I've I've played with and<br>[38:29] installed uh Drupal CMS. And I I<br>[38:32] [clears throat] fully believe, in fact,<br>[38:34] I wrote a blog post on the Pantheon blog<br>[38:35] about this. I fully believe that that is<br>[38:38] like a thousand times better experience<br>[38:42] uh first-time user experience for<br>[38:44] installing uh a CMS than than WordPress.<br>[38:47] And part of that has to do with like<br>[38:49] it's more of like a guided install. It's<br>[38:51] asking you questions, but also it's it's<br>[38:53] asking you like<br>[38:56] what type of site you want to you want<br>[38:59] to create. And most like every other CMS<br>[39:04] I've ever installed just gives you a<br>[39:06] bunch of form fields<br>[39:07] >> and it doesn't ask you the question,<br>[39:09] what are you trying to build?<br>[39:11] >> And so because of that, [clears throat]<br>[39:13] >> uh, you never ask the question of<br>[39:16] yourself, what type of website are you<br>[39:18] trying to build? You just kind of like,<br>[39:19] oh well, I'm just going to click a<br>[39:20] couple buttons and then I have a website<br>[39:21] and then I'm just going to do stuff,<br>[39:23] right? Like, but you never actually have<br>[39:24] to intentionally like come up with like,<br>[39:26] no, what am I actually trying to create?<br>[39:28] And I thought that that was a really uh<br>[39:29] a really good like just like just slow<br>[39:32] down and like make this the process a<br>[39:34] little bit more more user friendly. And<br>[39:36] then also when it when it installs like<br>[39:38] I feel like like the user interface<br>[39:40] which in the past uh for me as somebody<br>[39:43] who is more familiar with WordPress the<br>[39:45] user interface and the Drupal admin is<br>[39:47] very complex and hard for me to navigate<br>[39:50] and know where all the stuff is and it<br>[39:52] feels better. And maybe it's just<br>[39:54] because it looks more like the WordPress<br>[39:55] admin. I don't know. Uh, but it feels<br>[39:57] better for me to like in in the Drupal<br>[39:59] CMS admin. Um, I don't know, maybe just<br>[40:03] because stuff is on the left, I guess.<br>[40:04] Uh, but like it feels like it's easier<br>[40:06] for me to to navigate. So, I guess I<br>[40:07] guess my question is like, uh, somewhere<br>[40:10] in here is a question, I think. uh which<br>[40:12] is um like where do you see like do you<br>[40:16] do you believe that that capturing the<br>[40:20] sort of mid-market or that first-time<br>[40:22] user experience uh will be like the<br>[40:26] changing point for driving more Drupal<br>[40:30] adoption?<br>[40:31] I mean, I I I would say definitely, you<br>[40:34] know, like there's a lot more mid-market<br>[40:36] than uh enterprise market, you know, and<br>[40:40] and and honestly, to tell you the truth,<br>[40:42] like the enterprise people want the same<br>[40:44] crap as the mid-market people for for<br>[40:46] the most part, you know, they want to be<br>[40:47] able to assemble<br>[40:48] >> pages without having to like, you know,<br>[40:50] have a post doctorate or something like<br>[40:52] that, you know.<br>[40:54] Um like you know like I don't know if<br>[40:57] you're familiar with like um Adobe<br>[40:59] Enterprise Manage<br>[41:01] Builder. Yeah. Manager. Yeah.<br>[41:03] >> Yeah. Yeah. Yeah. like they have like<br>[41:05] nice drag and drop stuff, but they don't<br>[41:07] do what Drupal does, you know,<br>[41:09] >> and but but they ended up they end up<br>[41:11] selling selling their product based on<br>[41:13] like showing that drag and drop stuff to<br>[41:16] the marketers and the marketers, you<br>[41:18] know, get super excited about that<br>[41:20] because it's pretty sexy,<br>[41:22] >> you know, and and and if we if if we can<br>[41:25] match that and surpass it, which I<br>[41:27] believe we will, like that's going to be<br>[41:29] a big deal, you know, and and the same<br>[41:31] thing with like Gutenberg, like like<br>[41:34] Like canvas is built by by looking at<br>[41:37] the lessons from everything, you know,<br>[41:40] from things like Gutenberg and AM and<br>[41:42] and almost every other page builder out<br>[41:44] there. They were all evaluated as as<br>[41:47] these technical requirements started<br>[41:48] coming in for Drupal Canvas.<br>[41:51] >> Yeah.<br>[41:51] >> You know, and um like one thing that I<br>[41:55] really like I I I've done like a little<br>[41:57] bit of Gutenberg development under<br>[41:59] Drupal because there is a Gutenberg<br>[42:01] module for Drupal.<br>[42:02] >> Yep. But but like one thing that I<br>[42:04] really disliked about Gutenberg is you<br>[42:06] have to have like almost two versions of<br>[42:08] your markup. you know, you have to have<br>[42:10] the one that appears in the editor and<br>[42:13] the one that appears, you know, on the<br>[42:15] homepage and stuff<br>[42:16] >> and and and like that's something that,<br>[42:21] you know, like with Drupal Canvas, like<br>[42:25] like right now I'm in the process of uh<br>[42:27] you know, making sure all of our<br>[42:28] components work well and and and there's<br>[42:31] some funky things I'm having to kind of<br>[42:32] work through, but you know, it it's all<br>[42:36] this is kind of normal. But like I I add<br>[42:39] like an additional setting like a prop<br>[42:41] or you know a slot and it just shows it<br>[42:43] just it's just like nice.<br>[42:45] >> Mhm.<br>[42:45] >> And and it like to developer experiences<br>[42:48] getting right up there. And then like<br>[42:51] coming from previous Drupal page<br>[42:54] builders which which honestly a lot of<br>[42:56] them are like really kind of rough<br>[42:59] unless you did a lot of manual work.<br>[43:00] like you can make these page builders<br>[43:02] awesome, but that requires, you know, a<br>[43:05] person who knows what they're doing to<br>[43:07] install a bunch of modules and configure<br>[43:09] them just so, you know, um, but just<br>[43:12] like right out of the box, it's just<br>[43:13] like nice. You start dragging stuff, you<br>[43:15] start copying and pasting stuff,<br>[43:17] everything it updates on the fly. Uh,<br>[43:20] there's a nice preview button. The<br>[43:23] there's there's all the things that just<br>[43:25] like feel like very intuitive.<br>[43:28] Um, so it's nice and and and there's<br>[43:31] still like a kill a little rough edges<br>[43:33] like like I go in there and I I am<br>[43:35] filing bugs, you know, like I find stuff<br>[43:38] and I'm filing bugs because it's not<br>[43:39] stable yet.<br>[43:40] >> But it's it's it's like head and<br>[43:43] shoulders above,<br>[43:45] you know, anything else that Drupal's uh<br>[43:47] done before. And like as far like I I I<br>[43:52] like it better than Gutenberg, too.<br>[43:54] though Gutenberg<br>[43:56] I tell you the truth like it's going to<br>[43:58] be interesting to see how that works out<br>[44:00] you know<br>[44:02] >> yeah I I<br>[44:05] so I've been in the last year or so been<br>[44:09] playing a lot more so as as Gutenberg<br>[44:12] has has developed in the WordPress<br>[44:14] ecosystem it's extended to be more than<br>[44:17] just like the block editor in uh content<br>[44:20] stuff it's been expanded to do more site<br>[44:23] editing things. Um, the site that that<br>[44:25] this podcast is uh is the website, the<br>[44:28] community code website uh is just uh a<br>[44:32] 2025 like default theme and a bunch of<br>[44:35] customizations in the full site editor<br>[44:38] to change the different layouts for the<br>[44:40] different pages and and uh the episodes<br>[44:42] and and whatever. Like so like I can do<br>[44:45] a lot of stuff just using the tools that<br>[44:48] are that are core without having to<br>[44:50] build like a theme at all or think about<br>[44:53] that anymore which is pretty impressive.<br>[44:55] Like it didn't used to be like that. Um,<br>[44:57] but it took a long time to get to that<br>[45:00] point and and for a long time it was<br>[45:02] like there's a lot of things that you're<br>[45:04] like a lot of limitations that you uh<br>[45:07] that I was like running up against uh<br>[45:09] and like oh I don't know how to do this<br>[45:12] thing or how do you like I just I just<br>[45:13] need to change a line of CSS to fix this<br>[45:15] other problem whatever. Um and it took a<br>[45:18] lot to to get to the point where where<br>[45:20] it is now. Um but it does seem like I<br>[45:23] mean demos aren't aren't live a<br>[45:26] And so like it the proof is in the<br>[45:28] pudding when you actually start to use<br>[45:29] it. But it what I've seen of uh Drupal<br>[45:32] Canvas uh it feels like it's a better<br>[45:36] like it's it's further along that that<br>[45:39] timeline to [clears throat] a usable<br>[45:41] thing than a lot of the stuff that has<br>[45:45] been in WordPress core for you know the<br>[45:48] last couple years and then iterated on<br>[45:50] to get to get to the point where it is<br>[45:51] now. [snorts]<br>[45:53] >> Yeah. I can't really speak to like,<br>[45:56] you know, like when I don't know<br>[45:59] WordPress nearly as well as you and and<br>[46:01] I haven't used it recently, so I can't<br>[46:03] like really speak to how it feels<br>[46:05] compared to, you know, mo modern<br>[46:07] Gutenberg. My most of my Gutenberg<br>[46:09] experience comes within the context of<br>[46:11] Drupal, which is not not the correct<br>[46:14] experience,<br>[46:14] >> specific flavor. Yeah.<br>[46:15] >> Yeah. Yeah. Yeah. And I I I can tell you<br>[46:18] that like there are some some things in<br>[46:21] Drupal Canvas that like, you know, need<br>[46:24] to be worked on and and I've been filing<br>[46:26] bugs and pinging the appropriate people<br>[46:29] in Slack, which I'm I'm pretty sure<br>[46:31] they're probably,<br>[46:32] >> you know, oh crap, here's Hersel again,<br>[46:35] you know, [laughter]<br>[46:36] >> but um [clears throat] but but at the<br>[46:38] same time, like a number of the bugs I<br>[46:39] found have become release blockers.<br>[46:41] >> Yeah.<br>[46:42] >> You know, and and and things like that,<br>[46:44] and that helps. So, um,<br>[46:48] it's going to take iteration. I I think<br>[46:51] like the the success or failure on on<br>[46:56] canvas is going to be like how it feels,<br>[46:59] you know, how intuitive is it, how it<br>[47:01] feels, how many paper cuts are there.<br>[47:04] >> Yeah. you know, we can deal with a<br>[47:05] couple couple paper cuts, but if there's<br>[47:07] too many paper cuts, it starts to get<br>[47:09] like really really annoying, you know,<br>[47:11] and and and on top of that, like how<br>[47:14] well how well developers can extend it,<br>[47:17] you know? You know, if I want to inject<br>[47:21] XYZ or something in there in into the<br>[47:24] edit edit editorial interface, how easy<br>[47:28] can I do that, you know?<br>[47:30] Yeah, that's that's actually a really<br>[47:33] good point and something that I wanted<br>[47:34] to talk about too. And I know we're<br>[47:35] getting close to time, but I want to<br>[47:36] still throw this in because um one of<br>[47:40] the things about uh that when Gutenberg<br>[47:43] development started forced uh WordPress<br>[47:46] developers to learn was the the fact<br>[47:50] that Gutenberg the decision was made<br>[47:52] very early on to to make it a React<br>[47:54] interface. And so that meant that not<br>[47:56] only did uh WordPress developers need to<br>[47:59] learn JavaScript, but they also needed<br>[48:01] to specifically learn React. Um, and the<br>[48:03] learning curve like you know having<br>[48:06] having played with React uh a little bit<br>[48:09] I didn't I mean not before Gutenberg<br>[48:11] obviously why would I uh but having<br>[48:14] played with it since like I do like<br>[48:17] using uh React coming from like a PHP<br>[48:20] background because it makes a little bit<br>[48:22] more sense uh to my brain but like<br>[48:24] [clears throat] there's definitely a<br>[48:25] learning curve there. um talk about like<br>[48:28] the developer experience for building<br>[48:30] things for canvas because as I<br>[48:32] understand it, it's not that same sort<br>[48:34] of like you need to learn a<br>[48:35] fundamentally different language<br>[48:36] anymore.<br>[48:38] >> Yeah. Yeah. So like if I want to create<br>[48:40] a component that works in and outside of<br>[48:42] canvas, it's it's the same as creating a<br>[48:44] component like outside of canvas, you<br>[48:47] know. So I I mentioned that that Drupal<br>[48:49] has this concept of uh direct uh<br>[48:52] components which are called single<br>[48:54] directory components and basically like<br>[48:56] within your theme you have a component<br>[48:57] directory and within within that<br>[49:00] component directory you have you know a<br>[49:02] directory for every single component uh<br>[49:04] and there's two mandatory files for your<br>[49:07] component. There's a twig file which is<br>[49:09] [snorts] which is like the markup<br>[49:10] language that Drupal uses. It's it's<br>[49:12] it's like standard HTML and then some<br>[49:15] curly brackets. You can put for loops<br>[49:17] and all that type of stuff in there. And<br>[49:20] uh then there's a the component.yaml<br>[49:22] file. The component.yaml file will say,<br>[49:23] hey, this is a component. And then it'll<br>[49:25] also list the um type of data that that<br>[49:30] twig file is expecting, you know. So you<br>[49:32] say like I'm going to have a title. It's<br>[49:33] going to be a string and you know you<br>[49:36] can call it you know title or something<br>[49:39] you know or you know I'm gonna have this<br>[49:41] you know portrait landscape checkbox and<br>[49:44] it's a boolean you know I have an array<br>[49:46] all this type stuff right and so<br>[49:50] [clears throat]<br>[49:50] so it it describes what the twig file is<br>[49:53] expecting and then you have a couple<br>[49:54] optional files you can have a CSS file<br>[49:56] in there you you can have a JavaScript<br>[49:58] file in there if if if it sees those<br>[50:00] it'll automatically be loaded whenever<br>[50:01] the whenever the component is loaded and<br>[50:04] you can also like put into the YAML file<br>[50:06] you know stuff for additional CSS files<br>[50:09] or you know dependencies on other type<br>[50:13] of you know stuff too if you want. Um so<br>[50:17] so at that point you have you have a<br>[50:19] directory I mean a single directory<br>[50:21] component and as soon as uh canvas sees<br>[50:26] that single directory component it'll be<br>[50:28] available. Now, if something is screwed<br>[50:30] up in that YAML file, like let's say<br>[50:33] like you got your YAML indentation<br>[50:35] incorrect or something like that, what's<br>[50:36] kind of cool is you can go to like a<br>[50:38] little reports page, find your component<br>[50:40] in there, and it'll tell you exactly<br>[50:41] what's wrong with it, which is super<br>[50:42] nice from a development experience.<br>[50:45] >> Um, but once that component is is there<br>[50:49] and it's working, uh, like Drupal will<br>[50:54] know, hey, this is a string. Uh, so I'm<br>[50:58] going to put a, you know, a little text<br>[51:01] field in there, you know, and you and<br>[51:02] there's some other, uh, like stuff in<br>[51:04] your YAML you can add to say like I want<br>[51:06] to load a rich text editor, you know,<br>[51:08] >> and there's there's some stuff in there<br>[51:10] says this, you know, you can say this is<br>[51:12] an object and it's going to accept, you<br>[51:13] know, this is going to be an image. So<br>[51:16] that'll give you like a little widget to<br>[51:17] browse to to an image, load into your<br>[51:19] meter library and stuff like that,<br>[51:21] [snorts] you know, and at that point it<br>[51:22] kind of it's this kind of works. So, the<br>[51:26] development experience for creating<br>[51:28] components is pretty pretty good.<br>[51:30] There's a couple rough edges, like a<br>[51:32] couple, and these are being worked on,<br>[51:34] you know, and I'm like I'm<br>[51:35] [clears throat] totally on top of that.<br>[51:37] Um, but even the rough edges have<br>[51:40] workarounds, you know, and and like if<br>[51:42] if you go to the dripard blog and stuff,<br>[51:44] I actually blog about this stuff because<br>[51:47] it's kind of it's kind of fun, you know?<br>[51:48] It's fun to<br>[51:49] >> to like solve these problems as I'm<br>[51:51] doing this. you know<br>[51:53] >> [gasps]<br>[51:53] >> um<br>[51:55] as far as the development experience of<br>[51:57] extending the actual editorial interface<br>[52:00] that's a good question like I haven't<br>[52:02] done that you know<br>[52:04] >> um like uh dripyard's editorial<br>[52:06] interface is built within React but that<br>[52:08] being said like like when Gutenberg was<br>[52:12] you know started what was this like<br>[52:14] probably like five six seven years ago<br>[52:16] or something like that<br>[52:18] >> react it a lot more people know React<br>[52:20] than they did back you know, like like<br>[52:23] React is is is React was common back<br>[52:26] then, but it's much more common right<br>[52:27] now,<br>[52:27] >> right?<br>[52:28] >> So, like I feel that people will be able<br>[52:30] to kind of jump in there and get in into<br>[52:33] it. But that being said, like you know,<br>[52:36] people have not yet because it's not<br>[52:38] technically stable right now. Like as of<br>[52:40] time of this recording, it's a release<br>[52:41] camp like RC1 or RC2 or something like<br>[52:43] that,<br>[52:44] >> right?<br>[52:44] >> Yeah. Yeah. But I mean that's<br>[52:46] interesting though because like<br>[52:47] fundamentally what I'm hearing is like<br>[52:49] if you want to build something that can<br>[52:51] be used by canvas, you don't<br>[52:53] [clears throat] have to learn a<br>[52:54] completely different language. And I<br>[52:55] think that that's huge. Uh I think that<br>[52:57] that's a really big thing that that uh<br>[53:00] >> uh Canvas has going for it. And like you<br>[53:02] said, like even even beyond that, the<br>[53:05] the developer ecosystem today for people<br>[53:09] who know React or people who have<br>[53:11] encountered React is probably a lot<br>[53:12] broader and bigger than it was five or<br>[53:15] six years ago when we were talking about<br>[53:16] uh whether we were going to use React or<br>[53:18] Vue to put into to build Gutenberg on<br>[53:20] top of. So<br>[53:21] >> yeah, absolutely.<br>[53:22] >> So like just the ecosystem is different.<br>[53:24] >> Um yeah, well thank you so much uh for<br>[53:26] coming on Mike. Uh, I appreciate, uh,<br>[53:29] learning about Drupal and and having an<br>[53:32] extremely nerdy [clears throat]<br>[53:33] conversation comparing, uh, CMS's. Um,<br>[53:37] where can, uh, people find you if<br>[53:39] they're looking for you online?<br>[53:40] >> Uh, that's a good question. So, uh, my<br>[53:43] website is hersel.com and that's spelled<br>[53:45] with a C, like there's no S's in there.<br>[53:46] So, hl.com.<br>[53:48] Uh, dripyard.com is my company. If<br>[53:51] you're into Drupal, check out our blog<br>[53:53] and, you know, buy our stuff. I'm on<br>[53:55] like blue sky atmike.hershel.com<br>[53:59] and I'm on mastadon. You can I'm on like<br>[54:02] most of the things. Oh, on LinkedIn I am<br>[54:05] Mike Herschel's disembodied head and it<br>[54:07] has like my head floating right there<br>[54:09] and uh people have like come up to me at<br>[54:12] conferences like you're a disembodied<br>[54:13] head. Yeah. [laughter]<br>[54:15] >> Hello Mr. Disembodied head.<br>[54:16] >> Yep.<br>[54:18] >> Awesome. Well, thank you so much, Mike,<br>[54:20] again, again, for coming on and for<br>[54:21] everyone else uh for listening uh either<br>[54:24] now or in the future if you're coming<br>[54:26] upon across this episode at some distant<br>[54:29] point in the future. Uh and uh until<br>[54:32] next time, uh we'll see you on the<br>[54:33] internet. All right, bye everybody.<br>[54:37] [music]<br>[54:42] [music] <!-- deep-read:sections end -->