Drupalcon: State of Drupal by Dries Buytaert

An update on the Drupal project from it's founder

Dries Buytaert announced that Drupal 7 development will have 3/4 of a year dedicated to innovation assuming 100% unit test coverage and support from the Drupal community. Projected code freeze will be somewhere around 10/15/08.

There was also a huge push for making fields first-class citizens in preparation for making Drupal a cornerstone of the Semantic web.

More details about State of Drupal and the State of the Drupal community down below.

Only released Drupal 6 a month ago, February 13 -- worked on it more than one year. Compared to Drupal 5, had more contributors, 400+ to 740+ Almost double the number of contributors and number of patches. * Drupal 6 has many more features. * Extended permission schemes. * Added OpenID * Added action and triggers. * Drupal 6 is easier to administer, added an installer, and it looks much nicer and friendlier to use. * Drag and Drop people seem to love * Signatures improved -- lots of UI improvements * Easier to Theme Drupal 6, and easier to pick up for designers. Should see a lot of themes next year. * Lots of new APIs, including the theme_devel.module to take theming to the next level (applause) * Drupal 6 is also more secure * update_status.module was one of the biggest feature requests, which can do e-mail notifications for updating modules * Also removed PHP filter module to make it more secure. Password String checker to make passwords more secure. * Easier to scale Drupal as well. * Central logging server. * Conditionally load PHP files to reduce the load. * Block-level caching, which as a big performance improvement * Database for master-slave arrangements to use more database servers * Lots of scalability work done * Drupal 6 is also easier to developer for * Drupal 6 is for more people -- localize interface and internationalize content.

SUMMARY: More featuers, easier to administer, easier to scle, easier to theme, easier to develop for, more people.

* Thanks to the 100s of developers. * Thanks to OSU OSL * And thanks to thousands of people who help support, document and evangelize.

GROWTH OF DRUPAL If you look at the downloads -- Drupal 6 was downloaded 100,000 times in the first month compared to 50,000 for Drupal 5. Continue to double with each release. 20,000 Drupal installations are pinging back, and quite amazing to see how many are out there already. Drupal 6 is exactly what we expected it to be: AWESOME. The state of our union is strong. A lot of the work we did last year, will bear fruit this year, and likewise for the work we do this year.

Despite our successes, we still have a way to go "Crossing the Chasm" is a book that is written about this. When are you going to buy one: 1.) LATE ADOPTER: Never. Not until hell freezes over. 2.) LATE MAJORITY: Until I've seen enough of them and I know they will get serviced well. 3.) EARLY MAJORITY: After most people have switched. 4.) EARLY ADOPTER: I'll be (or was) the first on my blocks

A lot of people are watching Drupal, but we still have to make the transition to become mainstream. It's an extremely difficult transition. History that this is a "do or die" transition. This requires an unusual degree of unity. It’s very hard to recreate momentum after you lost it. We must move forward very hard to make it happen. [shows some Google trend stats] -- It's important for Drupal to maintain this momentum.

To move forward, and to make that transition, at least 3 things need to be done. 1.) Redesign our home drupal.org [applause] -- where we gather and congregate 2.) Drupal 7 has to be a "killer" release 3.) Must make some strategic, but sweeping changes.

Drupal 6 improvements + growing install base + growing ecosystem = new group of users

Every major release brings a new and larger group of people. [Showing screenshots of evolution of Drupal admin interface] New people come on board, and they're not developers, and this transition has been happening and needs to evolve the UI even more.

"Bandwagon" effect: We get a new group of people and will be a model for the next group of people.

We did great in Drupal 5 and Drupal 6, and there's one place where we need to adjust our house to accommodate the next batch of users. (i.e. Drupal.org)

Current group of users is still in pain. Ratings for modules, better documentation, faster page loads, better search, better navigation, Drupal services, user ratings, new themes, e-mail notifications

Special project for 2008: drupal.org redesign.

Help plan at http://groups.drupal.org/drupal-org-redesign-analysis

