A View from the Prater – IS at DrupalCon Vienna, Day 3

For the past week a group of us from Information Services have been at DrupalCon 2017 in Vienna. We shared our DrupalCon experience on Day 1 and Day 2 of the conference, giving our thoughts on the sessions we attended, recommended top sessions, and our key takeaways.

Thursday was the last day of conference sessions, although for some of us the Drupal work continued with the community code sprint on Friday!

The final conference day began with an excellent Community Keynote by Joe Shindelar on the subject of sharing knowledge and experience in the Drupal community.  Joe told the story of his journey to becoming a Drupal core contributor, and his pleasure in gaining confidence, learning new Drupal skills and eventually teaching others about Drupal.  It was inspiring to hear how he had stepped out of his comfort zone, overcoming fears of inadequacy and some discouragement in his initial code contributions. The message of Joe’s talk was beautifully expressed by his experience and his enthusiasm – everyone in the Drupal community has something to share, even those who are convinced they don’t!  Don’t be afraid to share; and be sure to encourage and support those who are new to community contribution.

Thanks to Riky, Tim, Andrew, Adrian, Bruce and Billy for contributing their thoughts on sessions they attended; any errors, omissions or misinterpretations in their edited notes are entirely mine. All of the sessions mentioned below, along with many more interesting talks, are recorded and available on the Drupal Association YouTube channel.

Adrian’s Day

Adrian Richardson is a full-stack developer with experience in both Drupal and non-Drupal technologies.  He is heavily involved in the development of EdWeb, our central CMS, and EdGEL, our evolving framework that supports front-end developers around the University.

Theme for today

Content rendering and caching were today’s themes.

Top sessions

Houdini: The future of CSS

  • CSS is notorious for requiring years of delay before browsers natively support new CSS specs.  Many of the new features cannot even be polyfilled because JavaScript can only act on the DOM and partially the CSSOM.  Houdini aims to change this by having CSS APIs for Parser, Paint and Layout, a CSS Typed Object Model, workers, and more, allowing JS to prototype/polyfill at all stages of the page rendering process.

Rendering & caching: a journey through the layers

  • A description of how Drupal handles caching HTML fragments from the theme’s render arrays and then either hands over to Page Cache when there is no session or Big Pipe for anonymous or authenticated sessions.  There’s a good description of how Big Pipe sends out the static and dynamic content for the browser to compose using JS.   Cache invalidation can be done by Tagging, Age or Context and these were demonstrated.  White and Black box testing techniques were also covered to help you ensure cached values are properly expired on entity updates, or values leaked between sessions, etc.

Key takeaways

  • Useful technical detail on caching in Drupal 8.
  • Houdini presents interesting possibilities for rendering.

Andrew’s Day

Andrew Hobden is a support engineer who works with some of the University’s key systems, including EdWeb.

Theme for today

For me, today’s talks were mostly about automated testing frameworks.

Top sessions

Holistic development and operations environment

  • This session discussed the benefits of joining up the various different aspects of software development and inter-team communications. The thread running through was again continuous improvement, but the emphasis was on small changes. The idea was that small changes add up, are less imposing and easier to sell to upper management. One idea mentioned was to create a suite of tools more like unix commands than a all-encompassing framework or tool as that model gives greater flexibility.

Skeletor Scaffolding Architecture and DevOps for Progressive Decoupling

  • This session concentrated on the techniques and tools used to test a decoupled drupal. The speakers concentrated on setup of particular tools and how to bring better type checking into frameworks that use javascript.

Key takeaways

  • Nearly all of the speakers concentrated on detailed setup of various tools and techniques. The main commonalities are that CI needs good, reliable, fast testing in order to get the best out the technique.  Otherwise it quickly becomes just another overhead.
  • Once again there was detailed descriptions of configuration setup of the tools involved which suggests that the information is not available freely and must be figured out with every new system.
  • One of the interesting threads on continuous testing was the idea of parallelising tests so that tests for different aspects (e.g. linting and behat) can run at the same time.

Billy’s Day

Billy Wardrop is a developer who also provides technical support for the University’s central website and CMS.

Theme for today

My theme of today was realising how powerful the entity browser module is and the number of plugins that are available in Drupal 8 already.  Even just seeing how to manage media shows how much potential it has for nodes, users, files and more.

Top sessions

Making content editors happy in Drupal 8 with Entity Browser

  • This was a great session showing the power of the new entity browser. The demo covered how the media library could work.

Everybody cheer! Here comes Media!

  • This was another great session where the entity browser is a big part. Great to see how far the media initiative has progressed.

Key takeaways

  • Entity Browser!
  • Sadness that there will be no DrupalCon in 2018.

