WP Engine and Atlas Headless CMS

WP Engine recently announced the launch of their Headless CMS hosting and frontend JavaScript stack, Atlas. This sounds really interesting so I took a look at their recent DE{CODE} 2021 conference videos on this topic to find out more.

As a little background we’ve used WP Engine at Studio 24 for a number of years, for enterprise WordPress hosting for some of our larger clients. We’ve always found their WordPress hosting solution rock solid, they have a bunch of very clever engineers developing solutions. When I attended a previous (in-person) WP Engine conference I was always surprised they hadn’t developed their own software to complement WordPress. Looks like that has now changed.

Atlas and headless

The keynote talk was a good summary by founder Jason Cohen on the reasons for investing in Headless. I liked the stat that 64% of enterprises are using headless. Many of us have been using decoupled architectures for years – just without calling it headless!

The key selling points are performance (with 10x page speeds than traditional WordPress), better security, ability to redesign without re-implementing your CMS, and developer freedom to work with any modern framework – as long it’s in JavaScript (for Atlas).

Performance and security I thoroughly agree with. Stripping back the frontend to only what’s required is clearly a great way to improve security and reduce attack vectors.

The ability to redesign a site using headless without having to reimplement your work in a CMS is also a big selling point, however, this assumes a solid frontend that does not also need to significantly change. I think this is the idea behind WP Engine’s Atlas JS framework (which credit to WP Engine is open source).

Developer preference for “modern tools” was mentioned a lot as a big benefit. I’m not so convinced here. Trends in software tools come and go, developers often want to use the next shiny thing, but businesses need to get things done and maintain websites over the long-term. Decisions on your tech stack should not just be down to preferences of your current developers. I’m not a big fan of JavaScript “eating the web” and I think it’s perfectly valid for websites and web apps to be developed in traditional (popular, well tested and maintainable) server-side languages such as PHP, Python or Ruby. If this is you, then WP Engine’s software based heavily on the JS stack is not for you.

Having to force front-end developers to code directly in JS is becoming a big issue in web development (see articles by Chris Coyier, Brad Frost). I think a full JavaScript stack is great if your team can support it. If it can’t then it can be an obstacle to business efficiency and can cause barriers to entry for people coming into the industry.

Front-end development is a highly skilled profession, which includes a wide range of client-side tech and skills such as usability, accessibility, performance, strategic thinking and device compatibility testing. Front-end developers need to know JavaScript, but they don’t necessarily need to be JS programmers.

I find it ironic one benefit of headless is decoupling, yet with the JavaScript/React approach HTML/CSS is tightly coupled with JavaScript. To the point pure HTML/CSS front-end developers can struggle to be able to work with it.

I thought WP Engine’s approach to solving the preview problem in WordPress was interesting. They use OAuth to get users to login to WordPress before they can view preview content, both helping authenticate to the preview site and authenticate the preview API requests to WordPress.

Benefits of exploring headless

Decode hosted a panel discussion on “Navigating the risks to reap the rewards of Headless WordPress” with perspectives from agency 10UP, the creator of WPGraphQL and WP Engine.

Phil Crumm from 10UP noted clients who are most interested in headless are those with a clear functional use case, those interested in security, or those who want more flexibility for the future. Content portability and flexibility is important. “While we don’t know what the future will look like, the decoupled architecture is probably going to be the best way to get there safely.”

Matt Landers from WP Engine talked about when is headless the right approach. His answer was: scalabilty, developer resources, security and data integrations.

He said “do you have the developers resources to do this? It’s a lot more developer heavy. You can’t rely on community built themes and plugins like you can in a traditional WordPress world. You’re going to have to depend on a development team to build that our for you. [maintenence costs] are coming down as we figure out how to integrate the front-end and back-end more seamlessly.”

Jason Bahl from WPGraphQL talked about the benefits of componentisation which could reduce production and maintenance costs in the future. Creating re-usable components that use GraphQL data fragments to output content that can be re-used on projects. I admit I’m not that familiar with how this works in React. We use Timber a lot at Studio 24, an excellent Twig templating system for WordPress from Upstatement. This is another way to support componentisation in WordPress today, though in practise it can he hard to actually do this across different client projects.

On the future of headless in WordPress Jason noted we’re “super early in this game. The more tooling we see built, the more adoption we’ll see.” There seems to be lots happening on this front across lots of different technologies, which is always great to see.

Gutenberg and headless

