State Of Drupal September 2009

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    State Of Drupal September 2009 - Presentation 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
    SlideShare Zeitgeist 2009

    + Drupalcon ParisDrupalcon Paris Nominate

    custom

    92 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 92
      • 92 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 10
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?