A Blog Not Limited

to web design, standards & semantics

Sonoma, San Francisco & EECI 2010

Jun 15, 2010

Published in

ExpressionEngine and CodeIgniter Conference

This past Memorial Day, Jason and I headed to San Francisco for a little wine tasting, sightseeing and, most importantly, EECI 2010.

To say I had a great time is an understatement. I got to catch up with some of my favorite EE folks, I explored parts of the city I missed during my first trip last year, and I learned far more than I expected about ExpressionEngine.

Before I get into the details about the conference itself, I must first mention my tourist experience. If this bores you, go ahead and skip to the EECI recap.

Wine Tasting in Sonoma

The first adventure was a trip to Sonoma for wine tasting. Chad Crowell, host extraordinaire, organized the event. Also along for the fun were Chad's wife Heidi, Ryan Masuga and his wife Marie, Mike Boyink and his wife Crissa, Brandon Kelly and Leevi Graham.

We first hit Chad's favorite winery, Gundlach Bundschu, where my fears about being intimated by wine snobs were quickly put to rest. The tasting experience was fun, educational and delicious. And I discovered a new favorite: 2007 Tempranillo.

After breaking for a delicious lunch at the Swiss Hotel Bar and Restaurant, we hit the Buena Vista Carneros. The wine was good, but I didn't leave as impressed as I was with Gundlach.

Zinfandel at Ravenswood

Zinfandel tasting at Ravenswood vineyard

Our last stop was the home of my very first Zinfandel, Ravenswood. And we couldn't have picked a better final stop, because we had private tasting outside, with an incredible view of the vineyards. The wine was good. The conversation was good. The atmosphere was good. It was all kinds of good.

If you've never been wine tasting, add it to your list. Well worth the time and money.

But as much as I love getting my drink on, the wine tasting wasn't the highlight for me. It was the people. I feel so lucky I had a chance to get to know everyone better. Chad has a gorgeous home, a lovely family, and the more I get to know him, the more I realize what a great guy and friend he is.

And thanks to sharing a ride to Sonoma, I got know The Boyinks more. What an absolute pleasure to spend time with such a connected couple. The way they live life and exist as a family makes my heart melt. And they are soon embarking on an adventure of their own, taking their lives to the road year. I can't wait to watch the stories unfold.

I had never met Leevi in person before, but thank god I did. His sense of humor is second–to–none and I'm just relieved my sense of humor didn't put him off (ask him some time about "doggy baggin").

And then there is Brandon, who I had met at this past SXSW. For some reason, I had gotten the impression that he is gruff, which only proves I didn't know him at all. Because the guy is an absolute sweetheart. Nice as can be, takes time to talk and listen, and will even drive back to the city to return the phone of some loser who left it in his car.

Unfortunately, I didn't spend nearly enough time with The Masugas on this trip, which is still bumming me out and I'm determined to rectify that in the future.

The Home of a Thousand Tequilas

After saying our goodbyes, Jason and I headed back to San Francisco, courtesy of our chauffeur, Brandon (thanks, buddy). We then met up with our favorite EngineHosting folks, Nevin Lyne and Laurie Ruggles, at Las Margaritas in Fisherman's Wharf.

I'm not sure they really have 1,000 tequilas, but it seemed like it. Their selection was phenomenal. I had their Millionaire Margarita, which was straight-up, uber-premium tequila and lime. I could've had ten.

In addition to great tequila, it was awesome to see Laurie and Nevin again. Not only are they fun and scary smart, they are passionate about what they do. I love being around people like that.

I also got a chance to meet Pablo Boerr, who is a Montreal-based EE developer. He, along with my main man, Jason, had received free passes to EECI, courtesy of EngineHosting.

Tourists Without Fanny Packs

Jason and me at the Golden Gate Bridge

My excellent photography skills at the Golden Gate Bridge