The final Decode talk I watched was “The Fast Track to Mastering Modern WordPress” with Rob Stinson of WP Engine and Carrie Dils. The talk focussed on Gutenberg and the future of full site editing that is coming to WordPress in 2021.

Full site editing allows users to edit and layout an entire site via Gutenberg, not just the content area but also headers, footers and the sidebar. Carrie went on to explain how full site editing themes works, moving from template files and template parts to “block template parts” which interestingly seem to be straightforward HTML files (which sounds good). It’s not clear to me if all the dynamic content is then in Gutenberg, which splits up all HTML code into React files.

More details on how this works is available at fullsiteediting.com, which notes HTML files may actually be saved as PHP files to support text translation and dynamic URLs. This feels like a pretty major architectural decision. I’d love to see a proper templating engine like Twig or Handlebars in WordPress! It would certainly help developer efficiency and a large breaking change like Gutenberg is the time to do it (if ever).

Carrie went on to show how the editing experience works in WordPress. It’s very similar to editing content in Gutenberg, allowing users to edit areas of the site such as the footer.

As for the timeline of all this, full site editing beta is available in WordPress 5.7 in March 2021. This is expected to be in WordPress core by 5.8 in June 2021, pretty soon! Given the disruption caused by the original Gutenberg release I hope this is a smooth and opt-in transition.

So does the Gutenberg layout need to look the same as the frontend? It’s not clear to me what the WordPress recommendation is on this – but it certainly feels like that’s what Gutenberg wants users to experience.

The obvious issue for headless is it’s decoupled, so laying out a site in Gutenberg cannot easily look the same as the frontend, if you’re using WordPress as a headless CMS. Which, to be honest, I think is good.

A CMS should not have to show content exactly as it will display on the frontend, but should give a good enough representation to the user to allow them to manage content effectively.

Rob Stinson then talked about making custom blocks, an area of great interest to me since I see this as essential for digital agencies taking up Gutenberg. Rob talked about a plugin called Genesis Custom Blocks.

The UI for adding a new custom block appeared to use Gutenberg too. This allows you to setup editor fields (that appear in Gutenberg) and inspector fields (that appear in the inspector sidebar).

I wonder how the custom blocks definition is stored, in the database or filesystem? All projects we use need to be stored in version control so we can deploy them across environments effectively.

When adding a custom block a PHP and CSS file is created which controls how the block appears in Gutenberg (when previewing rather than editing). This certainly makes it easier than embedding HTML in React. This is the same HTML and CSS as used on the frontend.

In the demo Rob noted the “styles on the frontend don’t perfectly match up what’s in the editor, but this can be fixed up.” In our previous experience we found it’s very time consuming, and thus not commercially feasible, to try to match CSS on the CMS backend with the frontend website. This is true for custom CSS themes which are the bread and butter of many digital agencies work. And I would have thought even more true for headless CMS setups where the CSS isn’t even shared.

One great point of the Genesis Custom Block plugin is you do not need to use the Genesis framework to use it. You’re free to use your own HTML and CSS.

We are still concerned about accessibility of the Gutenberg editing interface at Studio 24 and it contributed to our decision not to use WordPress for the new W3C website. I hope the Genesis Custom Block developers have considered this.

The aim of the Gutenberg project is to “make writing rich posts effortless.” That’s a mighty fine aim, but I hope WordPress can achieve this without breaking the web for others (be they accessibility users or front-end devs less comfortable writing HTML templates in JavaScript).

Final notes

Atlas sounds like a really interesting develoment from WP Engine and I welcome more tools in the area of Headless CMS. It’s sure to help more people get involved in this exiciting area of digital technology.

It’s a shame the name Atlas is so close to HumanMade’s Altis, WP Engine certainly would have been aware of this. However, Altis is software that extends WordPress more dramatically with DXP/enterprise features. Atlas, for now, is primarily a solution to help make better Headless CMS sites with WordPress.

Excellence in entrepreneurship: an audience with Google

I’ve just returned from an excellent talk organised by Cambridge Judge Business School’s Entrepreneurship Centre. Simon Hall hosted a fascinating discussion with Google leaders Jonathan Rosenberg, Senior VP of Alphabet and former Senior VP of Google Products, and Alan Eagle, Director of Executive Communications at Google.

The talk was primarily about the value of coaching, and was celebrating the life of Silicon Valley luminary Bill Campbell (who I admit I did not know), business coach to Steve Jobs, Eric Schmidt and others.

The event was primarily targeted at CJBS students though there was a fair crowd of entrepreneurs and local business types, I chatted to a few after the talk.