We need resources (might be hard) money:, project management, develop resources, designer resources, willingness to accept change.

Let's talk a bit more about Drupal 7 Did a survey where he collected 1000 responses over 30 days

Want better media handling, custom content types, WYSIWYG editor, better performance, tools to organize content, basic view-like module, automatic upgrade... [more in the graph]

Developer features: performance for authenticated users, views module, node access system... [more in the graph]

What should the focus be for Drupal 7? 24% focus on end users 44% Enterprise 32% Web application developers

Lots of dev e-mail lists of whether Drupal is a content management system or a developer framework.

What does this all mean? Put it all together, and it's quite easy: 68% of respondents want Drupal to focus on Drupal as a product 32% focus on Drupal as a framework

7 end user features and 3-developer ones 1.) Better media handing 2.) More CCK Content types & fields 3.) WYSIWYG 4.) Better performance 5.) Better tools organization tools 6.) Basic views-like module in core 7.) Automatic upgrate

8.) Improve node access 9.) Better internal APIs 10.) Better external APIs (import / export)

Can't completely trust statistics 85% of respondents have at least one Drupal website already set up. But how many people give up on Drupal? [photo of a frustrated user giving Drupal the finger]

Usability testing -- Saw people fail for 3 days in a row. They were common tasks that take us 30 seconds to do, it to 30 minutes in the usability lab to find.

Quote from the usability 'I didn't expect to feel so stupid. I don't like feeling stupid.'

Another one: 'I already lost the past I created' -- not promoted to the front page.

We came out of the lab with a lot of insights (talke about in more detail here: http://tinyurl.com/22lkrv)

They used heat mapping software. [showing eye tracking movement movie] [Lots of laughter about the eye tracking software of someone’s eyes darting all over the Password checker after typing and causing a red error like message -- lots of laughs, and Dries says: It gets less funny after a while]

Several evaluators backed out of certain admin pages because they thought they had broken something due to the red warning box text.

Continue to make Drupal easier to use.

Candidates for feature removal: Remove the throttle and ping modules.

Who will be the next branch maintainer? Looking for such a person at the moment, who has these qualities: 1.) Experience 2.) Responsibility 3.) Time to work on D7 4.) Have a vision for D7

I should have taken a booth in the job fair to recruit a branch maintainer. Didn't pick Gabor after 2 months of development on Drupal 6.

When will the code freeze be? Preferred frequency of Drupal releases: * 65% people that 1 major Drupal release per year is ideal * 20% people that 2 major Drupal release per year is ideal * 14% people think that 3 major Drupal release per year is ideal * 1% people think that 4 major Drupal releases is ideal

Historically, we’ve had a 5-month development cycle, and then 7-month code freeze to iron out the bugs.

If we assume that we’re staying with a 1-year release cycle. That would put a code freeze should be on May 15, 2008 -- which seems a bit short.

So Dries is making an exception with some conditions: 9-month development cycle + 3 months bug fixing IF Drupal has 100% unit test coverage

Puts the code freeze at October 15, 2008 [Applause] It's up to us to generate the test coverage, otherwise he will be forced to shorten it.

Other reasons to do unit testing: Design for testability leads to better APIs Encourages experimentation and innovation

Another reason is to fund the next Drupalcon You will contribute one dollar per test that your patch broke -- [chx standing ovation]. [joking of corse]

Drupal 7 and testing Write unit test, functional test and integration tests ship core tests with Drupal core still have to figure out what test frameworks to use, and if we can ship them with core as well.

Been thinking about this, and he encourages more discussion to happen.

Lime.php testing framework, is really small. Doesn't cover all functionality. Simpletest also doesn't cover all Drupal functionality either.

Drupal 7 and Beyond. We’ll be preparing for more wagons and going mainstream.

We will be moving from infinite extensibility to infinite interoperability. * Web 1.0 = Web content management * Web 2.0 = Web 1.0 + user management + infinite extensibility -- Drupal has strong user functionality to handle thousands of users, and thousands of Drupal modules. * Web 3.0 [Dries personally hates the term] = Web 2.0 + infinite interoperability = Web 2.0 + data portability + web service APIs = Semantic Web.

