18 Sep 2018

feedWordPress Planet

WPTavern: Gutenberg Cloud: A Cross-Platform Community Library for Custom Gutenberg Blocks

During their presentation at Drupal Europe, the Frontkom team behind the Drupal Gutenberg project announced that they are working on a block management system called Gutenberg Cloud, a collective library of blocks online.

The library will offer a content repository for custom Gutenberg blocks, such as forms, a call-to-action section, product grid, or even a web component. Since the blocks are JavaScript-only, they would work across both Drupal and WordPress alike, so developers can build for both platforms simultaneously. The Gutenberg Cloud creators are aiming to facilitate a new level of cross-platform sharing that few envisioned when the Gutenberg project began.

"Gutenberg to us is much more than just another module," Frontkom CIO Per André Rønsen said during their presentation at Drupal Europe. "We think of it as a platform for brand new features. We are very excited about the sharing/community aspect and the possibilities here. We want to make it easy to share and reuse custom blocks across pages, across projects, across companies, and even across publishing platforms. Drupal has always been great at sharing backend style of code. Now let's make it great at sharing frontend code as well. This is why we're working on a block managing system."

Gutenberg Cloud would provide a plugin for WordPress and a module for Drupal (and eventually other applications) that would enable users to browse, filter, and discover blocks within the admin and download the ones they select. Early mockups I previewed show an interface similar to the theme and plugin browsers inside the WordPress admin.

A cloud-based block service solves a few problems that Gutenberg early adopters are already experiencing when hunting for blocks. WordPress theme and plugin shops have have been releasing their own block collections bundled into a plugin, but it's not easy to discover or browse the individual blocks. Having blocks available on Gutenberg Cloud would prevent developers from having to create a new module or plugin for each individual block. It also prevents users from having to download an entire collection of blocks in a plugin when they really only need one or two of them.

Gutenberg Cloud Will Launch as a Community Project, Developers Contribute by Publishing Packages to NPM

Rønsen said they plan to launch Gutenberg Cloud as a community project. Any developer can contribute blocks by creating an NPM package and tagging it with "gutenberg-cloud." The description on the cloud service outlines their intentions: "Code once, use everywhere: As Gutenberg blocks are CMS-agnostic, we want to provide an ecosystem all systems can connect to."

An example Hero section block published to NPM

"We imagine everything from freelancers to big agencies and even community minded non-profits to contribute," Rønsen said. "When people benefit from a better user experience, they tend to want to pay it forward. We have already talked to people in both communities wanting to contribute with code, so that is a great start for the platform."

I asked if his team envisions block creators being able to sell access to their blocks in the future. He said his team is open to finding a payment solution for commercial blocks but only if the community demands it.

"Personally, I would be skeptical about committing to a community project that had a very commercial edge," Rønsen said. "I think it's important that the project stays focused on open source contributions, with a sharing-is-caring attitude. It's the only language we know in Drupal. However, there is nothing wrong in providing high quality content and getting paid to do it. That's why it's on our roadmap to facilitate a payment solution for premium blocks - if the community wants it. It's not central to the success of the platform, but I imagine it could be a great way to make some money for a skilled designer."

Rønsen said his team plans to launch Gutenberg Cloud sometime later this year after completing internal testing and an invitation-only closed beta with a different companies. One of the most challenging aspect of the project is creating a system that can handle updates.

"By default users will get the latest stable release for the block from the author," Rønsen said. "There will be a way to lock into a specific version and to version control that in Git, however. The plugin update system is a good analogy, but the infrastructure is completely outside of WordPress core. There are also some issues we haven't solved yet regarding updates; it's hard to make a system that doesn't require a high maintenance effort for block developers."

The Gutenberg Cloud project is contingent upon Gutenberg development continuing on a path towards being a library that is decoupled from WordPress. Last week Rønsen told the Tavern that his team hopes "that Gutenberg core devs will catch onto the vision of Gutenberg as the 'editor for the open web' - not just for WordPress."