Two things happened in the talk I wasn’t expecting. First, quite how entertaining Jonathan and Alan were together. They were clearly good friends and had a hilarious double act going on between them. Alan’s description of how Bill Campbell grilled him in a job interview was brilliant as he made Simon stand in for himself while he channeled an intimidating Bill (there’s a good photo of this moment here).

Secondly, everything Alan and Jonathan said was focussed around human values. How important empathy and developing your team is to business success and how coaching is a great way to achieve that. I wasn’t expecting the talk to be focussed so much on how important human-centered values are to business, but I was very glad to hear so much from the two Silicon Valley business leaders that I found myself agreeing with.  

Alan retelling the story of how he was interviewed by Bill Campbell

A few notes from the talk…  

Interview as much as you can, good to learn how to tell good people.
A good question to ask about experience: What did you learn from this?  

If you have to let someone go do it with dignity. Why? Because it’s the right thing to do. Because it will affect the rest of your team if you don’t. Because it’s a small world, people who you let go may be future opportunities / they may talk about your business.

5 elements of a successful team:

  • Safety
  • Clarity of goals
  • Respect
  • Big mission that matters
  • A meaningful role

Find out more at Project Oxygen  

An effective manager needs to marry the principles of coaching with management.  

Important future tech skills (Alan repeated this a lot):

  • Computer science
  • Machine learning
  • Data

Soft skills:

  • Passion, interest in learning
  • Smart creative dedicated to learning
  • Good communicator, concisely make your point, speak with passion

Important for Google’s success: Speed & simplicity  
All sorts of latency exist so speed really matters. Fast results makes people come back.

The concept of no managers didn’t really work for Google. We had this for 18 months or so. Asked team and they wanted someone to mentor them & take decisions.  

Engineers need a career ladder to rise to the highest level in a company without having to be managers. If you’re the most senior engineer the impact you can have on a tech company is profound & you should be paid the same / more than managers. Not many companies do this.  

Guide & lead, give people freedom. Don’t micromanage.  

There was a question about whether too much growth is bad. Seems not. You can hire brilliant people off the back of fast growth. With an internet business you can often support fast growth. Don’t worry about getting everything right / perfect.
Great quote: “If everything’s going right you’re not going fast enough”    

You can read more in their latest book, Trillion Dollar Coach, available from all good bookstores. I’ll be enjoying the copy I bought this evening!

OpenTech 2017

I made my first trip to OpenTech yesterday hosted at University College London. I didn’t really know what to expect, I’d spotted the conference on my Twitter feed and I understood it to be a day full of discussions on open data, technology and how they contribute to society.

I was impressed. It was a busy and passionate conference, full of people who work with tech trying to make a difference to society, making it more open and fair, against a challenging and often unhelpful world.

My day started with Hadley Beeman, a member of the W3C Technical Architecture Group. Hadley’s talk was on “Standards for Private Browsing,” she explained how user expectations of how private browsing works differs from how browsers actually do it. Some US research stated the most popular reason to use private browsing mode is to hide embarrassing searches, however only Safari hides recent searches. Not helpful for users.

The concept of private browsing needs standardisation, not only to help user’s expectations about how their data is stored but also to help people build technology and be confident about how private mode will work. With the rise of Web Payments this is only going to become a larger issue. Hadley said more user research is needed to help in this area.

Rachel Coldicutt followed on with a passionate, excellent talk about Doteveryone, the think tank that is “fighting for a fairer internet.” Rachel gave a good overview of how Doteveryone is trying to improve digital understanding for everyone by focussing on education, standards for responsible technology, and stimulating new value models.

She talked about the rise of power of the big four “GAFA” (Google, Apple, Facebook, Amazon) and how these companies wield much unaccountable power on the internet today. With a government, if you disagree how things are run, you can revolt, not so with Facebook. She revealed 7 developers are responsible for the Facebook timeline algorithm (just 7!), a technology that is becoming bigger news with how it’s seen to have influence on recent political decisions. She also raised an interesting idea around a “fair trade” mark on the internet and how that could work.

The next session was by Anna Powell-Smith who talked about an offshore property ownership project she worked on for Private Eye. She worked on pulling data sources together to build a map of properties in England and Wales owned by offshore companies. Offshore ownership is problematic because it’s used for tax avoidance by those with often dubious means of making money. Anna told an interesting story of how she matched FOI requested data up with the INSPIRE dataset (important, but restricted, geo-spatial data on properties), a process that seemed pretty convoluted and difficult but was successful. The Private Eye report was discussed in parliament and it looks like the government are starting to make some positive movement in making this data more available.

