Every time I leave the Windy City, I feel something pulling me back. This time, it wasn't the gusts that whip around the skyscrapers towering over Lake Shore Drive. Instead, it was the renewed excitement I could feel in the air on the heels of last Wednesday's release of Drupal 8.5, and the mood at MidCamp, held at the Lincoln Park campus of DePaul University, was celebratory and animated.
This impeccably organized Midwestern Drupal conference attracts attendees from all over the country, and all were here to learn about Drupal 8.
It's easy to see why. MidCamp's eclectic lineup of sessions and trainings spanned all levels of experience with Drupal and straddled a surprising range of topics, including Drupal for site builders, theming in Twig, writing RFPs, technical leadership, and diversity and inclusion.
In this Experience Express column, we're stopping in Chicago to see just what all the enthusiasm is about. Here's a roundup of a few of the Friday sessions and an interview with a few of the Acquians who were there.
Putting the "open" back in open source
"What good does it do me or anyone else to take advantage of someone's discomfort or revel in someone else's suffering? How does that move the conversation along?" —Chris Rooney
The opening keynote of MidCamp kicked off in high gear with a deeply personal clarion call for diversity and inclusion in the Drupal community by Chris Rooney, President and Founder of Digital Bridge Solutions.
In his keynote, Chris asked: "What's so 'open' about open source?" Though I only managed to catch the first half of his talk, I captured a few of the highlights. Chris embraced introspection during his keynote, exhorting the audience to take to heart three key inclusion ideas.
First, he drew from his own past to ask the audience never to judge someone presenting at a Drupal event. Second, Chris encouraged listeners to drop our weapons — to drop our preconceived ideas about the world, exacerbated by echo chambers like Facebook and Twitter, when entering into a conversation about diversity and inclusion. To put this in perspective, he noted the case of a white male DrupalCon Baltimore attendee who had voted for President Trump and felt apprehensive about approaching the Drupal Diversity & Inclusion booth. Third, Chris cogently suggested that we are all simultaneously victims and perpetrators of prejudices and preconceptions.
Chris cited the fact that the Drupal community remains less diverse than the technology industry overall, given metrics from participants and speakers at DrupalCon. To illustrate this, Chris offered the following statistics: while 18% of DrupalCon Baltimore attendees were women — and 22% of speakers there were — the technology industry overall is made up of 38% women. These statistics were particularly poignant coming the day after International Women's Day.
I wholeheartedly agree with Chris Rooney's points and admired him for his frankness in sharing his own experiences. In the Drupal community, we can all do better to learn from each other and to welcome — not just tolerate — others' life experiences.
What's on your local environment?
"Soon enough she'll be setting up Kubernetes clusters!" —Jeff Geerling
My Acquia colleagues Chris Urban (Manager, Professional Services at Acquia) and Jeff Geerling (Senior Technical Architect at Acquia), friends I have known for years through Drupal, offered up an empirical look at local development environments in the Drupal community with a side of humor.
Chris Urban has been publicizing a survey on Twitter, asking respondents to identify their chosen solution for local development.
So far, the results are fascinating and show not only an uptick in Drupal 8 adoption thanks to the widening diversity of local development solutions, but also the remarkable staying power of Drupal 7 and bare-bones code editors. Among teams building Drupal sites locally, Chris found that the majority of people are working on both Drupal 7 and Drupal 8 builds and that they are doing this primarily on their own or with one other developer on a team.
In terms of code editor choice, 65% of respondents thus far preferred PHPStorm, 23% preferred Sublime Text, and 17% preferred Visual Studio Code or good old vim. In addition, Chris and Jeff presented their findings of the most frequently used local development technologies: in descending order, they are Drupal VM, Docker for Drupal, Lando, Kalabox, MAMP/MAMP Pro, and Acquia Dev Desktop.
Nonetheless, the optimal local development solution relies on what your requirements are. For site builders, Jeff and Chris recommended Acquia Dev Desktop due to its user-friendliness, and proposed Docksal and Lando for more adventurous types. For single developers or large developer teams, Chris and Jeff recommend either Docker-based solutions or Drupal VM and advised attendees to steer clear of tools that can stymie development.
Coming together on components
"With the Layout Initiative, those who are doing component-based theming should be hands-on with with the layout functionality early so they know how their approach to component-based Drupal fits into [the new layout paradigms]." —Brian Perry
"The real game changer for me is Web Components. The reason for that is that you will have guaranteed parity between your pattern library [and] your Drupal. All it does is render the markup in the same standard format." —Adam Bergstein
In response to a cancellation, Adam Bergstein (VP of Engineering at Hook 42) and Brian Perry (Interactive Developer at HS2 Solutions) delivered an impromptu back-and-forth about the state of front-end components in Drupal and how concepts of atomic design can and should dictate how we think about components within our themes and more generically, within Drupal systems at large.
In his blog post "Exploring simplicity in Drupal design components", Adam argues for having a component-driven style guide and pattern library sit separately from Drupal and serve design components to the Drupal front end — as a means of "decoupling" style guides from theme components. Along the same vein, Brian defended employing pattern libraries as an external dependency to Drupal themes, particularly if that pattern library would be utilized in other settings beyond the Drupal front end.
Nonetheless, Adam also discussed some of the issues of using contributed modules rather than core. In an ideal world, we as developers would be able to use tools available by default in core to make use of components. For instance, a design pattern in Pattern Lab could map to a Paragraph or content type display in Drupal, but because Paragraphs is a contributed module, it isn't easy out of the box. Adam's goal is to find a non-contrib way to accomplish this mapping of design patterns into Drupal, such as through core's custom block types.
Adam and Brian also highlighted the discretional use of several contributed modules and projects, based on team needs, which are having an outsized impact on current discussions about component-driven Drupal front ends. For instance, the UI Patterns module gives site builders some of the tools that front-end developers are used to by registering UI patterns that can then be reused as Views or blocks. Other projects include the Components and Block Type Templates modules, as well as the GraphQL Twig for Drupal module, which aims to allow access to data via GraphQL within Twig templates.
Interview: Acquians spill the beans on Drupal 8.5, local environments, and decoupled Drupal
During lunch, I had a chance to catch up with Sarah Thrasher (Senior Front-End Developer at Acquia), Jeff Geerling, and Chris Urban. What ensued was a wide-ranging conversation about the Midwest, local development, Drupal 8.5, and of course, decoupled Drupal. This interview has been lightly edited for brevity and consistency.
Experience Express: So why is the Midwest so cool?
Jeff Geerling: I live here! The reason I stay in the Midwest is that the cities here are small enough that they feel like families but they have amenities that people on the coasts think only they have.
Sarah Thrasher: Because you can afford a house!
Jeff: Because the cost of living allows us to live here with a family. Plus they have nuclear waste disposal sites in St. Louis!
EE: What would be the best local environment for someone new to Drupal or evaluating Drupal?
Jeff: Probably Acquia Dev Desktop, because it's the best way no matter what computer you're on to get a Drupal environment running — best and quickest. If you can use a computer, you can probably use Acquia Dev Desktop, with the caveat that most people who do Drupal work eventually outgrow it, but it's a great foundation.
Chris Urban: Dev Desktop is the choice for ease of use and time to get up and running with a minimal amount of instructions. You don't have to be intimidated needing command-line experience if you're not comfortable with that. You can ease into it and get accustomed to it more.
EE: What's interesting to you about decoupled Drupal?
Sarah: Not having to have a local development environment. Seriously, setting up Node.js is so much easier. If you're using Contenta, you don't even have to have that. I know there's a local environment for Node.js still, but it's more comfortable for a front-end person. But I do appreciate Drupal VM and the Docker solutions that are out there. I do also like some of the excitement around Layout Builder, and Twig is getting easier all the time in core!
EE: What would you recommend as a development environment for a small shop or an individual freelancer?
Jeff: I would say that it depends on your team's makeup. If you have somebody who can help maintain the environment, you can go more complicated — maybe even a custom build based on Docker. Otherwise, stick to one of the popular tools like Docker for Drupal and Lando.
Sarah: The tool itself isn't as important as having people available to help when you hit snags. This is why Drupal VM is so great!
Jeff: I'm a maintainer for that!
Chris: Lando's a nice community too that has exploded in the last six months, tops, with things like recipe development. Their initial focus was on supporting multiple hosting providers.
EE: What most excites you about Drupal 8.5?
Sarah: Layout Builder — it's awesome! We can let site builders make decisions about how they want pages to look without looking at code. You get immediate feedback about what you're changing.
Chris: For a site builder, Settings Tray is going to be huge. It's just a more intuitive interface. The frustration site builders have is trying to find in the admin where they need to make the change. Now it'll hopefully be easier, and the corollary to that is the Layout Builder. That's another common feature request.
Jeff: Media has always been a major pain point in Drupal, and since WordPress has had something for it for years, we're finally not eight years behind the times. Finally, Media in core means that it'll actually be stable, and we can start using it without fear of the next version breaking every site that we build. Contrib can have a stable foundation.
All in all, MidCamp was an invigorating experience which rekindled in me some of the passion about Drupal 8 that had fallen by the wayside. It's clear that the Drupal 8.5 release in particular has already unleashed unprecedented excitement in the community, and I'm excited to see what comes next from these contributors and developers in the realms of local development environments and component-based theming. I'm also interested to see how the dominant message of inclusion resonates beyond Friday morning's attentive audience.
Next time on the Experience Express, we're heading to Austin and SXSW Interactive and jumping back into decoupling Drupal 8 core with core REST and the Serialization module. Then we'll dive into the REST and HAL modules, an introduction to setting up Drupal 8 as a web services provider, and a quick look at the helpful REST UI module. All aboard!