WHEN WILL 
DRUPAL DIE? 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
WHEN WILL 
DRUPAL DIE? 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
Darth Blogger
Darth Blogger
Backdrop
Backdrop
?
1 
The Competition 
(Project Realtime)
http://plnkr.co
Live Coding - Bret Victor 
http://vimeo.com/36579366
MEAN Stack 
MongoDB 
Express.js 
Angular.js 
Node.js
Drupal Stack 
Apache 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony
Apache (C++) 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony 
! 
Node.js 
MongoDB 
JavaScript 
Angular.js 
Express.js 
SERVER 
DATABASE 
SERVER-SIDE LANGUAGE 
CLIENT-SIDE LANGUAGE 
CLIENT-SIDE FRAMEWORK 
SERVER-SIDE FRAMEWORK
Apache (C++) 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony 
! 
Node.js 
MongoDB 
JavaScript 
Angular.js 
Express.js 
SERVER 
DATABASE 
SERVER-SIDE LANGUAGE 
CLIENT-SIDE LANGUAGE 
CLIENT-SIDE FRAMEWORK 
SERVER-SIDE FRAMEWORK 
1 
2 
3 
4 
1
Woah, only one 
language?
Meteor
(Meteor example)
Github vs. Drupal.org 
100 pages of comments 
57 points of comparison 
https://groups.drupal.org/node/313068
The Competition 
Realtime application building 
Realtime interaction 
DRY to the extreme 
(Do not Repeat Yourself) 
One language = Faster to learn 
2-50x faster on the server
Project Realtime 
Drupal
2 
The Incumbent 
(i.e. Drupal!)
Stable release cycles 
5…6…7…8 2007 
2008 
2011 
2015 
Security + bug fixes 
Security + bug fixes 
Security + bug fixes 
28% of Universities 
http://w3techs.com/technologies/segmentation/tld-edu-/content_management 
150 Governments 
https://groups.drupal.org/government-sites 
23 Fortune 500 Main Sites 
http://www.zyxware.com/articles/4351/list-of-fortune-500-companies-using-drupal-for-their-websites 
!
Established audience 
= Feedback loop 
People use Drupal 
Drupal better 
People make 
what’s needed 
People tell us
Mature community 
(for the most part) 
Camps, Cons, User Groups 
Drupal Association 
Governance Group 
Initiatives 
Code of Conduct 
Working Groups
Best Practices 
Add page programmatically 
Create a list of content 
Alter a form 
Allow manipulation 
of your code 
Share code with others 
Use hook_menu() 
Use Views 
Use hook_form_alter() 
Create an alter hook 
Share a module on D.o
Hype Cycle is (probably) Over 
Node.js 
Angular.js
TestBot 
http://qa.drupal.org 
Patches require tests 
Over 500 tests run on every patch 
Hours of man-hours saved each run 
6000 runs made every month
The Incumbent 
Stable releases 
Established audience 
Mature community 
Automation 
Best practices 
On the Plateau of Productivity
Drupal 
Stable releases 
Project Realtime 
Realtime application building 
Established audience 
Mature community 
Automation 
Best practices 
Realtime interaction 
DRY to the extreme 
On the Plateau of Productivity 
One language 
(faster to learn)
Project Realtime 
CHANGE 
Drupal 
Stable releases 
Realtime application building 
Established audience 
Mature community 
Automation 
Best practices 
Realtime interaction 
DRY to the extreme 
On the Plateau of Productivity 
One language 
(faster to learn)
The problem with big changes is that 
they’re hard to understand. 
Big changes probably have to be 
made to stay relevant. 
Big changes won’t happen if the 
community doesn’t support it.
Controversial Changes 
in Drupal 8 
1. OOP 
2. 3rd Party Libraries
OOP?
Procedural vs. Object-oriented 
Procedural Object-oriented
OOP Benefits: 
1. Clearer interfaces 
2. Unit testing 
3. Greater complexity can be managed 
4. Components are more re-usable 
5. Community of users grows
The cost of OOP 
1. Re-training of the Drupal developer 
community 
2. Added complexity in the short-term
3rd Party Libraries
composer.json file from Drupal 8
3rd Party Library Benefits: 
1. Less Drupal-specific code to manage 
2. More sharing between communities
The cost of 3rd Party 
Libraries 
1. Dashing away of the work of core 
developers 
2. Dependency on other communities 
3. Changes have to be approved by 
library owners
The End User 
Workflow 
Step 1: Copy and paste from example code until it 
works. 
Step 2: Memorize certain patterns enough to 
write code from memory. 
Step 3: Learn more about the underlying 
structures when needed.
Is Drupal Doomed?
What is Drupal? 
Are we still Drupal if we use OOP? 
Are we still Drupal if we use Symfony? 
Are we still Drupal if we convert all our PHP 
to JavaScript and use Node.js? 
Are we still Drupal if it becomes much 
harder to contribute?
When will Drupal die? 
Are big changes needed to manage Drupal’s 
growing complexity? 
Are big changes needed to keep Drupal 
relevant to the users it currently serves? 
Will we be able to make big changes with 
the support of the community in the future?
Project Realtime 
Drupal
Drupal 
Project Realtime 
Drupal 8 
Drupal 8.1.0 
Drupal 9
Thank you, 
you’re awesome! 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
Thank you, 
you’re awesome! 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com