Gutenberg team member Gary Pendergast indirectly acknowledged this in a recent blog post that affirmed the Drupal Gutenberg project and reiterated WordPress' mission to democratize publishing.

"One of the primary philosophies of Gutenberg's technical architecture is platform agnosticism, and we can see the practical effects of this practice coming to fruition across a variety of projects," Pendergast said.

"From early experiments in running the block editor as a standalone application, to being able to compile it into a native mobile component, and now seeing it running on Drupal, Gutenberg's technical goals have always included a radical level of platform agnosticism."

If the Drupal community ends up adopting Gutenberg for its core editor, the shared library presents an unprecedented opportunity for deeper collaboration across the two publishing platforms. As an agency that has done client work for publishers on both CMSs, Frontkom saw the potential before many others and took it upon themselves to fork Gutenberg for Drupal. This is the beauty of open source software in action.

"WordPress has many advantages that make it so popular, but hoarding those to ourselves doesn't help the open web, it just creates more silos," Pendergast said. "The open web is the only platform on which publishing can be democratized, so it makes sense for Gutenberg to work anywhere on the open web, not just inside WordPress. Drupal isn't a competitor here, we're all working towards the same goal, the different paths we've taken have made the open web stronger as a whole."

Rønsen said he could see other applications and e-commerce platforms like Magento benefitting from better page-building tools. His company has a special interest in publishers and plans to release a set of open source tools for building news front pages later in 2018. Rønsen said he is hopeful the Drupal Gutenberg project can evolve alongside WordPress as it enters into the site building and customization phase of the project.

"I'm hopeful that the Gutenberg project will stay decoupled from WP one way or another," Rønsen said. "This will leave room for Drupal to innovate on top of it. It could even be the case that the page building tools and customizer integration in WP will play nicely into the current architecture. In any case, I believe the basics of the editor and block concept will continue to be a good fit for Drupal. There is already some consensus out there on how to use Gutenberg for page building. A great example, is Big Bite's work with Amnesty. If the continued experience is anything like that, I think we have a perfect match.

18 Sep 2018 10:38pm GMT

Matt: CEOs and the Real World

The downside of Zuckerberg's exalted status within his company is that it is difficult for him to get genuine, unexpurgated feedback. He has tried, at times, to puncture his own bubble. In 2013, as a New Year's resolution, he pledged to meet someone new, outside Facebook, every day. In 2017, he travelled to more than thirty states on a "listening tour" that he hoped would better acquaint him with the outside world. David Plouffe, President Obama's former campaign manager, who is now the head of policy and advocacy at the Chan Zuckerberg Initiative, the family's philanthropic investment company, attended some events on the tour. He told me, "When a politician goes to one of those, it's an hour, and they're talking for fifty of those minutes. He would talk for, like, five, and just ask questions."

But the exercise came off as stilted and tone-deaf. Zuckerberg travelled with a professional photographer, who documented him feeding a calf in Wisconsin, ordering barbecue, and working on an assembly line at a Ford plant in Michigan. Online, people joked that the photos made him look like an extraterrestrial exploring the human race for the first time. A former Facebook executive who was involved in the tour told a friend, "No one wanted to tell Mark, and no one did tell Mark, that this really looks just dumb."

There seem to be three communication gaps outlined here in Evan Osnos's revealing profile of Mark Zuckerberg: one is getting unvarnished feedback from your employees. Speaking as a fellow CEO and founder, it's certainly hard to pop that bubble - see "the bear is sticky with honey." There are a few techniques like skip-level 1:1 meetings, anonymous feedback forms, interviewing new hires, and 360 reviews you can do to try to counter this, but there's no panacea and this one requires constant work as you scale.

The second gap is getting the unvarnished truth from your users - much easier, as they're quite happy to tell you what's what. I've recently started cold-calling (yes, on the phone!) some of our Jetpack customers just to understand what they love and don't love about the experience and about how we can help them solve their business challenges. There's a casual intimacy to phone conversations that just can't be replicated in other user feedback forums. Pair this with good instrumentation throughout your product so you see what people do and not just what they say and you're golden.