Bruce’s Day

Bruce Darby is the product owner for the University’s central CMS.

Theme for today

Really the whole idea of community and what it means to different people. Drupal has obviously been through a lot this year (not sure quite what?!) and there seems to be a bit of friction (possibly with Acquia?). With the announcement that there will be no European DrupalCon 2018, it will be interesting to see how Drupal goes from here as a community.

Top sessions

Community is shared values

  • Revisiting the Drupal community code of conduct to remove assumptions and create a set of values and express them in actionable ways.

Key takeaways

  • Top 3 values from a survey discussed at the ‘community is shared values’ presentation were:
    1. Respect
    2. Openness
    3. Collaboration
  • The message of the ‘Holistic development’ presentation that lots of small changes (to DevOps, or the way that teams operate) can make a significant difference. So it isn’t always necessary to make huge radical changes that some people may find difficult.

Mairi’s Day

Mairi Fraser is a senior developer who works with some of the University’s key systems, including EdWeb, and the University’s portal for Staff and Students, MyEd.

Theme for today

The theme of sharing knowledge and experience, and being inclusive, was very much set by the morning’s keynote and continued to run as a thread throughout the day.

Top sessions

Decoupled site building: Drupal’s next challenge

  • In this session, Preston So gave an interesting perspective on how decoupled Drupal in the context of site building requires compromises between user experience, the requirements of marketers, and developer experience. Decoupling restricts the ability to have contextual administration features in the front-end; supporting these features in a decoupled architecture requires a lot of development effort. Preston raised the point that perhaps the problem is not how to allow contextual administration and in-place editing, but how to provide a seamless preview for editors and publishers that doesn’t require the intervention of a developer. The contextual tools are not necessarily needed; it’s solving the underlying requirement that is the key. In fact, decoupled content strategy rather than contextual admin may provide the answer. What does content editing look like, for example, when building a conversational UI (decision tree?), or an augmented reality experience (map with text boxes?), or an apple watch? Preston’s conclusion is that how Drupal responds to this challenge will be the next great test and will dictate how the next decade of Drupal looks, and that:

“a multi-faceted Drupal is a more future-proof Drupal”

Javascript and accessibility: Don’t blame the language

  • This was a really good overview by Everett Zufelt of some of the misconceptions about JavaScript and accessibility, covering why it’s important that developers consider inclusivity and build accessible sites, how to implement good accessibility practice and how to avoid common pitfalls.  As part of his talk, Everett gave some nice examples of where to look for best practice, specifically:
    • Mass.gov is a great example of how sub-menus/flyout menus can be done accessibly;
    • Expedia.com has a good implementation of search suggestion discovery and really good work on ‘audible negative affordances;
    • Hilton has a date picker that is a good example of an easy to find calendar with instructions.

“…the fact that you’re using JavaScript is not impeding you from being able to build a truly accessible and great user experience. […] we don’t need to aim for perfect, we need to aim for doing better than we’re doing right now.”

Key takeaways

  • It turns out even the most prolific and experienced Drupal contributors started from the same trepidatious beginning as many of us when making tentative steps to contribute to the Drupal community!
  • In a world where new interfaces and ways of experiencing content appear every day, editing becomes hugely more complex & specialised, and editors need to consider the content, not the visual assembly, or visual control of the assembly.
  • I had to go away and watch Preston So’s Day 1 talk on Introduction to decoupled Drupal to get a better grasp on the ideas presented on decoupled site building!  I can highly recommend this pair of talks as a fascinating view on the future of decoupled Drupal and why it’s important.
  • Preston So’s talks are supported by fantastic, extremely clear graphics that make difficult concepts much easier to digest!
  • The fact that JavaScript doesn’t have to be a barrier to accessibility was not new to me, but I found the session on accessibility gave a really clear summary of the common myths and how they’ve arisen, as well as providing some really good sources of additional information and best practice to encourage further reading. The referenced article from Smashing magazine on affordances was particularly interesting.
  • As well as presentations, I also attended a Birds of a Feather session today on Creating technical excellence in the tech team, where a small gathering of technical leads shared experiences. It was interesting to hear that regardless of the size of organisation or team, the challenges and frustrations are often the same! There was a good discussion of how collaborative hackathons or workshops can support excellence in a team and organisation, and even a reading recommendation – Camille Fournier’s book, “The Manager’s Path”.

Riky’s Day

Riky is a DBA and SysAdmin who loves solving problems with technology and is here at DrupalCon to get ideas and learn best practice for architecting our new Drupal 8 infrastructure.

Theme for today

