DrupalCon

What is DrupalCon to you?

Drupal

Yesterday, we had a Drupal Association Board Meeting to discuss upcoming DrupalCons. The meeting ran very long as we discussed and debated what criteria we should consider in selecting cities for DrupalCons in 2012, 2013 and beyond. Passions ran hot at times as we hashed out our thoughts on our evolving process for making these decisions.

  • What is the purpose of DrupalCon?
  • What components make for a great DrupalCon?
  • What factors play into selecting a city for throwing a majorly successful DrupalCon?

In the end, I feel that we made a lot of progress in this meeting. This post is not a debrief of this meeting, though, but rather is a collection of some of my own thoughts about DrupalCon, shared as a member of the Drupal community.

Growing presents challenges

As Drupal continues to grow so quickly, the Drupal Association has been working hard to adapt. The community is many times larger than when I joined it over 6 years ago, even since when the Drupal Association launched in 2006.

  • Members on Drupal.org are now over 1 million 515784. [I stand corrected. User id's are over 1000000, but many accounts have withered, were never used after registration, or turned out to be spammers who were blocked. And since about uid 600000 the uid numbers have been incremented by 5 2, not 1. Even so, that's a lot more than when I first joined.]
  • There are more Drupal Meetups happening around the world ... and many meetups are growing in size.
  • Drupal Camps in various cities are proliferating and growing. Many are now bigger than DrupalCons were just a few years ago.

No question: People want their Drupal, and they want their Drupal events.

Worldwide there are all kinds of Drupal community events of all sizes. For the Drupal Association, we've decided to focus our attention (for now) just on DrupalCons, as they are the most challenging to pull off, most expensive to produce, and are the only Drupal events that are primarily international in nature. Who else but the Drupal Association is in a position to produce DrupalCons?

