WordCamp Nashville

A couple of months ago, I attended the two-day WordCamp in Atlanta, and when I learned a few weeks ago that there was to be a WordCamp in Nashville (about three hours from home), I snapped up a ticket. This was Nashville’s first WordCamp and seemed to be a great success. I had signed up to help staff a happiness bar in the afternoon and so wound up attending only two sessions. My notes follow.

The Blank Screen: Overcoming Fear of ‘Pressing from Scratch’, presented by Mitch Canter.

I had actually heard of Mitch before via a local contact and was curious what I might learn from him about starting a WordPress theme from scratch, something I’ve never really done (being not at all gifted with design talents). Although he had some slides and some high points he wanted to hit, Mitch offered a pretty informal, somewhat discussion-driven format, and it worked well. He was funny and engaging, a very capable speaker. The high points I jotted down from the session:

  • Designers have to work with their developers before putting a design on the screen; else you wind up making beautiful things that the coder may not be able to implement.
  • If you’re working with the 960 grid system (something I didn’t know about), check out 960.gs, which gives you Photoshop templates for creating layouts more efficiently.
  • Establish a process/framework to speed up dev, to build a comfortable flow for your work, etc. That is, condense repeat actions into a formal set of processes/templates/etc. so that you’re not actually starting from scratch each time you start from scratch.
  • Mitch tends to start with static html pages (with lorem ipsum type content) to do most of the design outside of WordPress, and then he goes back in and substitutes in loop functions just before he pushes content to the client’s servers. I asked about local dev environments like XAMPP, and he said he also uses/advocates those. As XAMPP/etc. may be a little more technical than some designers are able to deal with, the static build may be reasonable for some.
  • He mentioned using github to deploy changes to his parent theme framework, though it wasn’t clear to me why that was terribly significant. I think he uses github over the core plugin/theme repository because he has some MIT-licensed components.

Child Theme Frameworks, presented by Ryan Green.

Ryan is the head of UX+UI at cjAdvertising in Nashville. He gave a much more structured talk than Mitch, and it was full of good information for any new to the notion of child themes. After defining UX (sort of the nexus of design, interactions, usability, and analytics), he made sure the room understood what he meant by a child theme and a framework and then jumped into the advantages and disadvantages of using a framework. Advantages:

  • You start with a bulletproof theme.
  • If you break something with your child theme, you just delete/disable it and still keep all the core functionality of the parent while sorting out what went wrong. In other words, it’s sort of like working with a net.
  • You can roll multiple themes from one parent. He gave the example of a seasonal theme for a given site. If you have your core functionality in a parent theme framework, then you can just override the styles, etc., in the child themes and swap those out easily with little risk to how the site actually works. This is obviously an advantage if you do lots of work within a vertical market that tends to require rubber-stamped functionality but varying designs.
  • If you’re using as your parent theme one that’s updated via the core themes repository, you can keep up to date easily with security patches at a reduced risk to the site’s functionality. One nasty alternative is to hack your parent theme locally, in which case updating becomes a pain and exposes your site to vulnerabilities. Extending a parent theme lets you keep up with updates while managing your changes to the theme within the child.
  • You may need to know less PHP if you go this route. That is, given a parent theme that has all the functionality you want, your child theme can simply replace the style sheet, which lowers the barrier to entry for designers who aren’t comfortable wrangling PHP code.
  • Visual design principles can be baked in. So if you find yourself working always within the 960 grid system, you choose a framework that adheres to the 960 principles and save yourself some grunt work.

Now for the disadvantages:

  • You can get locked into a nightmare theme. So maybe you’ve picked a dud but don’t know it until you’re halfway through a project whose core functionality depends on the theme you’ve chosen. Bummer.
  • If you choose a minimalist parent theme, you have to do more design work. (This struck me not as a disadvantage of the practice of using theme frameworks but more as a caution to choose your parent theme wisely.)
  • If you choose the wrong parent theme, you can be bitten by code bloat. That is, some themes that try to be all things to all people add so much extra stuff that they might not really be suitable for your purposes, while adding surface area for vulnerability and performance issues. This, again, is more a caution to choose wisely than a compelling reason to consider rolling a custom theme for each site or rubber-stamping an established theme rather than making a child theme.

