Ever since the Drupal community started holding national regional conferences, dubbed DrupalCons and DrupalCamps, there has been a perception that design, usability and “theming” (i.e., managing HTML, CSS and JS output) were afterthoughts. And, to be honest, that has been true for many camps and conferences – while developers were geeking out on advanced Views API usage and performance tuning, those looking for a design focus were often left with introductory theming sessions. As a result, a group of like-minded individuals got together and started the Design 4 Drupal series of conferences, aka “D4D”, with the first held in 2009 at Boston’s prestigious Massachusetts Institute of Technology.
While this was far from my first Drupal-focused conference, it was my first D4D. I attended this year to see a bit more than the usual camp fare, and some of the case study sessions sounded particularly interesting. And, to be honest, it was also my first chance in some time to catch up with some old friends and put faces to Twitter names.
Alas I arrived too late to see the keynote, but I heard from several attendees it was quite good. While waiting for a session to begin I first worked on Metatag a little and chatted with some attendees.
The first session I attended was focused on front-end performance. I had seen a session or two on this topic before and was interested to see how things had changed over the past few years. The session started well enough, highlighting the fact that only a tiny fraction of a typical page’s total load time was at the server level, but then went on to spending too long on backend performance, e.g. Views caching, and not enough on the *front-end* part of performance. Between today’s focus on “mobile-first” strategies to ensure mobile phone compatibility with the latest ‘n greatest marvellous designs, advancements in the HTML specifications which could aid with front-end performance (e.g. the local storage in HTML5), improved aggregation techniques (e.g. Advanced CSS/JS Aggregator), lazyloading techniques, optimized JS framework generation, etc, etc, there are a lot of improvements that can be made to an average Drupal ste, so I was disappointed these were not broached. During the few minutes of Q&A time, one attendee asked about the Advanced CSS/JS Aggregator module but the presenter showed very little knowledge of it, which is odd given its definite potential to improve most Drupal sites.
The next session I attended was a case study from a group of designers, site builders and others who had worked together on a project for a national non-profit organization. The presenters discussed how they broke down the various portions of the site build, how they worked together, and how they were able to juggle the demands of building a responsive, good looking website with a small budget and little time. A key aspect of the project’s success appeared to stem from the client’s willingness to accept solutions that weren’t perfect, i.e. “good enough”, rather than examining the site with a magnifying glass, thus accepting that a launched site which was 80%-90% aesthetically perfect was far better than what they previously had. Several interesting ideas came out of the discussion, including some techniques to help clients work with prototypes & other design tools. What was particularly interesting was how a few attendees built custom greyscale base themes that they used to prototype websites to aid their clients’ abilities to consider what they’re seeing as being unfinished work rather than starting to consider pixel perfection, with some even going so far as to build everything to flow horizontally rather than vertically!
The last session I attended was another case study, this time for a college’s web development group. The developer’s team were tasked with building a web infrastructure to support the college’s varying needs, but to keep a consistent look & feel and share some common elements across all sites. Rather than building one mammoth website to house everything, and using maybe Organic Groups, Workbench Access or Domain Access to split up the content & permissions, they just used a multi-site with some shared PHP files to manage the shared footer. It was interesting to hear how this college’s needs pushed the team to choose the solution they used, as compared to other groups who went in very different directions based on only a small variation in the requirements.
One of the best part of conferences are the “hallway tracks” – where you bump into someone and have an impromptu, detailed conversation about a topic you’re collectively interested in. Just before lunchtime I bumped into Stéphane “scor” Corlosquet, one of several people who have been leading Drupal’s support for microformats and semantic data structures. We discussed my work on Metatag and some bugs in core that affected the Open Graph tag compatibility when the RDF module is enabled. After that we continued on to discussing support for Schema.org and other microformat systems in Drupal 8 core and Drupal 7 contrib, and that more emphasis should be placed on them as they have tremendous potential to shape the findability of our site’s content.
Most interesting of all was Stéphane mentioning a new graphical tool he had a Google Summer of Code student working on that would allow automated creation of data structures to fulfill specific needs. An example would be an event - many sites need a way of storing details about events - location, date & time, parking, ticket prices, etc; rather than custom building the same structures every time, this tool would provide a quick way to build the necessary content types & things and automatically be configured to output the appropriate microformat data, all without the usual days and weeks of haggling with clients over exact needs. I personally can’t wait to see how it turns out, and to see how it could be leveraged with Metatag.
While I did not get to attend a great many sessions, it was a very good conference, and it was great to see many of the community’s leading designers, IA and UX specialists, and thinkers, get together to bounce ideas around. I look forward to attending again next year!
Better CSS / JS Aggregation with Advanced Aggregation | Mediacurrent Blog Post
Responsive Web Design Using Sass | Mediacurrent Blog Post
How to Start a Drupalcamp| Mediacurrent Blog Post