So I am finally back from Boston, and have slept off the jetlag and DST change, so I can finally get caught up on writing about Drupal's latest foray into the world of conventions. Sadly I had trouble with the wireless at my hotel as well as at the convention center, so writing anything up before now wasn't really feasible. Drat.
I was actually a bit disapppointed at this DrupalCon; so many amazing talks, and I only managed to see a quarter of them! Hopefully the videos will be online soon, so I'll be able to see what I missed.
I also had an entourage this time. Three of us from Palantir were in Boston; myself, George DeMet, and Tiffany Farriss. We arrived Sunday, the day before the conference. What is a bunch of geeks to do right before a major conference? Eat, of course!
As it turned out, we were staying in the same hotel as Dmitri Gaskin, the boy wonder. After settling in, the Palantiri met up with Yoda and the Padawan Patrol (that is, chx, Dmitri, and Charlie Gordon, plus Dmitri's dad) to head out for dinner. We ended up at a very nice Italian restaurant, wherein we ended up discussing install profiles-as-modules, "how I ended up in web development", the mess that are breadcrumbs, Drupal's issue with breadcrumbs (two entirely different things), the business of open source, social networking, community, and existentialism. Yes, that all actually made sense in context. You just had to be there.
After dinner, chx had a NowPublic event to get to so the rest of us dropped Dmitri's dad off at the hotel and went to walk Charlie over to his hotel, where he was staying with the ofChaos family (Earl and Lynette Miles and the ever-adorable Sprout of Chaos, who is now walking!). Naturally we couldn't just drop him off without saying hello, so we wandered up to their hotel room for a bit. This turned out to not be the best idea, as we ended up staying for a while. George and Tiffany eventually left, but Dmitri and Charlie got into a card game and I ended up in a very bizarre card game with the ofChaoses and some of their friends from the area called "Berserker Halflings from the Dungeon of Dragons". B-movie meets card game. Hilarity ensues. So did a much longer game than any of us anticipated, so it was quite late by the time Earl finally won. (Seriously, a walled city and a moat, protected by a Reluctant Ranger? How could we beat that?) At least Dmitri and Charlie were able to get in some time to work on their GHOP presentation.
By pure coincidence, Adam Light and Chad Phillips were staying right next door. I hope we didn't keep them up up too late.
I also got a look at the latest work of Dmitri and chx, a usability improvement to the Sea of Infinte Checkboxes (aka the Permissions page). It's actually rather cool, and I'm curious to see if a general solution can be made out of it. Check it out.
The Palantiri shared a cab with Dmitri over to the Boston Convention and Exhibition Center where they had rolled out the red carpet just for us. After registering and meeting up with various people that we only get to see twice a year and the usual "Hi, I haven't seen you since $last_conference!", I made my first stop the Usability Panel. A team of Drupalers had recently gone to the usability testing labs at the University of Minnesota Libraries to conduct some professional usability testing of Drupal. The results were surprising; Drupal is much more usable than we thought, and almost completely unusable at the same time. That is, "Taxonomy" as a concept and the sea of checkboxes that is the Permissions page were actually quite approachable. Even user management made reasonable sense. The concepts of "content", "fields", "forms", etc. however, were almost complete show-stoppers. In some cases, it took first-time tech-savvy users a half hour to figure out how to configure a node type. Clearly we have a lot of work to do in this area.
Of course, it's easy to get carried away. My gut feeling is that the answer is not to totally redesign the way Drupal handles "content" but to provide better (hideable) inline documentation and integrated tutorials. Drupal is a complex system, and by nature has a complex data model. I suspect it's a better investment to help pull people up the learning curve than to try and pound it down. We'll see what happens. See the Usability Group for more.
The next session was the opening keynote from our BDFL, Dries Buytaert. Some highlights include: Drupal 6 included 9425 patches from 741 different people, and was downloaded about 100,000 times in its first month. All of those numbers are roughly double that of Drupal 5. If you're considering being the Drupal 7 maintainer, think about what you're getting yourself into. ;-) Besides that, though, Drupal kicks serious ass but we need to work hard to keep up the momentum it currently has. We're not a household name. Yet.
Dries also threw down the gauntlet on three key areas: Redesigning Drupal.org, making Drupal 7 an even more killer release than Drupal 6, and fundamentally rethinking the way we think about everything. Much of the latter was actually a preview of the "Future of Fields" talk that I was part of on Tuesday, so Dries stole much of our thunder and then threw us all a curve ball by suggesting RDF-everywhere. He included a very compelling video about how mixing and matching RDF data from a variety of sources can accomplish some very impressive tasks. On the other hand, there was no discussion about the performance implication of RDF, nor the complexity it brings.
He also threw down another gauntlet: Code freeze for Drupal 7 is 15 May (yikes!), but if we can get really solid test coverage by then, we could extend as far as mid-October. If you want to contribute to Drupal but don't know how to start, write unit tests! If you don't know where to begin, contact testing maistro chx or have a look at the chart of what our current coverage is. That will buy us time to implement more coolness in Drupal 7.
Lunch was an adventure. 850 hungry geeks descending into one cafeteria at once is never good. I spent most of lunch standing in line with Jeff Eaton, discussing RDF. In short, RDF is probably a decent border protocol for communicating with the outside world, but as an internal data structure it's a bad idea.
After finally getting back from lunch late (like everyone else who was stuck in line), I managed to catch the second half of the GHOP session. Flexifilter sounds like an awesome tool (to steal Charlie Gordon's favorite phrase) that I'll have to look into in more detail once I start shipping sites with Drupal 6. GHOP has also now morphed into DROP, the Drupal Really Open Participation Program. Expect to see it on the drupal.org infrastructure soon. Awesome! :-)
My next stop was an update on Panels 2 and Nodequeue 2 from Earl Miles. Nodequeue 2 sounds like a great tool. Panels 2, I'm still holding back on for now. I want to spend more time with it myself before I recommend it as a part of the standard Palantir tool kit, plus it will be a while before it has a Drupal 6 version and we want to jump to Drupal 6 as soon as possible. (Plus, Panels 2 is still technically in beta.)
I ended the day not with another session but an impromptu chat with Garrett Serack, the Open Source Community Lead for Microsoft's Open Source Software Lab. Yes, you heard that right. "Microsoft Open Source Labs", and "Larry talking to a Microsoft rep". He even offered me a shirt that reads "reports of snowballs seen in hell". Microsoft is very keen on getting Drupal to run on MS SQL Server, and since I'm spearheading the rewrite of the database layer that made me a likely target for conversation. The new database layer is being written specifically to allow 3rd party database drivers in contrib for such databases, so we'll see what happens.
The job fair went decently, although as with the rest of the conference it seemed there were 10x as many people looking for people to hire than there were people looking to be hired. Afterward the Palantir team headed over to one of the various bars at which there were supposed to be networking events, but in practice none actually happened, nor could it in a cramped and loud bar. I ended up leaving with Barry Jaspan and some others to discuss our "Future of Fields" Data API talk on Tuesday over Thai food. Unfortunately it ended up being very spicy Thai food thanks to the stealth peppers, and my throat wouldn't forgive me for days. Ah well.
Day 2 started with the aforementioned "Future of Fields" session. A month ago, Palantir hosted a half-dozen leading developers to ponder en masse the "Data API" question. This session was our opportunity to present our findings and final report. It seemed people were really psyched about the idea, even if Dries' keynote stole some of our thunder (we reached the same conclusions regarding remote data being the future of Drupal). One problem we did have was people kept asking questions, so many in fact that we didn't get to finish the presentation itself. That was actually a problem in several sessions. Note to self: Next time, don't allow questions until the end.
Tuesday's keynote was a double-header by Chris DiBona and Leslie Hawthorne of Google. Chris is their open source lead. I've seen him speak before and he's a good speaker, although this time he was trying out a new presentation on open source in general. While it resulted in a couple of good quotes, I don't think it went over as well as it could have. Leslie, however, stole the show. She now runs Google Summer of Code and GHOP, and credits her current competence to our very own Angie "webchick" Byron, who is one of the best motivational speakers/IRCers ever. She also is responsible for the best summation of Drupal ever: Drupal makes sandwiches happen.
After another lunch adventure I spent most of the next session talking to other Drupalistas in the hallway about the usual subjects. (More videos to watch. *sigh*) That was followed by a BoF (Birds of a Feather, a totally stupid name but a standard nonetheless) on the new database API. It was a bit surreal. We ended up with 20 people standing around a single table, with the people speaking the most being Dries, Earl Miles, and myself. It's always weird to find myself in that sort of company.
Because of the BoF I was also late to John VanDyk's Triggers and Actions talk. I know I have more to learn here, but I fear it's a feature that will simply slip off my radar, to my detriment. Must learn more!
For dinner, I joined the soon-to-be panelists for the Drupal.org redesign (which included Tiffany, my boss) for dinner at a nice Vietnamese restaurant where I took notes while they pondered what exactly to say. From there we headed down to Felt, the night club where Acquia was throwing a nifty shindig for the Drupalistas. The highlight was a performance by Orbit, the band of Lullabot co-founder Jeff Robins. Some of those present were fans of Jeff before he was famous. ;-) The concert also included the first time I have ever "moshed". It was, of course, to the Drupal Song. What else would it be? I didn't spend much time dancing after the main show, which is unusual for me, but it was still a good evening.
Day 3 began with the testing team's presentation on SimpleTest. After working with chx on the database API some if it was already review, but it was still good to see in a structured form. We really do need to focus more on testing in Drupal 7. Testable APIs are better APIs, and we need better APIs.
I spent most of Wednesday not in sessions but speaking with James Vasile of the Software Freedom Law Center. The SFLC is providing legal council to the Drupal Association, and as Director of Legal Affairs for the Drupal Project (really, the title sounds a lot more impressive than it actualy is) that makes me our contact. It was a good talk, and we got a lot done on behalf of the DA.
Ironically, at one point I mentioned that we should talk to John Resig from jQuery. Not 10 minutes later, who do we run into in the hallway on the way back from lunch than John Resig of jQuery! John joined us for a little while, to discuss how jQuery fit into the legal picture. He's a nice guy in person, too. (Seems to be a common attribute of major open source project leaders.) Eventually chx found us and bowed down before him before posing for a picture. Of course, fool that I am, I took a picture of the two of them but didn't get a picture of myself with John, so I have no evidence. I did meet him, really!
I did manage to squeeze in another session, this one on Flash and Flex-powered Drupal sites by Brian McMurry and Steven Merrill. It was similar to a presentation that they gave at DrupalCamp Wisconsin a few weeks ago, but more structured and polished. After that was the Drupal Association meeting, which kept me up way into the night. (Well, so did hanging out in the bar with everyone afterward, too.)
I was torn on what to go to Thursday morning, but eventually decided on "Information Architecture to Drupal Architecture" by Owen Barton. It was good to see "good practice" laid out in a sturctured fashion, and also good to see that I've been leaning in the right direction myself. Now, to convince clients of that...
I started the next session at the Drupal site showcase, but left part way through to catch the second half of the Drupal.org redesign panel. Naturally I caught the part about money, not workflow and RFP. Ah well. Hopefully there will be a video. Over lunch I ended up chatting with some folks from the AIIM conference that was being held in the same location, and swapping business cards. There wasn't as much of that as one would expect with two conferences next to each other, but c'est la vie.
After lunch was the Drupal Association Panel, my second on-stage performance of this DrupalCon. It was actually a fairly small crowd. I guess people are starting to get used to the idea of the DA, so were less interested in another "hi there!" session. Once again, there were a lot of questions which resulted in us running late and into the final session of the conference for me, "Zen and the Art of Drupal" by Jeff Eaton and James Walker. I can't wait for the video for this one, because it's a session everyone should see. They covered, in a superb tag-team fashion (you'd think they work together or something), Drupal's rise to power over the past 3 years, the concept of accumulated code debt, and the underlying philosophy that will carry Drupal through the next big wave of growth:
- Code is for people.
- Loose coupling means happy code.
- Love your hacks.
- Layers protect you.
- Simple means less.
- Drupal is a conversation.
There were no lolcats, but there was a cute baby in a snow angel.
The closing plenary featured a beachball (don't ask) thanks to the Sponsors (thank you!), assorted funny and embarrassing stories, and an extremely impressive slideshow of the thousands of pictures now on Flickr. I'm not sure what software they were using, but it was highly cool and zoomy (technical term). Afterward, most people drifted away but some were too tired to move. So instead they just lay around for a while regaining their energy before some of us headed out to the fancy Drupal Association dinner with the Platinum sponsors. Of course, Adobe and the Knight Foundation didn't send anyone, so it was just the Association, Acquia, and PingVision. (Thank you again to all of our Platinum sponsors!)
The code sprint on Friday was not at the convention center but at MIT's Stata Center, the least logical building ever. (It's their AI research building. Insert your own joke here.) The main push of the day was more SimpleTests, although I spent most of the day working on the database API with Barry Jaspan, who agreed to write the Postgres driver (and found lots of bugs in the process). Actually, that's not entirely true. I spent most of the day tracking down a decent wireless connection, as we managed to overload MIT's network, too. We had to spread out all over the first floor to even get connected, and I couldn't hold a connection in most places. Most people ended up in clumps, with obvious consequences.
Irony: I first started on the database layer a year ago, at the code sprint in Sunnyvale. About 5 lines of code traces its origins back to then. :-)
And so ends another DrupalCon. Awesome! (Well, not awesome that it ended, but you know what I mean.) I'm stoked for Drupal's next conquest of the Web, and there seems to be a clear direction for how to make it happen. At least, I think there is. While some parts of the conference ended up being a bit rough, mostly due to its late organization, it was in the end a success, and I'm looking forward to the next few thousand lines of code we can write, and throw away in refactoring.
Until next time, in Europe... Happy coding!