Next, he talked about what makes a good theme framework:

  • It respects the grid (has consistent spacing, uses a common grid system, has a clear visual hierarchy among elements).
  • It uses modern code like HTML5, CSS3, jQuery, etc.).
  • It’s easily remodeled. By this he meant that widget areas, nav areas, and so forth can be easily moved around and tweaked. These themes use what Ryan called the “House-Hunters approach” — the theme is essentially move-in ready.
  • It demonstrates a concern for usability; it’s responsive, IA-friendly, works well for those with disabilities.

A few frameworks he’s used:

  • Genesis
  • Thematic
  • Thesis
  • Stumblr
  • Others: Skeleton, Starkers, Whiteboard, Roots, Bones

I’m too lazy to find links for them all. Advantages these generally had in common were that they tended to already have lots of pre-made child themes you could riff on and they’re tried and tested by thousands of users. Thematic (by Automattic) makes it easy to change layout. Genesis has a standard top-nav layout and is generally more corporate out of the box. Thesis has great typography and is optimized for fast load time. Stumblr has minimal configuration options, a Tumblr-style layout, and is very content-focused. He didn’t mention the _s theme recently published by the Automattic theme team, though I didn’t ask  why; maybe it’s too new for him to have looked at much, or too bare-bones (by design) to be generally useful to designers who need a more fleshed-out template for a starting point.

I didn’t jot down any of the questions Ryan fielded, but there were several, and I thought this was a very good session overall — not terribly advanced stuff but a great overview for designers who may not have had much exposure to the concept of child theme frameworks.

The Afternoon

I spent my afternoon in a little cafe area between the rooms designated for the user track and the developer track. Ostensibly I was there to staff a happiness bar to field any questions people had about WordPress, but nobody asked me any questions. This may have been a sign that the sessions were really well suited to the audience, that people were reluctant to miss a session to ask anybody anything.

I did sit and chat for a good long time with Rami Habal, VP of Product with event sponsor wordnik, which I’m going to test drive a bit because it looks neat. We chatted natural language processing, he demo’d a WordPress plugin they’re working on in beta, and it even came out that he had been a Flock user. I also chatted with one Cindy Wall, who works with the Belcourt theater in Nashville and turns out to be a Moby-Dick enthusiast like me. I actually shoehorned myself into a discussion by these two by showing off my goofy little Moby-Dick word frequency analysis site, which married some of the sorts of things wordnik does with some of the literary stuff Cindy had been talking about. And, oddly enough, it turned out that Cindy had run across a blog of mine in her recent searches pertaining to Moby-Dick. So it turned out to be a small world in Nashville this weekend.

Miscellaneous

This was the third WordCamp I’ve attended, and in terms of sessions, it was for me the best so far, even though I attended only two. Sessions at the other two have been more mixed for me in terms of quality, but both I attended this weekend were very solid.

Registration went smoothly for me. It seemed like a few people slipped into the first session a little late, but that may well have been as result of their own tardiness and not of any registration snafu. The shirts and badge/schedule thingies looked great. WPEngine provided little swag bags including a pretty nice little notebook that I actually used to take my notes. There were free muffins from a local eatery and free coffee from I know not where. You had to fend for yourself for lunch, but there were a couple of restaurants within very reasonable walking distance, and the organizers had negotiated coupons to get a discount on lunch. The barbecue joint does catering, so I did wonder why they hadn’t just had lunch brought in. I suspect the venue didn’t allow food in the classrooms we used, or perhaps adding catering to all the other organizational hurdles for a first-time WordCamp was just too much. This isn’t a gripe — just something I wondered about.

With just two concurrent sessions at any given time, we used two classrooms, and it turned out that the developer track was a lot more popular than anticipated, so the developer room was standing-room only for both sessions I attended. This wasn’t a bad development, and it’s certainly something the organizers will learn from.

Even though I didn’t get to attend many sessions, I had fun at this WordCamp. I think Nashville had a great first time out, and I’ll look forward to going back next year.