However.. Ordnance Survey are legally obliged to make money out of their data so they are not willing to make this completely open. The critical component Anna used in her research, matching the INSPIRE ID to title IDs is no longer available without spending £3 per property, which makes it cost-prohibitive.

The government has put this requirement on Ordnance Survey to sell their data rather than make it open. Anna made a call for any economists to help make the case for why this data should be free and how it would have a positive economic impact in the UK. If anyone can help contact Anna at https://anna.ps/

The next speaker was ill, so John Sheridan helped out with an impromptu talk on his work at the National Archives. This was fascinating, touching on the different challenges between physical and digital archives, how context is important in archived data, how copying is a core part of digital archiving (“there is no long term storage solution for digital”), how this also requires validating the data you have stored is still the same (they use hashing methods to help with this), and how you need to understand the data you store so you can also provide a means to view it. The general message was data encoded in open formats is easier to archive, and to make available in the future.

John also touched on the UK Web Archive project, run by the British Library who have a digital archive of around 3 petabytes, most of which is not published online mostly for copyright reasons. While the US-based Internet Archive has a policy to publish first and takedown content on request, as a UK public institution the British Library and National Archives have a lower appetite for risk for potential legal action — and therefore only publish when they have permission to do so.

I chatted to John in the bar after the event and he explained that the National Archives takes responsibility for archiving all government digital content, taking snapshots every 3 months or so. The Web Archive project deals with UK websites. I asked him where a past project we worked on would be archived, the Armada Tapestries site for the House of Lords. Apparently this is taken care of by Parliament itself in the Parliamentary Archive. Lots of people archiving things!

After lunch I joined the Post Fact / Future News panel which turned out to be a real highlight of the day.

James, Wendy, Becky and Gavin

The speakers were James Ball, Wendy Grossman and Gavin Starks and the panel was hosted by Becky Hogge.

James started proceedings and talked eloquently and in detail explaining the difference between Fake news (an outright lie, not so common in the UK) and Post-truth bullshit (manipulation of an almost-truth) — basically where we find ourselves today. James talked at speed and with confidence and painted a fascinating, dark picture of how news is being manipulated for political ends at present and how a good narrative can often trump a complicated truth that is difficult to explain to the general public.

James made a great point on how you “can’t use technology to solve cultural issues” and that “fake news is not an internet problem.” He highlighted the problem is in society already and in figures such as Boris Johnson who have a long history of manipulating the truth for a political agenda. He’s written a book on this topic, so go buy it: Post-Truth How Bullshit Conquered the World!

He also noted we need to “think about the business of the internet,” the idea of business / value models cropped up a few times during the day, a lot of the issues we associate with the internet are exacerbated by how the web makes money — alternative models need to be found to help improve the current state of affairs.

A very funny Wendy on what today’s nine year olds may think about future society

Wendy then moved onto future news. She talked about predictions she made in 1997 and how many of these have some truth today. She went on to explore what younger generations will think about technology and society and what are future headlines likely to be. Wendy’s talk was fabulous fun.

Gavin began his slot by reading out a written statement by Bill Thompson who was due to speak but was otherwise waylaid at the Venice Biennale! Gavin read out a short piece by Bill on the rotten state of the net at present. It made for a sobering interlude to the discussion.

Gavin then moved on to talk about the work he’s been involved in to make the internet more open. The Open Banking Standard, an anti-slavery corporate statement registry, and tracking the origin of products through the supply chain.

He talked about how we now need to up our game more, how the community thought the case for open data was won but this is not currently the case.

Gavin is currently interesting in creating impact@web-scale, trying to tackle solvable problems in the UK between policy and technology, bringing public and private sector together. He’s looking for people to help, you can sign up at http://www.dgen.net/ or find out more on his blog.

I’ve probably written too much already, but the rest of the afternoon was also enjoyable, peppered with public interest technology, Ada Lovelace Day(celebrating women in STEM), using climate change data to make a symphony, electrocution for fun and profit (and education!), using neural networks to help map happy places, what the Open Data Institute is up to, and a few beers in the union bar.

By the end of the day, my head was full of ideas, problems and a better understanding of what people are doing in the area of open tech. I learnt a bunch of useful things that I can takeaway for my day-to-day work, and will get me thinking about ways I can help make a difference and contribute to a better, more open and responsible technology.

Finally, a shout out to Kevin Marks who as well as live tweeting most of OpenTech also wrote a whole bunch of interesting notes.