"Dude we've been talking about the semantic web for 10 years. Pass the rack pipe, please!" [laughs]

It's the right time and the right place for the Semantic Web.

There’s going to be Less focus on functionality -- more focus on data * Integrate data from different sources * Allow other people to reuse your date * Decentralize data so that no party owns all the data * You can do cool stuff with lots of data

Exporting your data so that it can be imported * Extend Drupal so it supports multiple output formats (e.g Generate XHTML, XML or JSON for a node. * Figure out when to serve what output format (e.g. different responses to different HTTP headers)

Data API group on g.d.o. -- More power to fields and less power to nodes * Decompose content into small pieces * Treat fields as first class citizens instead of notes * Connect the fields with semantic sugar * Put that into Drupal 7 ASAP

An event node in Drupal 6 -- the relational data model Organizer: Acquia Band: Orbit ... etc

An event node in Drupal 6 -- the relational data model Orbit is a band Band plays at event band starts on date band ends on date

You have a subject, predicate and ojbject

Any knowledge in this world can be decomposed in RDF triples of subject predicate and object So a lot of these problems have been solved at the design level.

[Shows example of FOAF file that generates XML]

Another thing about RDF is that everything can be described as a graph.

RDF works with multiple data sources as well Connect our event with other external information about Orbit

SQL -- relational database syntax is similar to SPARQL - RDF graph. Can access multiple data sources from one query.

RDF makes the Internet ONE BIG DATABASE "SPARQL = Views on Steroids"

Let me show you a video of the future -- implemented in Drupal implemented by Arto -- got a lot of the pieces here.

Look at Wikipedia, which is the OLD model of one big text field. Can export the same info in RDF in a machine-readable format Can add a SPARQL query, which will import data for different sources. Show the results of the query on the next page. Shows a table of data as the result. Type -- Can export in all different types.

Look into events in Boston http://simile.mit.edu/exhibit/ Import into Google spreadsheet -- and then export out in to a Google Map. Real easy once you have the pieces of technology.

Scraped Drupalcon username info and combined it with the drupal.org module maintainers list, and created a faceted search so that we can see all of the German-maintained modules or drill down in any different ways. See where people are coming from. [Pointing to an Asian arrow on the map] This person is one with Jetlag. [laughs]

"The future is here. It's just not evenly distributed yet."

Visualization graph of example of all of the RDF data that is out there including: DBPedia, US Census data, RDF Book Mashup, W3C WordNet, CIA factbook, FOAF, Musicbrainz.

The opportunity is that every single Drupal site can be an RDF repository that we can start to mash into to semantic web [overlaying Drupal on these websites]

The Social graph just connection people -- we have an opportunity to make a graph that connects EVERYTHING.

We’re moving from the World Wide Web (WWW) to the Giant Global Graph. Tim Berners Lee

This is a big opportunity * Better search * Better targeted ads * Deeper integration * Better personalization * Import/export * CCK and views in core * Drupal.org integration

In thinking about the drupal.org redesign, with things like SPARQL, it'd be great to be able to get different views of the RDF view

We should get some of this crack in Drupal 7 More power to fieles * XML documents are to exchange messages / date * RDF tis used to make it uniform, predictable and to untap it's potential RDF to create distributed views

Keep it fast

The semantic web aligns well with my vision for Drupal * Make Drupal really easy to use * Eliminate the webmaster -- no need to write HTML * Eliminate the developer with CCK and Views - assembling the pieces * Eliminate the designer -- more tools like Views and CCK for the designers * Eliminate the publisher -- have the users control how he / she wants to see and experience the data

The world is watching to see if anything can be made of Drupal.

We must move forward 1.) Work on a better home. 2.) Work on the Drupal 7 killer release 3.) Prepare for the semantic web and help drive and push innovation -- it really is the future

The future is here, and it is in this very room.

Get in touch with us

Tell us about your project or drop us a line. We'd love to hear from you!