DrupalConDC2009 Report: Dries Keynote Speech

Dries keynote at DrupalConDC2009Dries keynote at DrupalConDC2009

Stream of consciousness notes to share Dries keynote this morning at DrupalCon DC 2009

Drupal: The last 8 years

First Drupal full release:

Jan 15 2001
Drupal 1.0.0

Didn't resist first slash.com, but soon did.
Today people are making a living with Drupal, Drupal is all they do.
Highlight 2004:  first time he gave a Drupal demo, with a Drupal T-shirt. Drupal Camp Antwerp
A trip down memory lane... the Drupal old timers... they all stood up

Dries keynote at DrupalConDC2009Dries keynote at DrupalConDC2009

Stream of consciousness notes to share Dries keynote this morning at DrupalCon DC 2009

Drupal: The last 8 years

First Drupal full release:

Jan 15 2001
Drupal 1.0.0

Didn’t resist first slash.com, but soon did.
Today people are making a living with Drupal, Drupal is all they do.
Highlight 2004:  first time he gave a Drupal demo, with a Drupal T-shirt. Drupal Camp Antwerp
A trip down memory lane… the Drupal old timers… they all stood up

The first Drupal book was written by Robert Douglas.
More than 10 books have been written on Drupal the last year alone.

drupal.org through the ages… Acquired class look in 2004.

Mark Boulton was hired to help us redesign our house, where we spend our time collaborating together.

Unveiling of new design to applause of all.
A functional demo!
Showed off search.
Drag and drop of frontpage blocks: You can organize your own custom page.
“Your dashboard”
They will be working on this up till the last day of the conference.
The languishing drupal.com will now be used for something useful, as a cool landing page.

Support shown by community in raising funds and hardware for help after the Great Server Meltdown. One of the first great signs of what a remarkable community was growing up around Drupal.
People started camping out around Drupal booths at open source conferences.
The need to have a Drupal Association, a non-profit association to accept donations, to organize conferences… thousands of dollars being involved.
Brussels 2006
Drupal Con Brussels 2007 150
Six months later at Yahoo 600
Lullabot Podcast series… an amazing job marketing Drupal.
DrupalCon Boston: 900
Today: 1400, but with hundreds of people on waiting lists, it has even been noted that people are organizing unconferences outside the venue!
We continue to  double in size, and also in the number of events… drupal.org events…

That growth has shown that Drupal has doubled in every metric you can imagine by doubling every year: in downloads, contributed projects, comments…
Now: downloads: 200K / month
1.5 M uniques/month

Amazingly active community
A goal: “Replace planning with coordination”
“Long tail of contributions”
How to grow Drupal: more people need to work full time on Drupal. But people are limited physically by what they can do in one day. Invite many more people that do small things, the collection of small things grows Drupal.
How to avoid planning!
“We need to potentially change a few things to avoid planning.”
Something we need to get better at.

History:
What the Drupal administration page looked like originally: no menu, no reference, no help, …
A year later we decided to add the menu system, context sensivite help, in 2003 we integrated the backend to the frontend so people could switch their menus arouond.
Drupal 5 was shipped with an install file, making the experience more robust, and easier to get started with Drupal.
Installer in Drupal 6 nicer, continued the trend in usability, we have made big improvements with every release.

Drupal 7…

Where are we:
Dev opened in Feb 2008 (a year ago); we are almost there. We are going to freeze on September 1, 2009.
It will be released when it is ready. We have roughly 6 months left. 2/3 is done.
Drupal 6 has finally taken off now.
When is “When it’s ready”: when there are no critical issues left.
More than 1000 contributors.
Focus on a few highlights:
Go to webchick’s presentation on Drupal 7 to get a fuller story.

Usability
There are a lot of people frustrated with Drupal usability.
Install profiles: minimum (Drupal 6); default install (with dummy data to get people going)
permission page improved

 

So we are getting good but not good enough

Enter:  the usability team… active in issue queue, giving advice, interesting developers in usability.
Acquia has hired Mark Boulton to help with Drupal usability: at the service of the Drupal Community.
To make some more drastic improvements, as he did with drupal.org design.
Blue Sky web design workshop
How the admin is customized for different sites: centralize this info

Better File API
Other modules can listen for changes to files.

 

Fields in core == CCK in core (applause).

Old scheme:
CORE                 Contrib
Nodes – Custom content types
New scheme:
nodes – fields <— UI
users as fields (“thank god” was heard audibly in the audience)
A screen shot…. user profile page
RIP: Profile module   RIP
a migration path needs to be written

The subject of how we store things in Drupal
store things as fields
taxonomy, user avatar, poll… can be stored as fields
[road open to OOP in Drupal?]
Field storage model is still being worked on
Ease of data migration
All of this is being discussed now
We will be able to have different plugin storage models
customize storage engines optimized for different purposes

Testing
We added tests to Drupal 7
Running Drupal Simple Tests screenshot: more than 7000 tests
So, how well are we doing?
About 10,000 tests
coverage > 75% of files, 78% total
100% passing tests
For example: the OpenID module has no tests, so there is more work to do.
This doesn’t speak to the quality of the tests, of course, but… the main thing is that a test driven module for core has been adopted.

Database abstraction layer
Larry Garfield, help from chx and others
master/slave replication
support for transactions
optimizations
bettter portability – sqlite, improved pstgreSQL support
functional tests

Other ponies that are nice:
OAuth support
job queues
RDFa output
real-time messaging (xmpp)
activity log
The case for more nice ponies:
there is a case for these things to be included in core since most modern frameworks include this functionality.
An encyclopedia has emerged on the web, who would have imagined it just a few years ago…
What will the web look like in 20 years. It is only 30 years old, and a lot of the cool stuff happened in the last 10 years.
People have to start thinking of the internet as one big machine
(matrix photo)
cloud computer is an example which demonstrates this
attaching cell phones to the web…
Many great technologies can be plugged in… it is possible to render real life views of anything on the planet

Start thinking of it as one big machine
Linking machines ->

linking pages ->

linking data (last year’s presentation: why have to enter your list of friends on every site you visit; data interoperability) ->

linking things (search for real things, for physical objects)
With that picture in mind, the “nice ponies” list for Drupal 7 makes sense.

Drupal is a movement
A movement needs a mission
Movements need a mission: A Drupal 7 release
medium term: making Drupal more usable, a great developer platform, and make it easy to use for users
long term: helping to transform the web
They are ambitious goals but I think we can pull them off.
We don’t need technology, we need people. And let them coordinate, people who love working together
companies give us the muscles:
A movement needs a healthy ecosystem
A movement needs leaders
Drupal is actually a thousand little movements, and we help each other in the larger movement.
“We are changing our industry and we can help change the world.”