DrupalCamp Toronto 2010: Platypodes FTW!

DrupalCamp Toronto 2010 was all kinds of awesome, and I thought I'd write a quick wrap-up post to reflect on some highlights and "take-away" messages and learnings. Overall, the 2-day event was well-organized, well-run, and had lots of great presenters and discussions.

When it's difficult to choose which session to attend for most of the time slots at a conference, I think that's a good sign. DrupalCamp Toronto was certainly a great example of this! Fortunately, I understand there will be video of at least some of the sessions available, and most presenters are posting their slides or will in the coming days. I look forward to catching up on some of the sessions I missed.

I paused on my way home to make some notes on the ideas or issues that stood out for me over the last couple of days, and quickly ended up with a somewhat crowded page of inter-connected keywords surrounding a handful of themes. I'll try to tease out some of these themes in this post.

Community Growth, Emergent Complexity, and Ecosystem Thinking

Dries made the point very clearly that Drupal as a community and an Opensource project are expanding in a big way. We've grown a huge amount over the last couple of years, and we are poised to explode even more with the advent of Drupal 7. The complexities of this situation are clearly both technical and social/cultural, but Dries expressed optimism and offered some pointers for the Drupal way to meet these challenges head on.

Jeff Eaton echoed a lot of the spirit of Dries' message, looking at Drupal through the lens of the uber-quirky evolutionary question-mark, the platypus. We learned that not only is "platypodes" the plural of platypus, but it's also fun to say. What's more, it turns out that the "emergent complexity" that produces platypodes in the Drupal ecosystem is just part and parcel of the beautifully chaotic process of refining, mutating, and cross-pollinating the different Drupal species (modules) and habitats (sites).

One key insight from Jeff's talk for me was that if developer hours are the critical resource (we are food!) that drives the whole system, then we need to think carefully and make good choices about what kinds of species, habitats, and even biomes (kinds of sites/platforms/patterns) we invest our time and energy into.

More importantly, however, is the main take-away: you can't gloss over the inherent complexity of working with Drupal and expect things to go well for you. Instead, acknowledge that things are messy and complicated, then try to balance or mitigate this by active engagement in the community. At very least, this helps to ensure you can continue to derive benefit from the community (rather than mutating a donkey). Seek out the mammals (maturing species/modules) and best practices as they emerge and evolve, and try to stay current with these patterns while contributing your own mutations back into the general pool.

Growth of Local Toronto Community

It was very striking to note how much the Toronto Drupal community is growing steadily as well. Having been around this community for some time (though less active in the last year or two), I can clearly see a shift happening in terms of overall interest and participation. The crew that put together this weekend's camp were an almost entirely fresh set of faces than those who were involved at the last event in 2008. Not only that, but we have now hit the critical mass stage where DUG-TO has a real live bank account!

I am excited to have a little more time in my days to be an active member in the community again, and a certain amount of support from my paid work to devote to general Drupal contributions. In the short term, I plan to get all my modules ported to D7, attend upcoming DUG-TO meetups, and hopefully uncover interesting projects to collaborate on with other local Drupallers.

Accessibility and other Drupal 7 Hotness

What would a Drupal event be without excited chatter about the next version? With the first beta release of Drupal 7, there is definitely a heightened sense of anticipation. We had a session about Drupal 7 Theming, and much online and between-session mentions of various D7 improvements. I'm actually finding it pretty overwhelming to think about all the amazing improvements and changes that have been made for this version.

One thing that sticks out for me was Everett Zufelt's talk on accessibility, which provided some details about the important set of accessibility improvements D7 brings to the table. I was already sold on the need for making Drupal accessible, but came away much more informed and able to articulate to others why it's worth the effort to "do accessibility" (and what that actually means).

Huge thanks to Everett, and the many others who've toiled to push myriad tiny but not insignificant patches through the queues! It's exciting to see us coming together to resolve these issues and really make Drupal better for everyone.

Another piece that's huge is database independence. I haven't followed the PDO transition closely at all, but I recognize it has huge significance for the growth of the project. While I'm absolutely no kind of Microsoft fan, I was very pleased to hear about all the work Mark Brown and the Microsoft folks have put into making Drupal run on MS-SQL, and many other significant improvements to running Drupal on Microsoft servers.

Features and Panels, Contexts and Spaces, Drush and Aegir

In terms of actual modules and technical geekiness, there were a few trending topics: Features module has definitely captured people's attention, and there is general agreement by serious developers/site-builders that this is the way forward for site development. Similarly, Panels was well-covered by a number of sessions, and the general consensus was that if your site was even a little more complex than a simple blog, chances are you want to use Panels to lay out some of your pages.

Contexts and Spaces were also mentioned a fair bit, and although I didn't make it to Alan Dixon's BoF on OpenAtrium, I suspect they came up in that discussion as well. For the moment at least, these two seem more mysterious and abstract than Panels, and so have taken a bit of a sideline.

Related to layouts and site customization: Emma Jane Hogbin is my new favourite Drupal person, having watched her rock an early morning theming presentation as well as a somewhat improvised session on Panels. Both were pure awesome, but as a non-themer, I appreciated the fact that I came away feeling like I might actually have finally wrapped my head around the process by which I could someday implement a theme directly from a PSD design built up from a base theme. Inconceivable!

I was also glad to see a session on Drush, even though I've already drunk that particular Kool-Aid. The BoFs were all interesting, although I realized too late that it would likely have been worth re-proposing the BoF session I'd suggested online to discuss site-building best practices with Git. Perhaps this can be a topic for an upcoming monthly meetup.

Project Management and Development Process

The last theme I kept coming back to, possibly due to my particular focus at the moment, was the issue of project management and development process in a Drupal world. We had two interesting and contrasting sessions talking about how to run Drupal projects from an Agile perspective and with a more traditional Waterfall approach. Both strategies seem to have good insights into the challenges of building a Drupal site on a budget and timeline, but I need to digest these ideas more to understand how to integrate them into my own Drupal work.

Here again, we are seeing a paradigm shift in terms of how we approach these things. There are Drupal-specific tools being built specifically to manage Drupal projects, such as Freeform Solutions's "Fragile" tool and Victor Kane's Project Flow & Tracker. There are also things like AEgir, drush and drush_make, as well as features and CTools' exportables, which make it easier than ever to express user story implementations entirely in code, allowing for versioning, mutation, and reusable components to carry in our toolbox from one project to the next.

What else?

Overall, Drupal Camp Toronto 2010 as full of exciting and interesting stuff, smart people and much fodder for collaboration, skills sharing and discussion over the coming months! What were the themes that stuck out for you? Lessons you learned? Take-away messages that stuck?