When Will Drupal Die? Keynote talk from Bay Area Drupal Camp 2014

  • 1.
    WHEN WILL DRUPALDIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 2.
    WHEN WILL DRUPALDIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    1 The Competition (Project Realtime)
  • 10.
  • 11.
    Live Coding -Bret Victor http://vimeo.com/36579366
  • 12.
    MEAN Stack MongoDB Express.js Angular.js Node.js
  • 13.
    Drupal Stack Apache MySQL PHP JavaScript jQuery Symfony
  • 14.
    Apache (C++) MySQL PHP JavaScript jQuery Symfony ! Node.js MongoDB JavaScript Angular.js Express.js SERVER DATABASE SERVER-SIDE LANGUAGE CLIENT-SIDE LANGUAGE CLIENT-SIDE FRAMEWORK SERVER-SIDE FRAMEWORK
  • 15.
    Apache (C++) MySQL PHP JavaScript jQuery Symfony ! Node.js MongoDB JavaScript Angular.js Express.js SERVER DATABASE SERVER-SIDE LANGUAGE CLIENT-SIDE LANGUAGE CLIENT-SIDE FRAMEWORK SERVER-SIDE FRAMEWORK 1 2 3 4 1
  • 16.
    Woah, only one language?
  • 17.
  • 18.
  • 20.
    Github vs. Drupal.org 100 pages of comments 57 points of comparison https://groups.drupal.org/node/313068
  • 21.
    The Competition Realtimeapplication building Realtime interaction DRY to the extreme (Do not Repeat Yourself) One language = Faster to learn 2-50x faster on the server
  • 22.
  • 23.
    2 The Incumbent (i.e. Drupal!)
  • 24.
    Stable release cycles 5…6…7…8 2007 2008 2011 2015 Security + bug fixes Security + bug fixes Security + bug fixes 28% of Universities http://w3techs.com/technologies/segmentation/tld-edu-/content_management 150 Governments https://groups.drupal.org/government-sites 23 Fortune 500 Main Sites http://www.zyxware.com/articles/4351/list-of-fortune-500-companies-using-drupal-for-their-websites !
  • 25.
    Established audience =Feedback loop People use Drupal Drupal better People make what’s needed People tell us
  • 26.
    Mature community (forthe most part) Camps, Cons, User Groups Drupal Association Governance Group Initiatives Code of Conduct Working Groups
  • 27.
    Best Practices Addpage programmatically Create a list of content Alter a form Allow manipulation of your code Share code with others Use hook_menu() Use Views Use hook_form_alter() Create an alter hook Share a module on D.o
  • 28.
    Hype Cycle is(probably) Over Node.js Angular.js
  • 29.
    TestBot http://qa.drupal.org Patchesrequire tests Over 500 tests run on every patch Hours of man-hours saved each run 6000 runs made every month
  • 30.
    The Incumbent Stablereleases Established audience Mature community Automation Best practices On the Plateau of Productivity
  • 31.
    Drupal Stable releases Project Realtime Realtime application building Established audience Mature community Automation Best practices Realtime interaction DRY to the extreme On the Plateau of Productivity One language (faster to learn)
  • 32.
    Project Realtime CHANGE Drupal Stable releases Realtime application building Established audience Mature community Automation Best practices Realtime interaction DRY to the extreme On the Plateau of Productivity One language (faster to learn)
  • 33.
    The problem withbig changes is that they’re hard to understand. Big changes probably have to be made to stay relevant. Big changes won’t happen if the community doesn’t support it.
  • 34.
    Controversial Changes inDrupal 8 1. OOP 2. 3rd Party Libraries
  • 35.
  • 36.
    Procedural vs. Object-oriented Procedural Object-oriented
  • 37.
    OOP Benefits: 1.Clearer interfaces 2. Unit testing 3. Greater complexity can be managed 4. Components are more re-usable 5. Community of users grows
  • 38.
    The cost ofOOP 1. Re-training of the Drupal developer community 2. Added complexity in the short-term
  • 39.
  • 43.
  • 44.
    3rd Party LibraryBenefits: 1. Less Drupal-specific code to manage 2. More sharing between communities
  • 45.
    The cost of3rd Party Libraries 1. Dashing away of the work of core developers 2. Dependency on other communities 3. Changes have to be approved by library owners
  • 46.
    The End User Workflow Step 1: Copy and paste from example code until it works. Step 2: Memorize certain patterns enough to write code from memory. Step 3: Learn more about the underlying structures when needed.
  • 47.
  • 48.
    What is Drupal? Are we still Drupal if we use OOP? Are we still Drupal if we use Symfony? Are we still Drupal if we convert all our PHP to JavaScript and use Node.js? Are we still Drupal if it becomes much harder to contribute?
  • 49.
    When will Drupaldie? Are big changes needed to manage Drupal’s growing complexity? Are big changes needed to keep Drupal relevant to the users it currently serves? Will we be able to make big changes with the support of the community in the future?
  • 50.
  • 51.
    Drupal Project Realtime Drupal 8 Drupal 8.1.0 Drupal 9
  • 52.
    Thank you, you’reawesome! Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 53.
    Thank you, you’reawesome! Chris Shattuck @chris_shattuck chris@buildamodule.com