What can the WordPress community learn from the State of Drupal?
This week, the Drupal community gathered in Austin for DrupalCon 2014, including the annual “State of Drupal” address from Dries Buytaert. It’s the first North American Drupalcon I’ve missed since Boston in 2008, though thankfully all the presentations at DrupalCon are recorded and made available online. Embedded below are the video and slides for Dries’ State of Drupal address. While I know most folks in the Drupal community will have already watched it, I’d suggest there’s good value in watching it from the perspective of the WordPress community as well.
What can the WordPress community learn from the talk?
Dries’ general perspective is clear and well articulated:
- Experience is the key. While it isn’t always clear from the experience of using Drupal (sorry, couldn’t resist), Dries and the core team have long focused on improving the usability of Drupal for content authors and site managers. Using the evolution of the “photographic apparatus” as an example, Dries traces how each stage in the evolution simplified steps to the point of removing them from consideration. Like design, technology is at its best when it is invisible, improving the users’ capabilities without adding complexity to the experience.
- Technology innovations enable experience. As the process of taking, storing, and sharing photos got simpler for the end user, it actually got more complex on the “back end.” Compare the basic chemical processes of early photography with the hardware and software behind a modern camera phone: the experience for the end user gets more simple while the technologies assembled to create that experience get more complex.
- We’re heading from the assembled web into the experience web. Open source components and an assembly methodology have dramatically improved the capabilities of developers, enabling us to bring together many existing, functional components into a larger experience. The experience web leverages semantic markup and multiple devices to bring sophisticated capabilities to users while at the same time simplifying their experience.
- The open web is closing up. Dries argues that as the big players get bigger, it gets harder and harder to compete as an independent site. The challenge is these experiences can often be better for the consumer in terms of convenience and ease of use, but they ultimately represent a re-intermediation, inserting the search engine or social platform in between you and the content (brands, products, people) with which you want to interact.
Dries’ focus, of course, is on what the role of Drupal will be in driving forward the “Experience Web”: providing multi-channel semantic markup in multiple formats to provide next-generation search and e-commerce experiences. (The second 30 minutes of the talk is more focused in on changes to the core architecture in Drupal 8).
What does this mean for WordPress?
I’d love to hear your thoughts in the comments, but here’s a few I’d start with:
- WordPress is even more well positioned to create an ideal authoring experience, letting users easily create complex structured content – and to expose that content in multiple formats and multiple contexts. While the majority of users of the platform may be only looking for a web site that renders pages and posts as html, the combination of custom post types, custom taxonomies, and custom metadata (along with plugins like the JSON-REST API) enables WordPress to power the same kind of rich, extended, experience web style applications Dries describes for Drupal.
- The WordPress community can’t rest on its laurels with respect to ease of use. Check slide 162, where Dries claims “effortless authoring” as one of the features of D8 (specifically calling out in-place editing, responsive back-end, and a redesigned content creation page). WordPress has to continue to evolve what ease of use means, fighting hard to maintain the core simplicity (“smart defaults over choices” and so on) while adding the power of complex content types, taxonomy metadata, incorporating the JSON-REST API, and so on.
- Drupal has made a deliberate shift from a “not invented here” attitude to a “proudly found elsewhere” attitude, incorporating significant elements of the Symfony framework as well as Twig as a templating language. While I don’t believe the WordPress community suffers as much from “not invented here” as Drupal did historically, I would love to see continued focus on what we can learn from other communities. In some cases that will mean actually being able to leverage code from other communities, in other cases it will mean adapting patterns and approaches, but modifying them to be appropriate to the culture and user experience of WordPress.
- Drupal’s “epochal” release strategy – where 8.0 is a fundamentally different release than any 7.x, which is a fundamentally different experience than 6.x, and so on, has its advantages and disadvantages. The major disadvantage is that those primary releases take multiple years to arrive, and require hugely substantial rewrites of core functionality, contributed modules, and even sites built on the platform. (It’s not uncommon, in my experience, for people to spend the better part of a year on a major version upgrade of their site on Drupal). The advantage is a chance to tell the story of progress, to very visibly remove legacy experiences and code, and to claim the arrival of a new era. I often talk to people who say “I used WordPress once; it’s too simple for my needs,” only to discover the last time they looked at WordPress was in 2.5 or 2.7 (which is to say, pre-multisite merge, pre-custom post types, and so on). There’s no epoch to measure, to say WordPress 3.x is fundamentally a different platform then 2.x, or WordPress 4.x will be the culmination of 3+ years work by the community to rewrite the platform from the ground up. I’m not suggesting we should shift to this model – incremental change is less disruptive to the site builder and the end user, not to mention to plugin and theme developers or those building products on top of the platform – but incremental change can be more difficult to notice/sense. We need to do a better job articulating the changes that have come and the power the platform has (and will continue to have) while not losing the simplicity and elegance of the user experience.
- Drupal’s going after the enterprise in a major way. Large brands, complex IT infrastructures, and large teams of developers line up well to large scale Drupal development. Acquia’s sales team is part of this effort, but I don’t think it is a case of Acquia running in a direction other than that of the community – I think Acquia is working with the community as it heads that direction. Of course there are those in the community who don’t welcome these changes – see Backdrop for one visible example – but the Drupal community on the whole is making a deliberate and sustained effort to become “the enterprise platform.” I don’t ever want to see WordPress lose our focus on the end user, but I think we definitely can do a better job telling the story of the enterprise WordPress user. (WordPress.com VIP and the Big Media and Enterprise WordPress meetups are the start of this process, but not the end).
- WordPress can help retain the Open Web. I was disheartened to hear Dries say basically we can’t stop the open web from closing. I don’t disagree with him about the increasing dominance of a few key players in our daily lives online, but I think the antidote to that is the continued presence of many smaller players, enabled by technologies like WordPress. The IndieWebCamp movement, BarCamp, and WordCamp all suggest to me a strong and vibrant future for the truly open web. WordPress’ core mission, to democratize publishing, can and should continue to be a strong antidote to the evolving closed, monolithic, corporate web.
Of course there’s also the requisite “WordPress can’t come close to doing this” and “it’s miles and miles away from doing this” at 37:20 into the talk. It isn’t really clear what it is Dries is saying WordPress can’t do – output semantic marked up content? Provide a REST api? Enable complex content types? Serve as a headless content repository to be consumed by other frameworks? I don’t see anything in his description that can’t be done with WordPress, albeit with leverage of plugins and custom code. (Largely this is due to WordPress staying true to a “small core” approach, keeping more of the needs of smaller portions of the audience in the plugin space rather than moving them all into core).
What’s your take?
What does the direction of Drupal as laid out by the project’s founder and lead suggest about the future for WordPress?
How can we continue to take on the use cases and needs of large teams of developers and enterprises, without making it too difficult for smaller companies to leverage the platform, and while preserving the image of WordPress as an attractive platform for independent developers to learn?