This talk is not about you. Every other talk will be about you, but this talk is about content creators. They are the victims of Drupal! They are the people who are stuck with what you have just built, 9-5, to do their jobs. Not only are they victims of Drupal, they are also the people making the decisions these days, not only in larger companies but also at the hobbyist level. It's really important to get things right for these people because they are becoming more and more powerful in terms of the actual selection process.
We're going to look at a number of different things: Drupal, plone, squarespace, squiz, cq5.
Drupal Out of the Box
Angie narrates a video of someone creating a node on a stock Drupal 7 install
But you'll say "Webchick, don't be stupid! We put a lot of contributed modules on top!" Let's look at what that looks like.
Narrated video of someone creating content on Drupal Gardens
More than simple plain text editing, you can now do simple styling. You have a little bit better presentation. You can do a lot of other interesting things (although for security reasons, you may not give that capability to users.) One of the really huge advantages to a bunch of modules are support for media and galleries. The powerful thing here is the ability to put things inline in the node body.
I spent a tremendous amount of time looking at what other systems are doing in this area.
Squiz is open source and has a very strong focus on editorial experience. They're able to enter an editing mode on any page, which is contextual based on what you're selecting in terms of the field you're hovering over. Breadcrumbs, menus, blocks... everything is editable and the CSS is applied inline. Everything in Squiz that is a field can be dragged anywhere on the page at any time. Fields you create can be edited and placed independently. They have the ability to save the whole page at once, or protect individual regions so that only certain regions can be edited by certain users.
Plone is a smaller CMS with an actual open-source GPL license behind it. It's a framework and a CMS, much like Drupal, and all written in python. You can edit specific fields inline, with all of the CSS applied. Plone lets you include certain types of fields on content types, depending on the content type definition. A SnapTo grid system allows you to dynamically change the layout of the node through the UI. Very powerful.
Recently bought by Adobe. The 800-pound gorilla of CMSes. Costs gazillions of dollars, written in Java. Tremendous set of capabilities and totally buzzword compliant. This is probably the best in the industry in terms of management. As an example, here is an example of dragging and dropping a SWF directly into the page. They can drag a layout container onto the page, and take fields and put them into the columns. I don't like this because it makes the screen a little bit messy, but it gives the user a great idea of where they can place content on the page. There is a media library with centralized assets.
When you have a mobile site, you manage it independently in CS5. The mobile site automatically inherits from the main site. You can preview how it will look on a licensed image of each device. You can change a specific field for a specific device, class of devices, a specific orientation... and all the other fields will still update.
This is probably the coolest eye candy I have seen for a user-facing system before. It's a proprietary SaaS platform. The fields automatically save in the background. You can add blocks directly to the content, and for example publish a calendar, which is a built-in widget. If you want to change the layout, it's all drag-and-drop. You can take an image and drop it directly into the page. It takes a second but it loads a modal dialogue that lets you set an alt tag and caption. You can insert it inline or put it in a column; you can drag between columns. You can insert it directly into the text, adjust its ability to float, and all of this is governed by four actions in the system: view, author, view analytics and change settings. This base set of tools is what we should aspire to.
Drupal still wins under the hood. Unfortunately content authors don't care about that. So how do we fix it?
- Real WYSIWYG and in-line editing: not just a cute toolbar on a text area!
- Flexible layout tools: We need to move between layouts easily!
- Drag and drop everything
- Kick-ass media support: I write all my blog posts in drush, but apparently some people like markup and video.
- Everything customized for every device
It's time to make Drupal 8 kick ass. We need all hands on deck to do this stuff and we need to do this fast.
Q: Are layout changes configuration or content?
A: I think they are probably configuration changes. I would hate to see these things be specific to nodes, because people are dragging and dropping blocks. Think about configurable containers that can be placed anywhere on the page. Containers hold the content. So you can drop widgets into containers, text into containers, similar to the entities everywhere concept.
Q: It's one thing to develop a new feature, but if the content author uses the feature repeatedly, having it at the bottom of the node form isn't very usable. Can we add things to the API to easily change the node layout or make things drag-and-droppable?
A: That's exactly right. We need a set of properties that remain consistent on each thing you drag and drop around a page. We need help on that because we don't really know. If anyone is interested in working on this, please come talk to us. This is a major focus, and not just within Acquia.
Q: Why didn't you explore Joomla and Wordpress?
A: If we can do this, we'll blow those guys out of the water. Wordpress has a wysiwyg editor. I think Joomla is the same. Drupal would become a leader in CMS UX. That's why we're striving for what is the best of the best, regardless of whether they are a direct competitor or proprietary or whatever.