One thing I appreciate about Drupal is that it attracts fantastic people. Every time I attend a Drupal event, I know I can grab some random person to chat with (which I often do) and end up in an interesting conversation, and the DrupalCamp in Victoria BC was no disappointment. The event was held in the offices of NorthStudio, a web dev / marketing firm and training facility. I judge a venue selection successful when the rooms are just barely big enough to fit the audience with standing room only, and the two rooms chosen for the presentations were perfect in this respect. Because the the rooms were their training facilities, everyone seated had a shiny Mac computer (running Windows) they could use to follow along with.
While I tend to gravitate towards lobby-talk during presentations, I caught most of several presentations that were quite interesting, and heard good things about the others. Here are some highlights.
Open Layers with Patrick Hayes. Open layers is a Drupal module that allows users to generate layered maps, with virtually any base layer (Google maps, Yahoo maps, NASA, etc). You can draw geometrical shapes and save them as nodes, as well as traditional points. After chatting with Patrick and Charles (his business partner over at GeoMemes), I heard my first ever argument for using PostgreSQL over MySQL. In summary, MySQL's support of geographical calculations and indexing flat out doesn't compare. Good to know. The demo was compelling and well presented, and makes me really excited to have a reason to use Open Layers.
Information Architecture, Design and Theming. Tom James and Alex Ventpap from Image-X gave a dual presentation on tips for designing, including wireframing, using Photoshop effectively and handing the finished design off to the Themer. I now have a few new Photoshop tricks up my sleeve, like make repeating backgrounds vector graphics (they're smaller in file size and expand more cleanly), clear your cache every once in a while to free up RAM, and a bit I need to follow up on about how you can minimize the file size of your PSD with a couple minor settings. After Alex's coverage of design, Tom took over and gave some good tips about theming, including using Aegir for deployment, minimizing theme customization by starting with a custom theme and using version control.
Next, Vanessa Turke, another member of the Image-X team, presented on information architecture (IA). She managed to cover a ton of stuff in a really tight time slot. A couple bits I took from it is 1) If your client doesn't buy into IA, and you can only spend a little time on it, then find out what the primary goal of the site is. I know from experience that you can't get far without that bit of info, but it's good to hear an IA expert say so. Also, Vanessa stepped aside to let a really fun, enlightening video about the typical web user play through. The video was a set of street interviews where the interviewer asked 'What is a browser?'. The bottom line was that you shouldn't overestimate your audience. They tend to not know what the **** they're doing, so you have to help.
Dan Howard with a bag of Developer tricks: This presentation was particularly cool because I'd just recorded a series of Drupal training videos for new developers at Build a Module.com. Dan covered a lot of similar topics, and it a spookily similar way. It's strange how even though each developer is different, we all develop a common set of tools and strategies (and mistakes).
Drupal Development Evolved!
Finally, I had a great time presenting a session called "Drupal Development Evoloved!" The core of the talk was meant to give new and intermediate developers a grasp of the tools that they might use someday soon to improve their workflow. Afterwards, some of the attendees suggested that the scale could be used to help people explain where they are in their personal development. The scale is based loosely on the number of sites one has built, but I discovered that some people find it more effective to use one of the strategies in the middle even though they've worked on many more sites. Here's the scale:
- 1st site: Download Drupal, install, download modules, install modules, etc.
- 2nd site: Copy the first site and gut it, use it again
- 3rd site: Create a base install and use this as a base (prevents embarrassing leftovers from copying and gutting)
- 4th site: Create multiple base installs for different kinds of sites (blogs, e-commerce sites, social networks)
- 5th site: Integrate team development
- 6th site: Share and collaborate using install profiles, Features, distributions and the like
The presentation featured many references to WebEnabled, a pretty groovy service I did a writeup on a while back and have more recently been doing some User Experience (UX) work for. At several of the stages outlined in the presentation, WebEnabled offers handy shortcuts and powerful deployment options. For example, instead of setting up a database, downloading and installing Drupal, you can just spin up a new instance of Drupal 5, 6, 7 or Acquia Drupal with a click. It sets up a shell account automatically for the application, so you can use an IDE like Coda or Komodo to work with the files remotely. Think Drupal Gardens for developers. It's pretty neat, if you haven't seen it yet, check it out.
I unfortunately wasn't able to record the session live, but below are the slides, and a dry run I did to get some peer reviews before the camp:
Overall, I was happy to make the 13 hour trip from Idaho to Victoria BC. I met a lot of great people, derived several insights form interesting conversations, and had some rather excellent sushi. Next year, I'm going to plan on sticking around a little longer to explore what I've been told is some of the most beautiful coastline in Canada. And I'm going to bring some extra garden burgers.