SlideShare a Scribd company logo
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

More Related Content

What's hot

Golang Microservices meetup
Golang Microservices meetupGolang Microservices meetup
Golang Microservices meetup
Girish Ramnani
 
Future of Grails
Future of GrailsFuture of Grails
Future of Grails
Daniel Woods
 
How Perl Changed My Life
How Perl Changed My LifeHow Perl Changed My Life
How Perl Changed My Life
Gosuke Miyashita
 
FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!
Marco Pegoraro
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
EqraKhattak
 
Kotlin & Swift
Kotlin & SwiftKotlin & Swift
Kotlin & Swift
zezzi Castillo
 
Hacktoberfest slides
Hacktoberfest slidesHacktoberfest slides
Hacktoberfest slides
FatimaYousif11
 
Introduction to git and gitgub
Introduction to git and gitgubIntroduction to git and gitgub
Introduction to git and gitgub
Mamun Rashid, CCDH
 
Surgeons guide plugin development
Surgeons guide plugin developmentSurgeons guide plugin development
Surgeons guide plugin development
afragen
 
Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #Hacktoberfest
Cheah Eng Soon
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Edureka!
 

What's hot (11)

Golang Microservices meetup
Golang Microservices meetupGolang Microservices meetup
Golang Microservices meetup
 
Future of Grails
Future of GrailsFuture of Grails
Future of Grails
 
How Perl Changed My Life
How Perl Changed My LifeHow Perl Changed My Life
How Perl Changed My Life
 
FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
 
Kotlin & Swift
Kotlin & SwiftKotlin & Swift
Kotlin & Swift
 
Hacktoberfest slides
Hacktoberfest slidesHacktoberfest slides
Hacktoberfest slides
 
Introduction to git and gitgub
Introduction to git and gitgubIntroduction to git and gitgub
Introduction to git and gitgub
 
Surgeons guide plugin development
Surgeons guide plugin developmentSurgeons guide plugin development
Surgeons guide plugin development
 
Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #Hacktoberfest
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 

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

When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)
chrisshattuck
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
Jorge López-Lago
 
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Ontico
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
intouchgroup2
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
chrisshattuck
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
William Grosso
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
Altinity Ltd
 
Hadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University TalksHadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University Talks
yhadoop
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
Simon Hewitt
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
TechMagic
 
Docker Enables DevOps - Boston
Docker Enables DevOps - BostonDocker Enables DevOps - Boston
Docker Enables DevOps - Boston
Boyd Hemphill
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
National Cheng Kung University
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
Tony Bibbs
 
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting visionLiferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Jorge Ferrer
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
Bruno Capuano
 
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler VangorderEvolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Redis Labs
 
We need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal coreWe need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal core
Dick Olsson
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
Jay Epstein
 

Similar to When Will Drupal Die? Keynote talk from Bay Area Drupal Camp 2014 (20)

When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
 
Hadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University TalksHadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University Talks
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
 
Docker Enables DevOps - Boston
Docker Enables DevOps - BostonDocker Enables DevOps - Boston
Docker Enables DevOps - Boston
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
 
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting visionLiferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
 
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler VangorderEvolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
 
We need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal coreWe need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal core
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 

More from chrisshattuck

Unrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab PresentationUnrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab Presentation
chrisshattuck
 
Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014
chrisshattuck
 
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
chrisshattuck
 
Mentored training-intro-slides
Mentored training-intro-slidesMentored training-intro-slides
Mentored training-intro-slides
chrisshattuck
 
Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1
chrisshattuck
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancer
chrisshattuck
 
Drupal Kick Butt
Drupal Kick ButtDrupal Kick Butt
Drupal Kick Butt
chrisshattuck
 
Drupal Development Security Essentials
Drupal Development Security EssentialsDrupal Development Security Essentials
Drupal Development Security Essentials
chrisshattuck
 
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
chrisshattuck
 
Plugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential ToolsPlugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential Tools
chrisshattuck
 

More from chrisshattuck (10)

Unrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab PresentationUnrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab Presentation
 
Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014
 
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
 
Mentored training-intro-slides
Mentored training-intro-slidesMentored training-intro-slides
Mentored training-intro-slides
 
Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancer
 
Drupal Kick Butt
Drupal Kick ButtDrupal Kick Butt
Drupal Kick Butt
 
Drupal Development Security Essentials
Drupal Development Security EssentialsDrupal Development Security Essentials
Drupal Development Security Essentials
 
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
 
Plugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential ToolsPlugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential Tools
 

Recently uploaded

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 

Recently uploaded (20)

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 

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

  • 1. WHEN WILL DRUPAL DIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 2. WHEN WILL DRUPAL DIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 7. ?
  • 8. 1 The Competition (Project Realtime)
  • 9.
  • 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?
  • 19.
  • 20. Github vs. Drupal.org 100 pages of comments 57 points of comparison https://groups.drupal.org/node/313068
  • 21. 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
  • 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 (for the most part) Camps, Cons, User Groups Drupal Association Governance Group Initiatives Code of Conduct Working Groups
  • 27. 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
  • 28. Hype Cycle is (probably) Over Node.js Angular.js
  • 29. 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
  • 30. The Incumbent Stable releases 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 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.
  • 34. Controversial Changes in Drupal 8 1. OOP 2. 3rd Party Libraries
  • 35. OOP?
  • 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 of OOP 1. Re-training of the Drupal developer community 2. Added complexity in the short-term
  • 40.
  • 41.
  • 42.
  • 44. 3rd Party Library Benefits: 1. Less Drupal-specific code to manage 2. More sharing between communities
  • 45. 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
  • 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.
  • 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 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?
  • 51. Drupal Project Realtime Drupal 8 Drupal 8.1.0 Drupal 9
  • 52. Thank you, you’re awesome! Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 53. Thank you, you’re awesome! Chris Shattuck @chris_shattuck chris@buildamodule.com