A First Timers Take On EECI2011
Published: 10/31/2011
Brain Dump
When I heard about the ExpressionEngine/CodeIgniter (EECI) conference back in July I knew I had to go. A multi-day conference where some of the best minds in the ExpressionEngine and CodeIgniter communities get together and talk shop can only be awesome.
The conference was held at the Invisible Dog Art Center which, simply put, is an amazing place to visit. The artwork hanging everywhere was a sight to see it really helped set a nice vibe for the conference. I don’t know art, not even a little, so I can’t critique any of it but the old expression, “I don’t know art but I know what I like”, comes to mind. Interesting surrealistic and modern pieces hanging on the walls, off the ceiling, in display cases and even on the floor were everywhere. Sean Smith, over at Caffeine Creations, has put together a really nice gallery of photos he took that’s well worth checking out.
The location wasn’t perfect by any means though; the bathrooms were pretty bad and privacy was a concern for some people. But, as far as my experience went everyone was mature (no pervs) and orderly (single file lines with room in front of the door for privacy) and respectful (no shoving, swearing or line cutting). Just what you would expect from a conference full of professionals.
Dev Days
Dev Days was an event where a whole bunch of ExpressionEngine developers (more than 150) got together to build a website in 12 hours. Developers were broken up into teams of around 10 people (on average) and were hopefully broken up by skill-set among designers, front end programmers and server side programmers. For the most part it seemed to work out pretty well; all but 2 teams completed the assignment and was able to present things on stage. That was very cool to witness IMHO.
But, one of the two teams that didn’t complete the assignment was mine and I wanted to take responsibility for that because there’s a lesson here for next year.
I wish I could blame the lack of wifi for the issues (I can’t). I wish I could blame the outcome on the fact we only had a 5 port switch to network 11 computers (nope). I wish I could blame the lack of sysadmin knowledge within our group for all the technical issues we ran into (nu-uh). Collectively, all those things amounted to minor annoyances only. No, the problem was hubris; I never thought to ask for help and considering all the brains walking around Dev Days, freaking offering assistance, that was just… well it wasn’t that smart on my part.
Honestly, when I initially heard about the project direction for Dev Days I got a bit discouraged; compiling a website is what we developers do almost every day and the thought of my paying money to build the same web site as others sort of killed my enthusiasm. I completely missed the point of the exercise and went into the Dev Days in the wrong mind set. In hindsight it was never supposed to be about the “project” but more about working among a group of peers (and, frankly, betters) and learning from one another. Oops.
Next year I’m definitely going to keep this experience in mind so I can soak up as much awesome from the others as possible. Not that I didn’t gain anything from Dev Days. Far from it. But I feel like I went to a premier sushi restaurant and only ordered California rolls and a Budweiser. There was so much more to be gained and I missed out on some good stuff had I just had an open mind.
A Personal Note About Missing Wifi
As everyone and their grandmother’s have complained about there wasn’t any wifi at the conference. The day that really could have used wifi, were I too pick just one, would be Dev Days but, nope, nothing there. A LOT of painful technical issues could have been remedied easily had there been wifi (scary how dependent we all are on Google for answers).
But, let’s be realistic; the costs of Wifi just aren’t practical for a conference of this size especially considering the low price of the conference. I may be wrong, so please do correct me, but I believe Robert (the event organizer) mentioned the cost for wifi to be at somewhere around $20,000 for the 3 day event. Split between the 300 or so participants and the tickets would have cost an additional $66 for each person (for 2 days of wifi for most attendees). And that’s assuming it would even be of a quality worth having and I, personally, have never been to a conference that had wifi of any realistic or usable quality. The venues just aren’t technically savvy enough yet.
Joel Spolsky has an informative post about his experience as a conference organizer when dealing with wifi quality. It’s well worth reading for a little insight into just how his experience has worked out and what Wooz! and Robert were likely up against. Basically, most venues aren’t that equipped for it a the level needed for a tech conference. Was it ideal to not have it? Nope. But, let’s keep in mind that there were options that were a hell of a lot cheaper than forcing everybody to spend $66 whether they wanted wifi or not for Internet services that worked better than most conferences could have provided.
Conference
The conference was broken up between 2 days and is what I was really looking forward to. Not the topics really; because let’s be honest, not knowing what the majority of the presentations were going to be about until the last minute pretty much killed any chance for building excitement about the talks. No, I was going completely off of the history of EECI that the talks, regardless of subject, would be awesome. And without a doubt I found them all to be worth watching even when the context was for things I don’t do like client side coding.
My personal highlights were from Paul Burton, Erik Reagan, Lowell Kitchen, Low (we can call you that right?), Jacob Russell and Greg Aker. Remember, I said personal highlights so this is by no means a condemnation on the other talks; I just didn’t get as much out of them as the above. Plus, to be perfectly honest, I missed a few what with being in New York for the first time, work responsibilities (why do client emergencies happen while on vacation?) and just not paying attention after the many liquid lunches and hung over mornings.
Paul Burton
First let me start by saying Paul’s was the rare example of a talk with a premise that I didn’t agree with but thoroughly enjoyed in content. The man can weave a tale, to be sure, and I could listen to him talk about pretty much any topic. Paul has a great speaking style. He made some very nice points in terms of fundamentals of running a successful self-employed business though I disagree that calling myself a freelancer is a bad thing (nomenclature absolutes are rarely a good stance IMHO). Regardless of that small distinction he made a great case for being a professional and projecting professionalism which I think was his core point anyway and really good advice. I hope he comes back next year.
Erik Reagan
Erik actually gave 2 talks; one on Dev Days and the other during the conference. The one during the conference was the one I found most insightful but his Dev Days talk, where he outlined classic debugging techniques for an ExpressionEngine site, shouldn’t be overlooked. Good stuff there worth checking out.
Erik’s talk during the conference though was instrumental in piquing my interest in Git. First, let me state; I’m a Subversion guy. I don’t deny it and, honestly, I’ve been very happy with it. I’d never really had a need that I thought could be fixed by switching. But what Erik did was point out the one killer feature that made the light bulb go off in my head; remote repositories. It’s like I get my normal SVN which sits on my computer/network and the ability to keep things remote so collaboration can still happen. Very nice bit of knowledge I never expected from EECI.
Lowell Kitchen
How this dude maintains 250 EE websites, even with all his cool custom gadgets and toys without murdering people is a success story on it’s own and he was gracious enough to share some really nice insights. Also, dude used rage comic characters in his presentation slides which is just awesome.
As stated above Lowell went into some detail about how his company, Blue State Digital, manages over 250 sites. Along with using a single, pre-configured, installation of ExpressionEngine for all their sites, hooked together using a symlink, they also have a really slick custom command line tool to handle updates and upgrades of their many databases they call bsdrelease. I’d really like to get a peak at that tool.
It was pretty enlightening to see how they do things at their scale.
Low
Low’s talk, aptly titled Parse Order Pro, was the one I personally learned the most from. Hands down; Low imparted some knowledge. Dude blew my mind going into the ins and outs of template parsing and just how, well, wrong my understanding of it was. I had no idea how intricate that whole process could be. Very nice visuals too that helped Low drive his points home insofar as explaining which variables were parsed at which point in the template processing (seriously; watch the slides). Feeling like I’m constantly fighting with the ExpressionEngine template system, Low’s talk really shed some much needed light and I learned a lot.
Jacob Russell
EE Faster, Jacob’s talk, was another that I learned a lot from and has a nice tie in to Low’s talk (even though they were on separate days). Both had to deal with template parsing though Jacob went in a different direction and focused on how to improve the speed of ExpressionEngine’s template parsing. Jacob also shed some light on some performance “gotchas”, like how ExpressionEngine will parse all template tags when split by an “if” statement, that should be taken into account when planning your template structure. Apparently it’s also pretty wasteful to have a single template for both single entry and listing pages. Did not know that…
The points that really stick out in my head, aside from the conditional parsing mentioned above, are that embeds are really slow, loops are downright dangerous if implemented wrong, embeds restart the template parser and that it’s actually better for performance to have less maintainable code (what?!?). Pretty counter intuitive but them’s the rules of ExpressionEngine so it’s very, very, helpful to know.
Greg Aker
Greg Aker’s talk is a little fuzzy in my memory; I can’t for the life of me recall the title though it’s either EE Performance (as on the EECI 2011 Cheat Sheet has) or Shit Happens, Deal with it like an Engineer (from Greg’s slides page). I remember he outlined quite a few points about improving the performance of ExpressionEngine but he also talked about dealing with issues appropriately so I’m a little confused on the title. Regardless, like Paul Burton, Greg is highly entertaining and has a very personable speaking style, like hearing an old friend speak, and he threw some wisdom all ExpressionEngine developers should know.
A common theme throughout Greg’s talk, at least for me, was “just because you can doesn’t mean you should”. For example, ExpressionEngine allows you to serve static files dynamically but, unless you absolutely have a reason to do so, it’s a bad idea if you care about performance. That’s a personal “nail on chalkboard” technique I’ve seen within ExpressionEngine sites a lot so it was nice to see Greg point that out.
Final Thoughts
Simply: I had a blast. A seriously good time. I left EECI2011 a better developer than I came in as. Which is pretty much the point of conferences in my opinion; why else pay all that money and incur the pain of travel and make up work? Sure, there were parts I didn’t enjoy as much as others but they were so few and far between they didn’t impact my overall experience. Plus, nobody promised me I would enjoy 100% of the experience so that’s life as an adult.
A couple things I’d suggest for next year would be:
- Better scheduling with other conferences (would have been nice to not have to miss ZendCon this year)
- Improved notice on the presentations (had to pretty much monitor the site daily just to know what we paid for)
- A local LAN with individual development servers per team (at the least) for Dev Days (networking Windows and Macs sucked)
- More coffee (seriously; more, more, more, more, more)
I’m very excited and eager for next year and will likely try to make it regardless of where on the planet it lies. I had that good of a time. If you’re into ExpressionEngine, even if you work with it because of outside requirements, you can’t go wrong hitting up EECI.