The theme of the day is reliability. It was touched on with the Continuous Testing session, and is vital to the work of Site Reliability Engineering – a new form of DevOps which focuses on reliability of services. As said by Google’s Ben Treynor Sloss:

“Reliability is the most fundamental feature of any product.”

Top sessions

Life on the Edge: CDN and HTTPS Delivery in 2017

  • This session by Pantheon’s David Strauss was great for understanding the reasons behind slow Time To First Byte page loads, where the protocol and initial handshake is at fault rather than the rendering time of the site itself. The main issue is the number of round trips the initial connection has to make, where sending traffic to a different continent can massively amplify this issue. A highly recommended way to solve this was to use a Content Delivery Network which has caching servers at multiple Points of Presence so that there is a small distance from the user to their initial connection. Another vast difference is based on the technology being used – TLS 1.2 with False Start and HTTPS/2 only requires three round trips for the connection handshake, compared to eight for an older stack.

Continuously Test Your Drupal Distribution

  • A very thorough session from Alexander Schedrov, describing the various steps which can be used for continuous testing as part of a continuous integration pipeline. These included using codesniffers to ensure the codebase was adhering to standards, performing automated UAT with Behat, using accessibility sniffers like HTML_CodeSniffer to ensure the accessibility of the site, decoupled tests which tested components separate from the distro, regression testing using visual regression tests, and TDD tests to check 3rd party interfaces.

Key takeaways

  • As the main website is consumed by such an international audience, it is vital to investigate using HTTPS/2 with the next Drupal 8 infrastructure.
  • Design performance testing with mobile users in mind – if the site is performant for them it will be for all other users.
  • Site Reliability Engineering is an interesting take on DevOps, but has quite a strict structure and would take a huge leap to adopt it.

Tim’s Day

Tim Gray is a senior project manager who also manages the programme for work for the University’s central website.  In this role, Tim manages a number of Drupal projects as well as other non-Drupal projects related to the University website.

Theme for today

Improving and getting more out of human resources by doing things differently. Two quite contrasting methods that deliver overall improvements to a company. One specifically for projects, the other a more cultural approach. This ties in with the theme I have observed during the previous two days  of the conference. It has got me thinking that if we were able to implement some of this at the University we could made big steps to making people happier and therefor improving out productivity.

Top sessions

A new Approach for Improving Estimations with Content Discovery Workshops 

  • This was in interesting session from Richard Jones CEO of Inviqa. The session covered the process employed by Inviqa when gathering requirements for new projects. Basically the process attempts to bottom out the “unknown unknowns” by going through a series of questions covering all areas of the projects. Sometimes it can be to actually get to the reason for the project, surprisingly this is not always evident. By using a thorough tested series of workshops one can ensure that the interests of all those impacted by the project are covered and their voices heard. This information obviously leads to better estimation as the true requirements are known prior to development starting. One important aspect of this is looking closely at which user stories affect content; the content producers are key to teasing out the true requirements and in fact the content types the project must deliver.

A Scrum Master Story; Hackathons, Scrum, Agile and Chicken

  • Nancy Beers took the audience through her journey of using an alternative hackathon to improve agility within her company. The company uses Scrum for about a year, over the last year this has matured, with iteration reviews. Nancy organised and successfully held a code hackathon, which led her to the idea of having a hackathon activity that involved everyone in the company, not only coders but everyone, i.e. knowledge workers too.
  • In 2016 scrum.org added 5 new values to the scrum methodology to accompany transparency, inspection and adaptation already included. The new 5 values are:
    • Respect
    • Focus
    • Openness
    • Courage
    • Commitment
  • In addition to using these new values. Nancy also added giving people autonomy, mastery (skill set i.e. let people grow) and purpose to the mix. This was successfully pitched to senior management, and ran a week long hackathon for everyone in the company. People could do anything at all as long as it related to the company. The outcomes were not only limited to different and new ideas and over the week 25 project were delivered. For example, a redesign of new office buildings that will promote their agile transition. One of the key aspects that people from different departments worked together for the first time.

Key takeaways

  • By adding depth to the discovery phase the risks of unknown requirements popping up late in the project is significantly reduced, and this leads to more accurate estimation.
  • Rapid prototyping can be used to get stakeholder buy in.
  • Editorial experience must be included at this stage, editors must be bought in and acceptance what will be delivered.
  • Mapping user stories to Drupal can be a challenge. However there are tools, e.g. Reservoir, that can be used to validate the content model.
  • People are more courageous with encouragement, this is ideal for the scrum master.
  • The buzz that a hackathon type of event creates is felt thought the whole company and the event itself can really boost the company’s move to be more agile.
  • If you give people autonomy, magic will happen.