The third and last communication gap is the connection to the world as most people experience it. If your status, wealth, or celebrity reach a point that they are shutting you out from "real" experiences, take some risks and get outside of your comfort zone. As it turns out, this new GQ profile of Paul McCartney offered a tip on that:

McCartney tells me a further such story of a time he took the Hampton Jitney, the slightly upmarket bus service that runs from the Hamptons into Manhattan, because he was deep into Charles Dickens's Nicholas Nickleby and he wanted to finish it, and how he then took a local bus uptown, and when a woman blurted from across the bus, "Hey! Are you Paul McCartney?" he invited her to sit next to him and chatted all the way uptown. "It's a way of not worrying about your fame," he says. "It's a way of not turning into the reclusive rock star. I often say to Nancy: I get in their faces before they get a chance to get in mine."

Makes me wonder if Jack Dorsey still rides the bus to work every day. I think this is what Zuckerberg was attempting with his 30-state tour, and hopefully it was helpful even if the optics didn't appeal to everyone - the daily habit of his 2013 resolution to meet someone new every day feels more powerful than the touristic 30-state one. But for an entity as large as Facebook maybe it's moot, as Casey Newton pointed out in his newsletter last week it can be quite hard to pin the answers to Facebook's real problems, and our democracy's real challenges in the face of targeted online propaganda, to just one person.

18 Sep 2018 9:35pm GMT

WPTavern: Hybrid Core 5.0 Offers a More Modern, Modular Approach to WordPress Theme Development

image credit: Shopify

Version 5.0 of Hybrid Core, one of the longest-running WordPress theme frameworks, is now available. Justin Tadlock celebrated 10 years with his Theme Hybrid community last month and released his new Mythic starter theme into beta. Mythic was built on top of Hybrid Core and developed in tandem with version 5.0.

The framework has been rewritten almost entirely from scratch to be a leaner, more modern starting place for theme development. Tadlock describes it as "a fundamentally different framework, rewritten from the ground up, that supports more modern PHP practices."

"I started 5.0 with a goal of bringing the framework up to date with more modern PHP practices and code," he said. "The first iteration of the framework was built in 2008, so it was time to get us ready for the next era of theme building."

In nearly a decade of supporting the framework, Tadlock found that users didn't always know how to get started building something from scratch. Many copied one of his existing themes and would add and remove things from it based on their own needs.

Version 5.0 doesn't necessarily make it easier to build on top of Hybrid Core with its new, more complicated method of bootstrapping, new view system for templating, and requirement for using Composer. This is why Tadlock is officially recommending Mythic as the path for building a theme with Hybrid Core in the future. Most of the documentation and tutorials he plans to create in the future will be centered around the Mythic starter theme, which is nearing a 1.0 release.

We just closed all tickets on the 1.0.0 milestone for the Mythic starter theme! It feels pretty good.

Barring any OMGBBQ issues between now and tomorrow, you should see an announcement post from me.https://t.co/J4CGLKa1y5

- Justin Tadlock (@justintadlock) September 17, 2018

For many theme developers, Mythic's use of the BEM (Block-Element-Modifier) CSS class-naming system is their first introduction to a system of non-hierarchal, component-based CSS. Because BEM doesn't rely on nested selectors, it's easier for users to overwrite CSS that they want to change. Tadlock explains the benefit for child themes in a recent post about why Mythic uses BEM.

A handful of the Hybrid add-ons are now available as Composer packages, including one for breadcrumbs, customizer controls and settings, Google fonts, and a featured image script. Tadlock plans to split more parts of the framework off into packages in the future for an increasingly modular core.

Hybrid Core 5.0 requires PHP 5.6+ (with 7.0+ recommended) and WordPress 4.9.6+. Tadlock will support Hybrid Core's 4.x series for at least another year to give theme authors time to adapt.

18 Sep 2018 4:07am GMT