Sunday, Jason and I were hellbent on taking the tourist route. Fortified by an awesome breakfast at Home Plate (I've never had a better scone), we hopped on the bus to hit The Exploratorium. Serendipitously, we missed our stop and ended up at the Golden Gate Bridge.

After taking the obligatory tourist photos, we finally made it to The Exploratorium. It is a really cool place with nothing but interactive science exhibits. We played for a few hours, watched a bovine eyeball dissection, and generally felt like kids again.

We then headed to Fisherman's Wharf in search of oysters. We found 'em at Castagnola's, along with a great Dixieland jazz band and two sassy older ladies who were a blast to drink and talk with.

Our last touristy destination was Chinatown. I've never been to any city's Chinatown, so this was a must for me. Not to mention, I've been dying for real Chinese food ever since I moved to Albuquerque. We ended up at Empress of China, which was more swanky than we expected, but delicious and a real treat.

Last Minute Pre-Gaming

After dinner, Jason and I met up with Kyle Ridolfo and Jacob Russell. Masuga soon joined us and we ended up at the strangest establishment I've ever set foot in: Kennedy's Irish Pub and Indian Curry Restaurant. The name says it all …

While at Kennedy's, I had the pleasure of meeting (albeit briefly) Simon Collison. I also had nice chats with John Henry Donovan and Greg Salt.

After far too many beers, Jason and I (thankfully) remembered we still had Boyink's MasterClass to attend the next day, so we bid adieu and headed back to the illustrious Travelodge.

And Now for the Conference Recap

Before I get into the conference details, I have to give a shout-out to Whoooz! Webmedia. They put on a truly great conference with excellent speakers. Everything seemed, from an attendee perspective, to run smoothly and professionally, while being tons of fun.

Also, it is thanks to Whoooz! that I was able to attend in the first place. I won a free pass to EECI 2010 at the SXSW Pre-party, which was a huge financial help to me now that I quit my job.

MasterClass: Building Websites With ExpressionEngine

EECI 2010 offered two MasterClasses, one focused on CodeIgniter and one focused on ExpressionEngine. At this point in time, I don't intend to explore CodeIgnitor, so that class wasn't for me. I decided to take the one on ExpressionEngine.

Many people inquired why, based on the fact that I've been working with EE for a few years now. The truth is that once I decided to go freelance, I started having confidence issues. Ultimately, I blame the fact that I worked at a soul-sucking job for five years, every day knowing that my skills and experience weren't valued or respected. And this did a number on me … like being in a bad relationship can (however wrongly) convince you that you are the problem.

But also, I taught myself EE. And when I teach myself something, I often focus on discrete tasks and goals, failing to take the time to get the bigger picture. And I wanted to know if I was developing EE the "right way." I figured if anyone was going to get me pointed in that direction, it would be Boyink.

So, first a bit of background: the class focused on developing with EE 2.0 beta and we were to install it locally on our machines, so we could develop while we learned. Unfortunately, due to an issue I think was related to my Zend Optimiser install, I couldn't get EE to install. At the start of the class, I was freaking out about this, but it soon became apparent to me that it was for the best.

As Boyink began, I quickly realized that all of the steps he was covering on how to get a site up and running, I already knew. Score one point for me: I did know what I was doing with EE. And one of the first things Boyink said really hit home: there's no single "right" way to do things in EE. It's more about finding out what the best practices are for you and your clients.

Not developing alongside everyone else in the class freed me up to take notes (over 10 pages!) of the little gems Boyink shared. Approaches to workflow, little efficiencies in development and much more. Here are just some of my takeaways:

  • Chunking, which is basically just breaking up repeatable content/markup from a template into embedded templates. This is something I've been doing but I liked how Mike presents the concept.
  • Content first. Again, something I do, regardless of whether it is an EE site, but I liked that Mike emphasized the importance of considering what content you have before beginning development, so that you can start visualizing the structure of your channels.
  • Snippets, new to EE 2.0, are like the Fresh Variables add-on for 1.6. They provide a means for defining reusable code and they can handle dynamic content, unlike global variables which contain static content. And if you are using the Multiple Site Manager, Snippets can be used globally, across all sites.
  • Parsing order. I didn't realize that advanced conditionals all run first, then go back to simple conditionals. Mike suggested that sometimes it may be better to use two simple conditionals instead of advanced for better performance.
  • No results. Mike also covered something I care a lot about: making sure you don't leave bad markup elements when there are no results, such as an opening <ul> and closing </ul> if there are no results to populate <li>s.
  • Multiple categories. No idea how I didn't know this or haven't encountered a need for it, but entries can have more than one category.
  • Disable what you don't need. Something I always do, but a good reminder to narrow the query to improve SQL performance. Not using categories, member_data, pagination or custom_field? Disable 'em.
  • New install process for plug-ins. For EE 2, it is much simpler. Instead of having to move individual files to their appropriate folders, you are just working with a single containing folder that gets dropped into a "third-party" directory.

Another huge takeaway for me, which was completely unexpected, was Boyink's presentation/teaching style. He had told me before the class that it was going to be a lot of content; he was condensing his regular 4-day training into a single day. This could've resulted in a rushed, overwhelming class. It didn't.

Mike was calm, thorough and attentive to attendees' questions and issues throughout the entire day. The pace was relaxed, while still delivering excellent information. And Mike is big on transparency, open to sharing his knowledge in order to help the community. It was refreshing to see how he handles being in front of a class and gave me food–for–thought for my own presentations.

If you want to learn more about EE, Boyink's training is the way to go, whether you are looking for free tutorials or want classroom training.

Opening Keynote & News From EllisLab

The following day kicked off with probably the best Master of Ceremonies ever, Kenny Meyers, who introduced Rick Ellis.

Rick discussed how his early work on the web led to the creation of ExpressionEngine. How it wasn't anything he could've anticipated, but by constantly evolving and progressing he was actively contributing to human progress and communication … something he encouraged all of us to be aware of. He also mentioned something that everyone at EllisLab echoed: community is their favorite "feature" of EE.

Following Rick were Leslie Camacho, Derek Jones and Derek Allard, who updated everyone on EllisLab and EE news:

  • Ecommerce:
    • Foxee expansion from HCC development offers shipping support. Dedicated to standards and professional support. Working on EE 2.0.
    • CartThrob, is a native commerce application for EE, not an add-on. Working on EE 2.0. Devot:ee uses it, so if you are curious talk to Masuga.
    • ShopIgniter is in development. It is a SaaS for the enterprise and is built on CI with EE 2.0 integration planned. Also offers a unique social media aspect (i.e. Facebook stores).
  • Official Community Partners to create sustainable, long-term community resources:
  • One of my favorite gals, Leslie Doherty is now EllisLab's Community Architect
  • EE 2.1 will be the next build of EE 2
  • EllisLab has a new offering: MojoMotor, the publishing engine that does less. I got in on the private beta, so I can't wait to tell you more about it soon(ish)!
Subconscious Design

The first presentation of the day was from Simon Collison on Subconcious Design. I'm just going to dump all of my notes here (advanced apologies for typos) and recommend that if you need more context or whatever, check out his deck on Slideshare.

  • Need to create/define our own vocabulary for web, rather than borrowing terms from other design industries that aren't quite relevant and really encourage confusion
  • How does being a CSS master help you communicate your message/ideas. Same with HTML, jQuery, EE, Photoshop. You can be a master and still suck at communication.
  • Problem is people are analyzing what we do on the web in reference to other industries. We have a whole other realm of issues to deal with. We need to work together to smartly define what we do on the web.
  • When you are too close to a project, you perceive it differently than the people who actually use it. We need visual grammar: a visual language; tools we can use in the work we do. i.e. why do we use organic vs. strict design.
  • Things that matter in design are often abstract: balance, composition, symmetry, rhythm, frequency, movment, etc. We often fail because we don't step back to check these things from the users perspective or we are trying to use technology because we can (i.e. CSS 3 movement).
  • Mental Models: the models people have of themsleves, others, the environment and the things with which they interact. Interpretation based on experience, training, life … worth considering when thinking how various people may use things; make user experience better/easier.
    • Mapping: the relationship between two things
    • Affordance: quality of an object that suggests action. i.e. drop shadows, glossy buttons
    • Systems: We don't design pages, but systems … scalable that grows with the client. Think about this before building in EE. Research before even creating one group. How will it scale? Are we building ourselves into a corner? What does the site need now and what may happen in the future. If it's a system, there are certain conventions that have to carry through the site to help users.
    • Art directed/editorial design (i.e. Jason Santa Maria). These guys use a system for this type of sympathetic design. It is easy because there is a system in place. Not just a random "let's design this way" today.
    • Motive: What are they? Why do we go in a certain direction? Being more thoughtful is really important, especially with "fakery" like putting coffee cup stains or stickers on a site.
    • Nostalgia: Why do we long for the past?
    • Rhetoric: The language, words, where the persuading is; not necessarily the truth. To tell a story a different way.
    • Vernacular: everyday language; slang, graffiti
    • Humor: communicate meaning via wit makes you seem human. But think about the audience; "in" jokes don't work.
    • Semiotics: the study of how people perceive meaning; doing away with language and communicating via sounds images signs. Dig into these things to build better systems
    • Typography: adding meaning to what we put before them. Smart typography helps give communication a written form; help user make other associations
    • Restraint and reduction: immediate meaning through economy of use. You don't need all this stuff just because you can. Message with less.
    • Courage and conviction is behind the best work. Take risks and have faith in oneself.

In many ways, Simon's presentation reminded me of Cennydd Bowles's Beauty in Web Design presentation at SXSW. A good and needed discussion for our industry.

EE Track: This Is How We Roll

Next up, Jamie Pittock talked about how Erskine Design uses EE. This presentation was a real eye-opener in terms of efficiencies in workflow and development.

Again, dumping my notes here, but you must download his presentation files (zip) to get all the goodness, which includes some sample templates and files.

  • Packaging EE: Don't do out of the box install. Customize for what you need. Amend the file structure, i.e:
    • htaccess
    • /assets - tools and templates (which has a subdirectory of /components like comments.tpl, quicksearch.tpl)
    • /holding - i.e. for CSS
    • index.php
    • /system - config, extended and custom
    • path.php
    • robots.txt
    • /setup
    • sitemap.php
    • /themes
    • /uploads - becomes the parent of /images and also includes /videos
  • "Helper variables" (global variables) i.e. path.php variables for date formatting, disabling parameters, optimization
  • "Environmental variables" to establish IP-based variables for local, dev and live environments. i.e. setting Google Analytics for only the live site.
  • Establish naming conventions to easily identify what the custom variables are
EE Track: Justify Design
Lea Alcantara presenting at EECI

Lea Alcantara discusses client communication

Lea Alcantara's presentation, Justify Design, was the very definition of a balanced perspective on the client-related challenges we face as designers. She hasn't put her deck online (yet?) just uploaded her deck to Slideshare, and you can also check out her blog post that is the basis for the presentation.

And here are my notes:

  • Know your strengths and weaknesses. Not knowing PHP doesn't make you stupid.
  • On avoiding conflict with clients, first identify the real source. Communication breakdown due to ego? Money? Once you know what your client may be going through, you can be sympathetic and change how you interact with them.
  • Work with your client to understand what they like. Go through sites they like to see preferences like fonts, styles, even decorative/superfluous elements.
  • Educate your clients. Does something enhance or hinder the design and why. Remind them of their audience and what is relevant.
  • Choose your battles wisely. Good clients want you to "fight" if they make a bad/uninformed decision. "If my idea isn't right, convince me otherwise."
  • Remember to assert and remind your client of your expertise. Even namedrop past clients.
  • Be prepared for questions/challenges before you present your work to your client. Even if it never gets to that point.
  • Deliver designs early to create that initial happiness.
  • If you are dealing with reasonable people, there is always hope.
EE Track: Plan, Build & Maintain ExpressionEngine Powered Websites

Leevi Graham's presentation was excellent and made me, a fellow organizer–bordering–on–OCD, feel right at home. He covered tons of great stuff we all should think about in terms of planning and organization.

I started to take notes, but soon realized I couldn't type that fast. There was just so much he covered. Here's what I managed to jot down:

  • Plan first; build a plan that suits your needs.
  • Define content:
    • Sitemap > identify sections
    • Pages (vs sections) have a deliberate URL, appears in the navigation, doesn't appear in an index, isn't in a section
  • Storing content:
    • channels = sections
    • pages channel = pages
    • utility channel = ads, promos
    • member channel
  • Naming conventions:
    • Channel - consider how it will be referenced in different cases: i.e. channel name "News Article" and channel short name "news_articles"
    • Custom field naming conventions - {weblog shortname + _+ field type}, i.e. {video_alternative_title}
    • Status - open, closed, pending, preview, review. If need "featured," then create a custom field (search:featured="1" + ordferby="featured" + sort="desc")
  • Paper plan (can be a client deliverable; paid work, even if they don't use you for development):
    • Get all of the naming conventions on paper
    • Indicate the field setup, i.e. type, length, type, configuration, required, etc. for each
  • Create the paper plan before design; use it to guide design; focus on content

To get the full impact of the power that planning and organization can bring to your EE development, definitely check out his slide PDF and his paper plan.

Part-EE at The Parlor

The main party for EECI concluded the first day of sessions. Held at The Parlor, it was much like many conference parties I've attended: fun, free booze, lots of people … with one exception: Twister. Participants had to compete in games of Twister to win an iPad. It was fun to watch and it served as a reminder to just say no to crack.

Other than watching the Twister antics, I had a chance to talk to a bunch of friends, new and old. Without going into the details (because, frankly, tequila stole them from me), I'll just mention all the folks I had the pleasure of chatting with:

I'm sure there are others I'm forgetting … just blame the tequila.

What I Missed Out On

I wasn't able to attend all the sessions, plus on the last day of the conference, I had to leave San Francisco early due to a personal emergency. While everything in my world is now okay (thanks to everyone who asked), I am still disappointed on what I missed.

I've not yet found slides/recaps for all the sessions I wasn't able to attend, but here's what I have now and I'll try to update this list as I discover more:

Can't Wait for Next Time

EECI will definitely be on my list for future must-attend conferences. I learned. I laughed. I boozed. I made new friends. I caught up with old ones. For me, I couldn't ask for anything more.

Thank you to everyone who made it possible.

HTML5 Cookbook

Interested in HTML5?
Get the Cookbook!

I was a contributing author for HTML5 Cookbook, available for sale on Amazon! Get yours now! (I hear chapters 1, 4 and 5 are particularly good.)

P.S. Don't forget my book Microformats Made Simple is still for sale!


Share the Love

Luke Dorny's Gravatar

Luke Dorny opines:


YAY another one under the belt (perhaps I need to loosen the belt!). Great notes, and now it’s a great reference. Thanks, and great to see you guys again!

Brandon Kelly's Gravatar

Brandon Kelly opines:


Thanks for the kind words, Em! So gad you and Jason could make it – had a blast hanging out with you in Sonoma and around town in SF!

Lea's Gravatar

Lea opines:


Your post gave me the kick in the ass to go ahead and upload the deck. You can find it here:


Always a pleasure seeing you, tho we should hang out “long form” ie. more than two seconds, one of these days!!!

Emily's Gravatar

Emily responds:


@Luke - Glad all the crap I put in here is useful to someone other than me ;) Always good to see you. Until next time ...

@Brandon - We had a blast, too! Next time I’m in SF, we’re playing SOC :)

