Your SlideShare is downloading. ×
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
State Of Drupal September 2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

State Of Drupal September 2009

2,625

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,625
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. State of Drupal DrupalCon Paris 2009 Dries Buytaert http://buytaert.net :: http://twitter.com/dries
  • 2. Are we freezing the code?
  • 3. Code freeze Release “Developer scream” phase - “Drupal was released too early! We’re missing A, B and C still.” “Patch frenzy” phase - “We should maintain backwards compatibility. This is crazy.” - “Crap, my patch isn’t going to make it in!” - “We failed to do enough of X.That is poor leadership.” - “Wait, we can’t freeze the code like this! Production ready Strong momentum - “Drupal is going to be AWESOME.” Start of development cycle “User scream” phase - “I can’t believe you make me relearn this!” - “You shouldn’t release core until contrib is updated.” - “I can’t believe you’re already working on the next version of Drupal core. I haven’t even upgraded yet.” “Slow motion” phase - “We need more core committers to review patches.” - “Gosh, Drupal development is so broken. If only we used Git!” - “We lost momentum.” time
  • 4. time
  • 5. time
  • 6. Nikolai Kondratiev Economist, 1892-1938 Described fifty to sixty-year long waves of economic prosperity and depression
  • 7. Joseph Schumpeter Economist, 1883-1950 Radical innovation drives recurring cycles of “creative destruction”
  • 8. Paul Saffo • Overestimating short-term benefits, underestimating long-term benefits of innovations • Cycle of expectation and disappointment is an essential part of the innovation process
  • 9. We’re normal!
  • 10. Gartner Jackie Fenn and Mark Raskin
  • 11. Gartner’s hype cycle Plateau of productivity Negative hype Slope of enlightenment Innovation trigger Through of disillusionment time
  • 12. Gartner’s hype cycle Peak of inflated expectations Plateau of productivity Positive hype Slope of enlightenment Innovation trigger time
  • 13. Gartner’s hype cycle Peak of inflated expectations Plateau of productivity Negative hype Positive hype Slope of enlightenment Innovation trigger Through of disillusionment time
  • 14. Gartner’s hype cycle Peak of inflated expectations Plateau of productivity Negative hype Positive hype Slope of enlightenment Innovation trigger Through of disillusionment time
  • 15. Gartner’s hype cycle Peak of inflated expectations Plateau of productivity Negative hype Positive hype Slope of enlightenment Innovation trigger Through of disillusionment time
  • 16. Gartner’s hype cycle Swamp of diminishing returns Cliff of obsolescence time
  • 17. Code freeze Release “Developer scream” phase - “Drupal was released too early! We’re missing A, B and C still.” “Patch frenzy” phase - “We should maintain backwards compatibility. This is crazy.” - “Crap, my patch isn’t going to make it in!” - “We failed to do enough of X.That is poor leadership.” - “Wait, we can’t freeze the code like this! Production ready Strong momentum - “Drupal is going to be AWESOME.” Start of development cycle “User scream” phase - “I can’t believe you make me relearn this!” - “You shouldn’t release core until contrib is updated.” - “I can’t believe you’re already working on the next version of Drupal core. I haven’t even upgraded yet.” “Slow motion” phase - “We need more core committers to review patches.” - “Gosh, Drupal development is so broken. If only we used Git!” - “We lost momentum.” time
  • 18. Are we freezing the code?
  • 19. When to freeze the code? Next release: peak of inflated expectations Previous release: plateau of productivity time
  • 20. Plateau of productivity for Drupal 6?
  • 21. Install base Source: http://drupal.org/project/drupal/usage
  • 22. !"##"$%&' !" !#$" %" %#$" &" &#$" '" '#$" )*+"&!!," (" -*."&!!," )/+"&!!," 0/1"&!!," 234"&!!," 563"&!!," 768"&!!9" 0:."&!!9" )/+"&!!9" 0/1"&!!9" 234"&!!9" Source: awstats from drupal.org 563"&!!9" 768"&!!;" ()*+,-'$.'/"&"0&' )/+"&!!;" 0/1"&!!;" 234"&!!;" 563"&!!;" 768"&!!<" 0:."&!!<" )/+"&!!<"
  • 23. !"##"$%&' !" #" $!" $#" %!" %#" &!" &#" '()"%!!*" +(,"%!!*" '-)"%!!*" .-/"%!!*" 012"%!!*" 341"%!!*" 546"%!!7" .8,"%!!7" '-)"%!!7" .-/"%!!7" ()*+&' 012"%!!7" Source: awstats from drupal.org 341"%!!7" 546"%!!9" '-)"%!!9" .-/"%!!9" 012"%!!9" 341"%!!9" 546"%!!:" .8,"%!!:" '-)"%!!:"
  • 24. We continue to win awards
  • 25. Peak of inflated expectations for Drupal 7?
  • 26. New database layer
  • 27. Support for master/slave replication
  • 28. Support for transactions
  • 29. Support for multi-insert queries
  • 30. Support for delayed inserts
  • 31. A much improved support for PostgreSQL
  • 32. SQLite support
  • 33. MSSQL and Oracle support are now feasible
  • 34. Stronger password hashes
  • 35. Rate limit login attempts
  • 36. Better support for WYSIWYG editors
  • 37. More drag-and-drop
  • 38. Added a dummy install profile
  • 39. Removed comment controls
  • 40. Added account cancelation
  • 41. Added a built-in cron feature
  • 42. Added a default administrator role
  • 43. Redesigned the password strength checker
  • 44. Redesigned the add content type screen
  • 45. We have a much improved filter system
  • 46. Reduced number of SQL queries
  • 47. Stopped writing session for anonymous users
  • 48. Fixed HTTP headers
  • 49. Added support for HTTP proxies (can improve performance up to 2000x)
  • 50. Added 10,000 lines of API documentation
  • 51. Added a test framework and embraced test driven development
  • 52. Wrote thousands of tests
  • 53. Improved time zone support
  • 54. Cleaned up many APIs
  • 55. Made files first class citizens
  • 56. Added support for CDNs
  • 57. Removed per user themes
  • 58. Removed the throttle module
  • 59. Added the code registry
  • 60. Removed the code registry
  • 61. Removed Bluemarine theme
  • 62. Removed Chameleon theme
  • 63. Removed Pushbutton theme
  • 64. Added Stark theme
  • 65. Added Seven theme
  • 66. Made various theme system improvements
  • 67. Added support for thumbnails
  • 68. Added support for image effects
  • 69. Modules can declare RDF namespaces
  • 70. Added a Field API in core (CCK in core)
  • 71. Node bodies are regular fields now
  • 72. Made it possible to add fields to users
  • 73. Made it possible to add fields to comments
  • 74. Made it possible to add fields to anything
  • 75. Turned taxonomy term into fields
  • 76. Made the help text area a region with blocks
  • 77. Made the mission statement a regular block
  • 78. Made the footer a regular block
  • 79. Added translation contexts
  • 80. Added jQuery UI
  • 81. Added better module versioning
  • 82. Removed the blog API module from core
  • 83. Improved the node access control system
  • 84. Peak of inflated expectations for Drupal 7?
  • 85. Plateau of productivity for Drupal 6 Peak of inflated expectations for Drupal 7
  • 86. Where we are today Next release: peak of inflated expectations Previous release: plateau of productivity time
  • 87. We are going to freeze the code!
  • 88. Half-baked croissants
  • 89. Field API is not 100% yet
  • 90. Profile module not converted yet
  • 91. D7UX is still a work in progress
  • 92. Test coverage OK but not stellar
  • 93. Performance degraded (my biggest concern)
  • 94. SQL queries Drupal 6 Drupal 7 /node 103 49 /node/1 43 56 /user/1 Details: APC enabled, XDebug off Credit: catch
  • 95. Performance no caching caching /node -20% -12% /node/1 -55% -12% /user/1 -45% -12% Details: APC enabled, XDebug off Credit: catch
  • 96. Development Code freeze Drupal 7.0 release
  • 97. Development Code freeze 82 weeks Feb 1, 2008 Unknown Phase one: “DrupalCon Paris” • Still allowed: everything • Ends Monday morning • Make a snapshot of everything that is RTBC • Angie and myself will review and commit those as soon we have time to
  • 98. Development Code freeze 82 weeks 5 weeks Feb 1, 2008 Sep 7, 2009 Oct 15, 2009 Unknown Phase two: “code slush” • Time boxed at 5 weeks • Not allowed: • New features or functionality • Still allowed: • Up to 10 carefully selected exceptions for new features • Important API changes for existing features • Usability, accessibility, testing, documentation and performance • October 15th = API freeze (including mark-up freeze and schema freeze)
  • 99. Current exceptions 1. Imagefield 2. Field translations 3. Convert profile module to field API 4. Convert taxonomy to field API 5. Overlays 6. Edit anywhere 7. Shortcuts 8. Dashboard 9. Plugin manager 10. RDF/RFDa
  • 100. Development Code freeze 82 weeks 5 weeks Feb 1, 2008 Sep 7, 2009 Oct 15, 2009 Unknown Phase two: “code slush” • Time boxed at 5 weeks • Not allowed: • New features or functionality • Still allowed: • Up to 10 carefully selected exceptions for new features • Important API changes for existing features • Usability, accessibility, testing, documentation and performance • October 15th = API freeze (including mark-up freeze and schema freeze)
  • 101. Development Code freeze 82 weeks 5 weeks 4 weeks ? weeks Feb 1, 2008 Sep 7, 2009 Oct 15, 2009 Nov 15, 2009 Unknown Phase three: “strictly polish” • Time boxed at 4 weeks • Not allowed: • New features, API changes, mark-up changes • Allowed: • Usability, accessibility, testing, documentation and performance • November 15th = string freeze and UI freeze • Releases: first alpha (or potentially beta)
  • 102. Development Code freeze 82 weeks 5 weeks 4 weeks ? weeks Feb 1, 2008 Sep 7, 2009 Oct 15, 2009 Nov 15, 2009 Unknown Phase four: “bugs and release blockers only” • Length: until all “release blockers” are fixed • Allowed • Release blockers • Bug fixes • Testing • Releases: betas and RCs
  • 103. Development Code freeze 82 weeks 5 6 weeks 4 weeks ? weeks Feb 1, 2008 Sep 7, 2009 Oct 15, 2009 Nov 15, 2009 Unknown Features High-impact exceptions API freeze API changes existing features Upgrade path Performance Usability String freeze Accessibility UI freeze Documentation String changes and UI changes Bug fixes SimpleTests
  • 104. Beyond Drupal 7
  • 105. Joseph Schumpeter Economist, 1883-1950 Radical innovation drives recurring cycles of “creative destruction”
  • 106. Everett Rogers 1931-2004, Diffusion of innovations Showed that innovation adoption does not happen in a straight line, but that it follows a predictable S-curve
  • 107. time
  • 108. time
  • 109. Everett Rogers’ S-curve reach time
  • 110. Repeating in many different industries
  • 111. William Hyde Wollaston 1828 Innovation Credit: Simon Wardley
  • 112. Hippolyte Pixii 1808–1835 Innovation Bespoke Credit: Simon Wardley
  • 113. Gramme-dynamo Innovation Bespoke Products Credit: Simon Wardley
  • 114. Electricity grid Innovation Bespoke Products Commoditization Credit: Simon Wardley
  • 115. Electricity grid Innovation Bespoke Products Service Credit: Simon Wardley
  • 116. Electricity has transformed from an innovation to a service Electricity grid William Hyde Wollaston 1828 Innovation Service Credit: Simon Wardley
  • 117. Z3, 1941 Innovation Credit: Simon Wardley
  • 118. Leo, 1946 Innovation Bespoke Credit: Simon Wardley
  • 119. IBM 650 Innovation Bespoke Products Credit: Simon Wardley
  • 120. Cloud computing Innovation Bespoke Products Commoditization Credit: Simon Wardley
  • 121. Cloud computing Innovation Bespoke Products Service Credit: Simon Wardley
  • 122. reach Service Products Bespoke Innovation time Credit: Simon Wardley
  • 123. reach Service Products downloadable CRM product Bespoke database Innovation time Credit: Simon Wardley
  • 124. reach Acquia Gardens Buzzr Service Open Atrium OpenPublish DrupalEd Acquia Drupal Products PressFlow ... Bespoke Innovation time
  • 125. Get break out growth instead of linear growth
  • 126. Install base Source: http://drupal.org/project/drupal/usage
  • 127. Distributions is one way
  • 128. Install profiles as modules + plugin manager
  • 129. “Features” is one way
  • 130. Richness + reach = success Richness The place to be Drupal Plone Joomla! ExpressionEngine Wordpress Reach
  • 131. Richness + reach = success Richness The place to be Frameworks Products Services Reach
  • 132. Framework versus product
  • 133. Frameworks create bespoke systems
  • 134. Framework versus product
  • 135. Framework AND product
  • 136. reach Service Market or user Products driven development Bespoke Innovation driven Innovation development time
  • 137. Denial?
  • 138. Drupal 7 usability
  • 139. “If you’re not afraid, you’re not doing the right thing.”
  • 140. Pain
  • 141. Great
  • 142. Growing up
  • 143. We can’t roll back time. We have no choice to grow up.
  • 144. We’ll reach out to new people, and have to learn how to interact with them
  • 145. Recap • Learned a pattern on how we innovate -- and we’re normal • Innovation is on track, feel great about Drupal 6 and Drupal 7 • Learned what our evolution might be
  • 146. Only good platform is an open platform
  • 147. Only good community is a fair and balanced community
  • 148. DrupalCon after 4 years ... 25 Drupal developers DrupalCon Belgium Antwerp, 2005
  • 149. DrupalCon after 4 years ... 1400 Drupal developers DrupalCon DC Washington, 2009
  • 150. Being significant
  • 151. How do we go where we aren’t today?
  • 152. Richness + reach = success Richness The place to be Drupal Reach
  • 153. Richness, we should be less worried about
  • 154. Reach is our biggest challenge and opportunity

×