Anique (Nico) Rehman
E-Learning Design Apprentice at Burton and South Derbyshire College
dries@buytaert.net // @Dries
#Driesnote
“Why isn't my
phone ringing?”
Can we get user
experience right?
“Why can’t I just drag it in?”
“Where is the “new post” button?”
“What is a ‘view’?”
“I give up, this is just too hard.”
My friends
are using Angular
I don’t
want to be ‘out-of-touch’
Going headless looks fun
Customers
are asking for
‘web apps’
I won’t have to fight the markup
Will my PHP skills be in demand?
Are they
a threat?
Development
process
Market
position
Technological relevance
Are we losing momentum?
Why can't we release on time?
Can we compete?
Can we get UX right?
Are the frameworks a threat?
How should we react to them?
Development
process
Market
position
Technological relevance
Are we losing momentum?
Why can't we release on time?
Can we compete?
Can we get UX right?
Are the frameworks a threat?
How should we react to them?
Developement
process
Users are waiting for Drupal 8
Announcement of a new release slows adoption of the current version
Start developing
on Drupal 8 today
Upgrade contrib
modules
Donate
time to
fix bugs
Attend
sprints
Donate
money to
fix bugs
(*)
(*) Assuming no security or data loss issues
However, there are some
things we need to change
Drupal is almost
15 years old
5 of those 15
spent on building Drupal 8
since Feature Freeze
That is
too long
Development
process
No one is to blame for this
No one is to blame for this
Except me
Planned work
Complete
Unplanned
Abandoned
Planned work
Complete
Unplanned
Abandoned
The Planning Fallacy
Daniel Kahneman and Amos Tversky, 1979
“Regardless of skill or prior knowledge humans tend to underestimate project timelines by up to 75%”
Mike Tyson
Main branch
Release
Main branch
Release
Main branch
Release
Release
We're now down to one feature (Twig)!
Release
Main branch
Release
Main branch
Feature branches
Release
Main branch
Feature branches
Release 1
Main branch
Feature branches
Release 2
Release 1
Main branch
Feature branches
Release 2
Release 1
Main branch
Feature branches
Release 2
MVP 2
MVP 1
Release 1
Main branch
Feature branches
Release 2
MVP 2
MVP 1
Release 1
Main branch
Feature branches
Release 2
Max
impact
MVP 2
MVP 1
This wasn't
your fault
We will fix the
way we work
We didn't
release on time
Development
process
Market
position
Technological relevance
Are we losing momentum?
Why can't we release on time?
Can we compete?
Can we get UX right?
Are the frameworks a threat?
How should we react to them?
Market
position
Total sites
Alexa ranks, including subdomains
How did they do this?
Alexa ranks, including subdomains
(8 years ago!)
11.
12.
13.
14.
15.
16.
17.
Symfony framework
Configuration management
Web services
Performance and caching
Plugin system
Twig
Full views in core
Market
position
“Why can't I just drag it in?”
“Where is the 'new post' button?”
“What is a 'view'?”
“I give up, this is just too hard.”
Author
Builder
Themer
Editor
Developer
Ops engineer
Planned work
Complete & shippable
Paper test
Patch
Prototype
User test/demo
We're in a good position
If we do there's big upside
But we still need to get better at UX
Development
process
Market
position
Technological relevance
Are we losing momentum?
Why can't we release on time?
Can we compete?
Can we get UX right?
Are the frameworks a threat?
How should we react to them?
Technological
relevance
Render
Desktop
Server
Browser
Render
Desktop
Server
Browser
Desktop
Server
Browser
Render
Optimistic Feedback
Non-blocking user interfaces
Application Experience
CMS
CMS sends layout and content
App requestscontent
App
Builds layout
App requestscontent
CMS
Content
App
Builds layout
Maybe this wasn't such a good idea
Fully decoupled is usually not the solution
No
preview
No page layout
No form validation
No
edit in place
No
toolbar
No
a11y
No
RDFa
Benefits of Traditional
Benefits of Decoupled
All of your Drupal site building tools
Faster performance with BigPipe
All of your layout tools
Optimistic feedback
Non-blocking interfaces
Application-like experience
presents:
App
Traditional
CMS
Content
Layout
App
Traditional
CMS
Content
CMS sends layout
Layout
App
Traditional
CMS
Content
CMS sends content
App
Traditional
CMS
Content
App requests
more content
Build better
front-ends with Backbone and Twig
Feed your Drupal data to client side
apps (native)
Build progressively decoupled sites
with page building tools
Decoupled
Multiple
round trips
Too much, or too
brittle data
Poor dev experience
Great, but not perfect
One API call for everything you need and nothing you don’t
Better dev experience for query building
One API call for everything you need and nothing you don’t
Better dev experience for query building
Sebastian Siemssen
'fubhy'
Serialization and typed data in Drupal 8 made
Graph QL possible
GraphQL query
builder is in
Drupal 8 contrib
Progressive decoupling and GraphQL
put us ahead of the competitors
Competitors
Innovators
Drupal 8
Text
Javascript MVCs
Progressive decoupling is the best of both worlds
Drupal 8 + GraphQL
is ideal for apps
and sites
Fully decoupled
is not always the best solution
Development
process
Market
position
Technological relevance
Are we losing momentum?
Why can't we release on time?
Can we compete?
Can we get UX right?
Are the frameworks a threat?
How should we react to them?
1. Release Drupal 8 and momentum will come
1. Release Drupal 8 and momentum will come
2. Move to a more sustainable release process
1. Release Drupal 8 and momentum will come
3. Put non-coders first to increase our impact
2. Move to a more sustainable release process
dries@buytaert.net // @Dries
#Driesnote
By Anique (Nico) Rehman
This is the most current version