@Lea - Thanks for uploading your deck. I updated the post to reflect the link. And yes, we must hang out more than two seconds whenever we see each other. Though Chinatown was a blast for me, I still feel bad for bailing on you and Beth :( Next conference, I’ll just be your entourage, okay?

Crissa's Gravatar

Crissa opines:


It was great to finally meet the Emily Lewis (I had heard much about you—good, of course—from Mike after SXSW). The Sonoma day was a wonderful day, and I’m glad I was able to get to know you and Jason a bit before the conference kicked in. I have all confidence that you will do well in business on your own.

Crissa's Gravatar

Crissa opines:


BTW, Emily, I want to thank you for being yourself, yet understanding that my ears prefer a little less color when having a conversation. ;)

Nevin Lyne's Gravatar

Nevin Lyne opines:


Emily, 1,000 tequilas is probably close enough, hard to remember after “enough” Always a blast to get to see you and Jason, looking forward to the next time as always.

But “color” in conversations with Emily? Never! (Still love your Microformat shirt from SXSW!) ;)

Boyink's Gravatar

Boyink opines:


Thanks again for the kind comments Emily - glad the class was of value!

Emily's Gravatar

Emily responds:


@Crissa - I’m glad I got to meet you, as well :) I really did have the nicest time talking with both you and Mike.

@Nevin - Glad I’m not the only one who liked my “colorful” shirts. I actually still have a handful left.

@Mike - You are more than welcome. Completely deserved :)

Jack's Gravatar

Jack opines:


Thanks Emily. I never got a chance to meet you but I’ve been back to this post a few times because you did the best wrap up. You da best. Kenny was supposed to introduce us actually because I was going to have a micro-formats throw down with you! ;)

Emily's Gravatar

Emily responds:


@Jack - Pleased to hear the recap is helpful.

Definitely catch up with me next time! I’m always ready for a microformats throwdown ;)

Commenting is not available in this channel entry.

The Coolest Person I Know

Emily Lewis

Yeah, that would be me: .

I'm a freelance web designer of the standardista variety, which means I get excited about things like valid POSH, microformats and accessibility. I ply my trade from my one-person design studio in Albuquerque, New Mexico 87106 USA.

A Blog Not Limited is my personal blog where I pontificate about web design, web standards, semantics and whatever else strikes my fancy. Head on over to Emily Lewis Design if you'd like to see my work or, even better, hire me.


I Tweet, Therefore I Am

Follow @emilylewis on Twitter!