A lot like yesterday I came away with a good mix of feelings about the day's events. Ultimately the sessions definitely took a turn for the better. Most of the speakers were much more technical this time around, and I believe I was able to walk away from it all with some new development strategies using a good number of modules I've never used before. The "fantasy site" sessions really turned out to be a great resource. Maybe not so much for learning any specific functionality, but I've gleaned a lot from the speakers by the way they approached particular problems and the tools that they reached for first. For my long winded review of the day's events read on brave traveler.
Session Breakfast. Yes, I harp on breakfast. I like food. Today we were served egg and cheese wraps along with the standard continental fare. Again, it wasn't the most impressive breakfast but it served its purpose. Breakfast here at the conference seems to be one of the more social times of the day. Everyone's fresh, awake, and eager to start their day. Today my coworker and I met a bloke who works at a university maintaining administrative sites in Drupal. While he was a self proclaimed designer he was skilled enough to build his own Drupal themes, so it was nice to meet someone who offered the world around them a nice blend of form verse functionality. That type of skill is an important asset to a designer and the unit that they work for.
Session one, Keynote by Lullabot's CEO. The keynotes so far have been excellent. Jeff is another intelligent and articulate person that's great at speaking. The theme of today's keynote was Drupal's past, present, and future. The keynote speech really tried to tell the whole story of the development of Drupal to where it is today. In my short form, TL;DR version, the story goes something like this. Drupal was started by Dries in 2000 as somewhat of a bulletin board system to share information amongst friends. By 2002 Dries made the source code publicly available. Somewhere in an IRC room in 2003 a programmer looking to support Howard Dean's bid for president was searching for a CMS. When he asked what the best CMS for PHP was the reply was Drupal. Even though Dean didn't win the presidency things sort of started snowballing from there with numbers of Drupal users growing exponentially. Eventually some highly reputable websites were developed using Drupal and that brings us to where we are today, an Internet where 1.7% of all sites run on Drupal and people like me are attending Do it with Drupal keynote speeches.
The keynote's assumptions about the future of Drupal really echoed a lot of the content centric language that's been used so far at the conference. The gist is that the abstraction between content and interface continues to evolve. Internet enabled refrigerators, internet enabled lamps, internet enabled anything. What's important is that our data is structured, meaningful, and open so that all of these smart devices can make use of it in meaningful ways. Jeff believes that one day the conventional LAMP stack will actually be replaced by more of a LAMPD (or DAMP) stack that provides not just a platform to create a website, but a complete solution to create and maintain a website, possibly even embedded into smart devices at some point. When asked what he thought was the biggest challenge for Drupal moving forward I was a little blown away to hear his response. Of course there was the normal concern of the most valued and energetic talent leaving, but he also mentioned the Drupal community being a little "cult like." I actually got that impression as I've been trying to "enter" the community and even ranted about it on my blog, so it's nice to get a confirmation by someone who is much more in the know than I am.
Session 2: It's not your parent's web. The title of the session was a little awkward. Looking around the room you can see that a lot of us have been using and developing on the web since the 90s to varying degrees. This was an amazing session that taught me a lot about communication skills and public speaking. Firstly, sign posting is important. If you do not explain to your audience what you're planning on talking about or remind them when those things have been covered, it all seems to blend together into a bunch of loosely coupled spoken paragraphs. Rapport is also very important to build with your audience. It's recommended to start your talk with something that lets your audience relate to you, so doing something like mocking developers who think they're above HTML is probably not the best way to begin. Your speech should be full of meaningful content. When discussing the topics of your session like IndexDB and appcache these things should be explained with emphasis that correlates to their importance of your subject matter. Finally, as a speaker you are in a position of authority. Making poor assumptions about how facebook will leverage web sockets, or making emotional claims about the performance of HTML5 verse Flash that aren't technically sound should be avoided. Great session, really. I'll move on.
Session Lunch. Just not quite living up to the standards of yesterday's Flank steak. A variety of portabello sandwiches, ham sandwiches, and chicken wraps. The lunch was also noticeably less populated than it was yesterday, the room nearly felt empty. Other Drupalers had already broken off into small groups at this point and I found the lunch to be a little less social. That's okay because it would have been awkward for me to try and talk with all of those sandwiches in my mouth. No, really, I should really learn to stop and breath at some point during meals.
Session 3: the Pineapple store fantasy site with Ryan of the commerce guys. Ryan was nice enough to come to my blog last night and assure me that his presentation would meet expectations, and it did. This was the first session where I saw an actual hands on review of development. The fantasy site was meant to mimic the Apple store and heavily revolved around the Drupal Commerce module. During the session Ryan covered the history of Ubercart and why Drupal Commerce was a clean rewrite. He showed us the views slideshows module, went over how contextual filters work, and ultimately did a great job of explaining how a lot of pieces of functionality "snapped into place." Obviously the most interesting aspect of the session was how Drupal Commerce is a bit of a framework for creating a store. The concept of a "product" has been decoupled from nodes to provide a wealth of flexibility not just for site development, but for abstracting and making available data for other modules. During the talk he also gave a tour of the bulk add products module, shipping module, and payment module along with how he configured each. Great session where I learned a lot. The session actually ran out of time before Ryan had finished saying all that he wanted.
Session 4: Grouple fantasy site with Karen, maintainer of CCK/Fields. This women is such a gem. I mentioned in yesterday's post how friendly she was. She really breaks the stereotype of what people think a programmer is, and I have an amazing amount of respect for not just the importance of work she's done, but the quantity. According to the session moderator she's averaged 2.5 commits EVERY DAY for the past FIVE YEARS. Wow! This was also the first session so far of the conference where I saw actual code.
In Karen's session she covered a whole slew of interesting modules that really helped her push and mash the elements of a Drupal site into what she needed to recreate meetup.com. She also gave a brief explanation of how the new rewrite of organic groups in D7 works and how they were built to work best with panels as opposed to blocks. The node form settings module lets you hide node form elements. Display suite module lets you do some very interesting things in terms of creating different teaser types with different layouts in an interface similar to admin/structure/block as well as working with the variables you create in hook_node_preprocess. She showed us how she configured the heartbeat module to make a feed of user activity, and how she used devel_content module to generate ipsum lorem text to work with. My favorite part of her talk was her explanation of how hook_menu_local _task_alter() works and basically how it gives you control over the tabs on a node. This is something I've wanted to toy with before but didn't know where to start looking, Karen really clarified it for me! It should also be noted that she gave love for the features module, something I should really start taking advantage of.
Session 5: Druplr fantasy site. This was my favorite session of the day. It's a little unfortunate that the room was so empty, because the speaker, Joe, is very well spoken with a good sense of humor and a knack for explaining things. He's completely forgiven for his Ponies H[ 'el' || 'um' ]ping ponies joke from the day before. Unfortunately his fantasy site, a clone of Tumblr, was the least complete of the three fantasy site sessions I attended, but Tumblr definitely proposed some unique challenges when trying tro recreate it in Drupal and he was very ambitious in trying to recreate a lot of the features. Using the domain module it was possible to create vanity (sub domain) URLs and domain based permissions. There's a module named radioactivity that exposed somewhat of a "popularity" property of nodes to views. Other modules covered were filefield_sources to pull remote files, jCarousel similar to views slideshow, and the dummy image module that helps serve a purpose similar to devel_content. In addition to the modules used he covered what he called "Glue" code to get it all working together. Particularly interesting was how he made node titles optional by using patterns, how he hid node form elements by setting their ['#access'] key to false, and how hook_form_alter is now available in the template.php file in the theme layer.
Session Dinner, more local eats. I was feeling a bit lazy after a long day and opted for delivery. I ordered nachos and enchiladas from El Pollito. Just like last night the food was authentic, though not quite the same high quality as Queen Italian Ristorante the night before. The mole sauce was rich and flavorful, and the corn tortillas tasted fresh. Once again this is a great area for food, and I'll miss the culinary options when I head back to Albany tomorrow.
In summary, today was a much more in depth and educating experience than yesterday. I do wish the conference could have started this way as I feel like a lot of yesterday was a bit of a wash out. With the exception of the session I so sarcastically lambasted all of the speakers have been fantastic, capable, and professional. The moderators of each session do a fantastic job of keeping the ball rolling if the audience has no questions. The wide variety of hands on module reviews really helped extend my toolbox and there were a number of things from today that I look forward to downloading and implementing on my sites in the near future.
As always, I love comments in my blog. If you have a question, think I was wrong about something, missed something important, or just want to say hi, you know where to put it!