(We've been testing ways to support regional Drupal Camps, and are looking for ways to help support Drupal Meetups, code sprints, hackathons, and other smaller community events that help people get better at Drupal and get more involved in the Drupal community. More on that in 2011....)

On the Drupal Association Board, I think we're all in general agreement that DrupalCon is about serving the Drupal community. But what that phrase "serving the Drupal Community" actually means can differ, depending upon whom you ask. Each of us on the Board has his or her own idea. This is what we ended up discussing in great depth — or as much as could be covered in 6 hours.

But difference of opinion about DrupalCon mirrors the diversity of the greater Drupal community. Indeed, yesterday, as word of our discussion got out, some people began tweeting thoughts and attitudes about DrupalCons. (I'm not going to try to characterize those tweets, or the thoughts of anyone else. We all have our own ideas. Perhaps you will share your own thoughts in comments below?)

It's about the community

Drupal is fabulously powerful software, no question. The ways it can be used to build quickly all kinds of powerful websites and web apps that otherwise would require potentially tens of thousands of programming hours to get off the ground make Drupal extremely appealing to businesses and individuals alike. I'm simply thrilled by the success Drupal has enjoyed in the online world, and delight being able to draw upon Drupal for solutions to challenges I face every day at work at PINGV Creative.

But to me, what makes Drupal a powerful force in the web design and development marketplace is the community.

When I go to DrupalCons, it's like getting a contact high. The collective energy of all these people, who are all there to learn about Drupal, get better at Drupal, meet people to work with on Drupal, hire people to work on Drupal, share what they're working on in Drupal, and just connect with other people in "real" life that they otherwise see only online, is invigorating. Code sprints, documentation sprints, theming sprints, keynotes that make you think, sessions that feed your brain, parties that help you wind down — DrupalCon is an experience in full.

As the community grows, how can DrupalCon adapt? So far, we've been making DrupalCons larger to accommodate demand. Naturally that's going to change the character of things. It takes more work to produce a DrupalCon now. A lot more work. It takes real money as well to secure the venue(s), buy the food, establish wifi for one of the most network-resource-demanding crowds of any conference per capita, build and maintain the website, handle ticket sales, staff the event, work with sponsors, and the list goes on and on.

This leaves us with a choice: Make DrupalCons small, and lock out thousands of people who want to come; or let DrupalCons grow, and find ways to underwrite the expense and effort it takes to throw a major event in a different city twice each year.

We've obviously gone the latter way, and for my part this is a good thing. The more people can get exposed to Drupal through DrupalCon, the better for Drupal. And yet it's not just about numbers. We want this to be about the community.

One commitment the Board made early on was to keep the ticket price affordable. People may differ on what's "affordable," but for me it means keeping it under about $100 per day. We want to make it easy for people curious about Drupal to drop by. We want it to be accessible to your average person living on a budget. And we have a scholarship program to provide free passes to people in particular financial need.

In short, if the event is too expensive, only the true believers who have the wherewithal to come will come, and we won't grow the community through this event. And that would be a failure, in my opionion.

But there are other ways DrupalCons can serve the community:

  • Offer quality sessions that share knowledge. This has been a touchstone for every DrupalCon ever, but this doesn't mean other kinds of sessions don't slip through. I'm not all that thrilled about brag sessions, for example, where presenters show off something, but don't really share the how or what so that the attendees actually learn something more than "Joe certainly thinks very highly of himself." Or sessions where the presenter has 10 minutes of material, and then just fields questions (if there are any). I prefer sessions I can sink my teeth into. These are the kinds of sessions I try to create when I'm presenting.
  • Provide ways for people to get involved. The code sprints are great, but lately they've had the image of being just for the elite developers — which is an essential part of DrupalCon, because when else will so many core developers be able to get in the same room for uninterrupted hours of collaboration? But also important are the quiet "coder rooms" we've had lately, where people can hunker down and get their hands dirty. And the birds-of-a-feather rooms where people can gather on a smaller scale to workshop or discuss whatever interests them.
  • Revealing all kinds of things you didn't know you didn't know. It's also exciting to see what others are doing. The community is quite huge. There's so much going on that duplication of efforts can be a real problem. DrupalCon provides a great way to connect people across continents, and expose people to all kinds of things other people are doing, including oodles of things you never even knew was happening. That is exciting, and I feel provides a rush for many of us attending. Many, if not most, of us leave DrupalCon fired up to do more. You don't get that from a forum or IRC chat.

Community is the foundation. All else comes from that — the code, the business, the cool websites….

Clients follow the community, not the other way around

To me, this is how open source works. I'm sure many won't agree with me on this point. But the Drupal community came to be before the Drupal ecosphere. Today it may be hard to discern, because clients are such a huge part of the Drupal community. Professional paid Drupal work is a major driving force in Drupal development, and we definitely want to keep that paradigm going. Drupal can't thrive if it's only a hobbyist's technology.

And yet, my view is that the clients are there not simply because Drupal is the bee's knees. Drupal is a powerful technology, no question, but it's the community that makes Drupal's technological power credible. The thousands upon thousands of people all collaborating on the commons that is Drupal are really why Drupal is so great ... or at least a hugely major reason. In choosing any open source project, the savvy client looks at the strength of the community behind it. Drupal wins because of all of us thousands of people behind it, working ot make it better. Take the Drupal code as it stands today, and back it with a community of 100 people only, and you'll see usage of Drupal flatten and eventually drop.

Nobody wants to adopt an open source technology with weak community support.

By extension, I see DrupalCon as best benefiting the professional Drupal consulting ecosphere by focusing on building and strengthening the community, rather than focusing on making an event optimized for finding clients and making deals. I say this because if we do the former, the latter follows.

Someone has to pay for it

And this gets us back to cost, because if we can't keep DrupalCons affordable to people, the events will not be doing all they can to help build and strengthen the community.

Over the years, there have been complaints about how DrupalCon sponsors have become increasingly visible. Some have asserted that the Drupal Association focuses too much attention on sponsors.

Here's the thing: When events cost hundreds of thousands of dollars to produce, someone has to pay. If we keep the ticket costs down to make them affordable to a lot of people, the balance of cost has to be picked up by the sponsors. We want sponsors. We need sponsors. Otherwise we don't have events. Or we have ticket prices 2x, 3x, 4x more expensive.

And yet I also see sponsors as community members. We don't want to use up sponsors as if they're bamboo forests, expendable and replenishable. Our sponsors are part of our community. Most of the sponsors are in fact Drupal shops that comprise an important part of our community code, design and documentation efforts. DrupalCon sponsorships are not just revenue sources, they're also a major means for these companies and organizations to engage with and contribute to the community.

Sponsorship rates have gone up as the costs of events have gone up – and (very important) as attendance has gone up. My feeling is that we want to continue to offer a very diverse range of sponsorship opportunities, so that Fortune 500 companies can pony up big money for a big presence, while smaller shops can engage at lower financial levels. Over the various DrupalCons of recent years, there's been variable success at achieving this, and we're always looking for ways to do better.

What do you think?

I'm going to wrap up this rambling post here. What do you think? What makes a great DrupalCon? What would you like to see? What are DrupalCons getting right? How would you like DrupalCons to improve? What were your favorite DrupalCons of the past? And why?

My DrupalCon San Fransciso session: Grok Drupal (7) Theming

Drupal theming is incredibly powerful, flexible, dynamic and granular, but it can be a bit of a challenge to understand without knowing the fundamentals.

The Way Drupal Theming Was

When I started Drupal theming in 2004, it was all a bit overwhelming. Back then, the core theme engine was something called Xtemplate, and it gave the impression to the n00b themer of being a great big mess. When you looked at the page template, it was one big blob of markup and logic, and it was very hard to figure out to change just about anything. What's more, it seemed to be very brittle: change something and you got the white screen of death.

And thus life was for the themer through Drupal 4.5 and the beginnings of 4.6.

New Drupal Theming Power

Then, in 2005, came the PHPTemplate theme engine, thanks to Adrian Rossouw (now with Development Seed), and the heavens opened up.

Suddenly (well, not suddenly, as it took a lot of work) Drupal templating had a structural logic: a nested system that simplified the clutter, gave us defined variables to work with, and provided the basis for extending the system. This was really really cool — so cool that it immediately became the theme engine of choise, and, with Drupal 4.7, it became the theme engine for Drupal core.

I was so excited about it, I did my first Drupal conference presentation on it, at OSCMS 2007 at the Yahoo! campus in Sunnyvale. (It was part of a larger topic of overriding display upon which I collaborated with Greg Knaddison and Ezra Barnett Gildesgame, now of Growing Venture Solutions. The PDF of my slides are available here, though they're pretty outdated now.)

Since then the Drupal theming system has evolved and improved. There are a lot of nifty techniques, tricks, best practices that are available to the themer. What's essential is having a good understanding of the underlying architecture, because that's how you can figure out where to look, how to go about making the changes you want to make the theme yours.

No PHP knowledge is required ... beyond knowing not to muck with what's between the <?PHP ... ?> tags. Of course, knowing some PHP can help. But you can also pick up the basics as you go, if you want to delve into the coded bits.

Learning Drupal Theming in 2010

My session proposed for DrupalCon SF on Drupal theming basics brings a comprehensive look at the Drupal theming system and how the front-end developer new to Drupal can take charge of the output by taking advantage of what Drupal gives you.

You won't come out an expert — that would be a ridiculous promise — but you will come out able to start rocking your own themes. You will have a solid understanding how the Drupal theme is structured, how the various templates work together, how to define regions, how to add your own targeted CSS files and scripts, use of subthemes, some good base themes to work from, how to do custom overrides of obscure, quirky or persnickety output using preprocess ... and you'll grok theming in such a way that even if you don't know how to do something, you'll know how to go about figuring it out, where to look, what to change, etc.

And because we're about to enter the age of Drupal 7, this presentation will be about these things for Drupal 7 (with some notes on how things have changed from Drupal 6). So this session could also be of interest to the experienced Drupal themer who hasn't had a chance to delve much into Drupal 7 yet.

Session voting is now open for DrupalCon SF, so if you think this session sounds helpful to you, or would be of use to the several hundred people new to Drupal who are expected to attend, please vote for my session, "Grok Drupal (7) Theming".

Thanks!

12 ways how not to "do" a conference

This was the garden outside of DrupalCon Paris
Montparnasse
DrupalCon main room
DrupalCon before Dries' presentation
DrupalCon Paris 2009
Gathering for the DrupalCon Paris photo

Having just returned from DrupalCon Paris 2009 with mixed feelings as to how I forged my own experience there, I thought I'd put down some thoughts on conference attendance and participation — what (not) to do.

  1. Don't minimize the jet lag factor.

    I had an 8-hour shift in going to Paris, and my first day there after touching down around 7am was pretty much lost in the fog. The second day was really my first day, and that would have been better spent having to myself to just settle in, check out my hotel neighborhood, find decent food, orient myself as to where the conference venue was, etc. As it was, I had to run off to the conference for my first day of meetings and such. I should have arrived a day earlier.

  2. Don't stay at a hotel beyond walking distance of the venue, if possible.

    My hotel was about 2 miles from the conference venue, which turned out to be a manageable walking distance. I'm not sure I would want to have more than a 40 minute walk every day, so I peg the limit at 2 miles. But walking is great!! What did I gain from walking? I got to see and experience Paris during my "commute" to and from the conference. I had no tourism time, so this turned out to be a daily pleasure, even when it was raining. And on the 2 or 3 occasions where I needed to cab it for time, it was a short jaunt. (On the other hand, when I stayed in Barcelona, I was 40 minutes away by train, and that was a royal pain. It worked out because I had plenty of food and drink in my hotel area, and the conference was in a rather barrenly industrial part of town.)

  3. Don't upgrade critical laptop software the day before leaving.

    I upgraded to Snow Leopard the day before, and I thought I was all set. Testing revealed no apparent problems that were critical. However, once in Paris I discovered that the slideshow I created in Keynote for looping on the pingVision sponsor's monitor at the venue would not export properly to Quicktime. (See related post, linked below.) I spent an entire day struggling with this. A day lost. Big #fail on my part. Never again.

  4. Don't eat the hotel food.

    Look, do you eat at any hotel restaurants where you live? Enough said.

  5. Don't bring the 17" laptop, no matter how much you love it.

    My back is killing me from carrying not one full-sized MacBoo Pro, but two — one to play the looping slideshow. Today I'm practically paralyzed with back pain. Next time, it's a netbook (or the rumored Apple touchpad) or just a smartphone.

  6. Don't figure you'll be able to meet up with someone later.

    When you see someone you want to talk to, stop and talk. Right then. Don't wait. Of the half dozen or so people I ran into when I was intending to do something else and we promised to talk later, I talked with none of them later. The event may be a week long, but that is over quite suddenly. Talk to your friends, acquaintances, colleagues and other people you want to meet up with whenever you can. Be spontaneous!

  7. Don't blow off the parties, no matter how tired you are.

    Some of the best conversations I had last week were at the "brown bag" party that just kind of happened on the Left Bank. The restaurant designated for meeting was too expensive, but that didn't prevent a fun party in the plaza right there. You couldn't know that in advance, either. In the past, I've been one to choose rest or work over socializing in the evenings of conferences, but that's been my loss. I don't particularly like loud bars and despise crowded meet markets, but there's nothing like conversation over coffees or beers or wine or a fabulous meal!

  8. Don't forget about global data roaming.

    I bought a 50MB plan that more than covered my email and Twitter needs for the week on my iPhone. However, I noticed that when you sync your iPhone to iTunes, your global data gets turned on, even if you had it turned off. And if you had not planned ahead with a global data plan for the month, you could find yourself in for some surprising and onerous charges.

  9. Don't get too wrapped up in your own shit.

    I don't know about you, but there's always stuff going on that demands my attention. Scores of "real" emails every day. Text messages. Phone messages. Project management issues. I let myself spend too much office-style time on those things, which prevented me from seeing far too many sessions. This is the biggest #fail on my part. You're there at the conference to meet up with people, connect with friends, learn what they're up to and discover new things. Your own stuff will be there after the session. Go to the effing session already!

  10. Don't leave too early.

    Some may consider leaving early to be fashionable, like leaving a party. Some may consider leaving early to be expedient, figuring there's little of interest at the end of a conference. I left too early because I got my dates mixed up. I ended up missing the code sprint on the last day. If you've never been to a Drupal sprint, then you're missing out. At DrupalCon DC, it was my favorite day where I finally got to interact with others and even work on some templating code. Missing out on all that in Paris was a major bummer for me.

  11. Don't neglect learning which is your airline's terminal.

    United's website did not tell me which terminal their flights departed from. United's reminder emails did not tell me either. So when I got to Charles De Gaulle Airport, I did not know where to go. The taxi driver either did not know or took my ignorance as an opportunity to inconvenience another foreigner, and dropped me at Terminal 2. Apparently the managers of that airport did not feel that identifying airlines on their maps was necessary. That airport is pretty confusing when you don't know what you're looking for. A helpful person at an information counter explained to me that my taxi driver had dropped me at the opposite end of the airport from where I needed to be. 30 minutes later I finally got to the check-in counter. Next time, I will not be so complacent.

  12. Don't forget about the post-con blues.

    It happens to me every time. I get down after the event, after riding a week on all that energy and excitement. And when I get down, I run through my regrets -- the people I didn't meet, the dumb things I said, the food I shouldn't have eaten.... The blues are blue enough without all that extra baggage. Which is why I'm writing this blog post. I want to savor the joys, and not get distracted by regrets. Therefore: these notes, mostly to myself, for next time.

I'm glad I didn't manage to fail on all these counts this past week, but I really need to work on my conference attendance planning and not just my conference presentation planning. I will do better at DrupalCon San Francisco!

Do you have any other conference attendance suggestions?

When your hotel is in Cambridge

math forumulae
When your hotel is in Cambridge
When your hotel is in Cambridge
When your hotel is in Cambridge
When your hotel is in Cambridge
When your hotel is in Cambridge

...you might expect to see in the hotel a bedspread like this. Kate told me immediately that she could define each one. Of course I felt like a mental mouse.

So here's a challenge: What do these formulae mean? (And John and Rad, you can answer only one -- give everyone else a chance!)

Quite an auspicious way to kick off a week of Drupal, I'd say.

Get yer yayas out! DrupalCon propsals deadline approaches

Drupal developers, designers, administrators and users, the time is now to submit your session proposals for DrupalCon Boston 2008.

There also are some discounted hotel rooms available, but the pricing is available only until February 18th.

Are you going to Boston? If you're not sure, consider this: You will be with nearly 1000 Drupal aficionados, including many luminaries in our Drupal community. If you have any interest and even just a smidge of passion for Drupal, and if prior DrupalCons are any indication, you will come away with a real buzz, with new knowledge about all sorts of things Drupal, with new business and social contacts, and perhaps a few new lifelong friends. For me, it's fun matching Drupal handles and faces, and wonderful to hear the voices behind what for most of us are just typed words in IRC, emails and forums.

I went to OSCMS 2007 and DrupalCon Barcelona 2007, and both times I came away with a real high. DrupalCon Boston 2008 stands to be as big as both of those combined, and with the Drupal 6 launch coming any day now, this is going to be the Drupal event not to miss!

Hope to see you there!

¡Bon dia des Barcelona! (Things I would have Twittered if I had had the time.)

The street festival -- wow!
The DrupalCon Barcelona banner
The common room
Jeff Robbins and Nate Haug of Lullabot
Dries Buytaert, "The State of Drupal"
Quiet street
Bands, puppets, lots of visual and aural noise
The floats sprayed fireworks on everyone
A float driver
Streets packed
Child drummer

Sunday night, 8:35pm
foundnd passport that has been missing for several months.

Sunday night, 8:35:05pm
realized that I can now go to DrupalCon Barcelona 2007.

Sunday night, 8:36pm
opened up Orbitz, Expedia and Travelocity to look up airfares....

Sunday night, 8:42pm
agonizing over how much they've gone up.

Sunday night, 11:38pm
bought round-trip plane ticket.

Sunday night, 11:47pm
realized that I am indeed going to Barcelona. The usual pre-travel anxiety is setting in. Ack!

Monday, 10:57am
trying to do all the things that I would have taken a week to do, had I had a week before leaving.

Monday, 5:00pm
managed to cover the entire todo list. now going for essential manicure/pedicure.

Monday, 5:05pm
Reveling in the foot bath and massage.

Monday, 6:12pm
got home and had a glass of wine.

Monday, 7:23pm
started packing.

Tuesday, 12:35am
stopped packing. (Not finished, but somewhat close. I'm terrible at packing.)

Tuesday, 4:45am
got up and showered

Tuesday, 8:05am
got through Denver International Airport security. Not much of a crowd but we had to walk all the zigs and zags of the line. Disneyland.

Tuesday, 8:45am
sat down for a Wolfgang Puck pizza. Just about the earliest I've ever eaten a fresh-baked pizza!

Tuesday, 10:45am
Wheels up.

Tuesday, 3:45pm
Landed in Philly.

Tuesday, 4:10pm
Walked a mile through the airport to the international terminal. Thankfully all behind security.

Tuesday, 4:30pm
Airline agent okayed my first-class upgrade request. Now $500 poorer.

Tuesday, 6:17pm
Taking my seat in first class. A glass of champagne and four feet of "legroom" ... Not regretting those $500 one bit!

Tuesday, 7:05pm
Plane still has not taken off. Apparently a radio is defective.

Tuesday, 7:20pm
All passengers were offloaded from the plane. We're told we can get $10 off for "dinner" at McDonald's down another terminal.

Tuesday, 7:45pm
Stopped at a restaurant after walking a mile. Ordered a wine and salmon dinner.

Tuesday, 8:30pm
Airline has changed estimated departure from 9:30pm to 10:30pm.

Tuesday, 8:32pm
Airline worker just announced that they may not be able to fix the plane and have to cancel the flight.

Tuesday, 8:36pm
The plane has been fixed. Everyone is crushing back onto the plane.

Tuesday, 9:15pm
Plane is getting in line for take-off.

Tuesday, 9:40pm
Wheels up.

Tuesday, 10:15pm
Looking forward to more wine and filet dinner.

Wednesday, 1:00am
Reclined almost flat. Going to sleep now.

Wednesday, 11:55am
Touchdown in Barcelona.

Wednesday, 12:35pm
Wow! Passport check was fast, my bag came around the conveyor quickly, and customs just ignored me as I walked by. Getting a cab.

Wednesday, 12:50pm
A taxi driver has grabbed my bag out of my hand. I guess he's going to drive me where I'm going.

Wednesday, 1:45pm
Despite the address and Google Map printout of the destination, the driver is lost.

Wednesday, 2:10pm
Driving up and down streets, I saw the DrupalCon sign. The driver stopped in the middle of the narrow street. I've arrived!

Wednesday, 2:15pm
Realized I am seriously jet-lagged.