Post-AWDGCSS Recap

awdgThank you for having me tonight, AWDG! Here are all of the links referenced in my slides (and a few extras). If you have any questions, please don’t hesitate to get in touch!


CSS Preprocessors



Demo Project Files

Grab them here:

Et Cetera

For those that asked: my slidedeck uses Reveal.js –

Speaking at AWDG

awdgIn a couple of weeks, I’m going to do something I didn’t think I’d ever do: I’m speaking about CSS Preprocessors at an Atlanta Web Design Group meetup.

Over the past few years, I’ve visited Atlanta a few times a year and live-tweeted AWDG talks. This time, I’ll be on the other side of the crowd. I doubt I’ll ever get used to speaking in front of people, but this is a topic I’m passionate about and I’m looking forward to sharing what I’ve learned with others.

For those attending the talk, my goal is to show you that getting started with a CSS Preprocessor like LESS or Sass/SCSS is easier than you think, and will require you to change very little in your current workflow(s). I resisted making the switch because I thought it was difficult, but I’ve since gone from experimenting with it on single projects to having all of my coworkers using it.

Don’t be evil.*

Google announced that they’re buying Nest yesterday, and with it came a flood of jokes about how we’ll need to have a Google+ account in order to change our temperatures from now on.

Google isn’t buying Nest just for their Thermostat or Protect. They bought it for the next wave of products that Nest has in development.

Google is slowly, inevitably invading the home and it wouldn’t bother me so much if their primary purpose wasn’t to advertise to us. Imagine a Google Fiber-connected house, with Google-powered TV, Internet and phone service. Every TV has a Chromecast. Your phone is running their Android OS. In your garage is parked one of their self-driving cars. They’ll know all of your travel patterns. They’ll know what nights you work or stay out late. They’ll know what nights you typically have food delivered in. They’ll know that you like keeping your house a few degrees cooler on average. They’ll know what kinds of beers you like, and how often you bring home groceries because of when you scan in items into your Android-powered fridge. And that information will be used against you. And every time you see an ad popup that seems scarily accurate to your current wants and needs you won’t care, because your life will have been made more convenient.

Featured image via @bkieffer

Wasted Time

Not all time wasted is wasted time. (Or, at least that’s what I keep telling myself.)

I have to remind myself often that time spent learning instead of earning could yield greater benefits down the road. But it’s hard to justify spending the time on playing when you’re trying to meet a deadline or behind schedule on something. That’s why I’d like to propose that you “waste time” — at least a little bit — on each new project you take on. Commit to incorporating at least one new technology in each project that comes across your desk. Before you know it, you’ll be incorporating more advanced stuff into your workflow.

“Time you enjoyed wasting is not wasted time.” — T.S. Elliot

Not using a CSS Preprocessor? Start off by using LESS or Sass/SCSS on your next project. Then, on your next project, incorporate a mixin library like Less Hat, Bourbon or Compass. Can’t figure out how to do something? Spend some time learning the skills you need through sites like Code School or Codecademy. Or browse sites like CSS TricksCodePen, and 24Ways for chunks of inspiration. Whatever you do, don’t get stuck in continually doing things the way you currently are: that’s the easiest way to get left behind.

Whatever you do, don’t get stuck in doing things the way you’ve always done them. Don’t be afraid to waste the time to learn something new with each new project or task you tackle. Don’t be afraid to challenge yourself. That wasted time isn’t really wasted when you’re improving yourself.

Push Yourself

Level UpYou can be better than you think you can be.

You can do more than you think you can do.

Stop overthinking. Start doing.

Push yourself. Reach the next level.

And when you get there? Realize that you’ve only just begun.


Up until a year ago, I was a long-time subscriber to a hosted time-tracking and invoicing app: Harvest. (Harvest is still *really* awesome, btw.) I also had a Basecamp account. When I freelanced full-time, it made sense to pay that bill every month. But when I, I couldn’t justify the monthly expense any longer. (Admittedly, paying $32/month for a couple of services you use often, that help you get paid and help you manage projects better isn’t bad. But I had been looking for alternatives for quite some time.)

But I’m getting ahead of myself.

pancake_stackIn 2010, Michael Wales told me about Pancake and I leapt at the opportunity to buy a license. I installed it on my server, played around for it a bit and then went back to using Harvest + Basecamp. (I’m a creature of habit.) I knew I’d eventually make the leap, and now I’m really glad that I did.

So what is Pancake? Pancake handles online invoicing, project management, time tracking, proposals, file delivery and more. It’s a one-time purchase for minor updates and major updates tend to have upgrade pricing.

You can install Pancake on your own server (or use the Pancake Instant service and let them do it for you). And then just use it. It auto-updates.


I bring Pancake up because I’m excited to announce that I’ve been working with them to improve and refine the UI of the v4 admin. Coming in v4 is a new admin design and lots of new features. It’s an exciting opportunity to be able to help improve a product you use quite often.

I’d love it if you’d check it out. Try the demo. There’s even a 45-day money back guarantee.)

Year in Review: RefreshAugusta

2013 was a big year for RefreshAugusta. Our meetup group grew to 111 members. We grew to 773 followers on Twitter. We held a total of 9 meetups in 2013: Two lunches, one workshop, and six educational/informative evening events. We even made a one-day web conference happen here in Augusta!

  • FebruaryOutsmart Yourself: Failure, Consciousness, and the Magnetic Middle with J Cornelius
  • MarchDesign Double-Header with UnmatchedStyle with Gene Crawford and Giovanni DiFeterici
  • AprilHere-say & Conjecture with Alex Wier & Daniel Stewart (Wier/Stewart)
  • MayWeb Afternoon Augusta!
  • JuneBuilding Animations with CSS3 with Josh Netherton
  • AugustUser Research Workshop with Jenn Downs
  • SeptemberBig Picture UX with Nick Finck
  • OctoberPreprocess all the Things! with Chris Harrison (me, duh!)

We had some really smart people come to Augusta to speak about their passion and share it with the Augusta web community. And we’re just a small part of what’s happening here in Augusta. Hack Augusta, ALUG, the CSRA Makers, Dev Club and more are doing great things in our area.

A big reason all of this was possible is They’ve served as our meeting space and a technology hub, and I know it’ll play an even bigger role in our future.

Part 6. Final Lessons Learned

Use email effectively — We could’ve used email better. Reaching out to past attendees should’ve happened earlier on. We could’ve reached out to attendees earlier as well, and enlisted their help in advertising the event. Email user groups. Email businesses. Create things that can be easily shared by user group organizers.

Delegate — Don’t try to do everything on your own.

Engage local media — Local advertising and promotion didn’t happen soon enough. I should’ve delegated the responsibility to others to execute. I created posters too late in the process that weren’t used at all. Reach out to local media. Reach out to user groups. Give free tickets to user groups in exchange for promoting the event to their members. Do whatever you can

Don’t wait too long — Waiting on sponsors will delay promotional efforts. Getting sponsors is hard work, especially if your event is unknown to your local community. I went back and forth with several companies about sponsorship and had a few of them ultimately decide not to sponsor. I waited on printing posters because I had hope to include their logo on it. If you don’t get a commitment from someone, don’t let that delay your promotional efforts. Their delay will impact the amount of exposure they ultimately receive from supporting the event.

Hotels — Work with a local hotel close to your venue to get a discount for your speakers. Have them extend that rate to your out-of-town attendees. When budgeting for hotel rooms, don’t forget about taxes and additional fees when making your budget. In Augusta, this increased room costs by at least $25 per person per day. If the host hotel is $100+, don’t be afraid to suggest cheaper alternatives to out-of-town attendees if they’re looking to save some money.

Getting Sponsors — Reach out to as many local companies as possible, even if they’re not industry-related. Don’t be afraid to reach out to larger companies that you know and respect. The worst thing that’ll happen is they’ll say no. Some will say yes. And those that don’t may send employees to the event. Some might not be able to send money, but they might be able to provide services or goods in exchange for sponsorship. Not asking will create missed opportunities.

Schedule — I should have made the schedule publicly available somehow and been more clear with speakers upfront on when they’d be on-stage. Post something on your event’s site sooner rather than later. Your speaker’s will appreciate knowing their timeslot and it’ll help attendees plan their day in case they can’t be there for the full event.

Web Afternoon Augusta (WAAUG) wouldn’t have happened without the support of people like J Cornelius – who leads by example and encourages people to #SUGTW. It couldn’t have happened without great people like Grace Belangia and Keith Pickett who helped get things done leading up to the event. It couldn’t have happened without people like Eric, Jessica, Farhan, Moses, Nic, Matt & Adam, and countless others. It couldn’t have happened without friends like Gene Crawford and the crew who took a leap of faith and sponsored the event before we had anything in place.

I’m a better person having put WAAUG together, and I’m already thinking about what to do next. What’ll it be and when will it happen? We’ll just have to see what 2014 holds.

Want to plan your own Web Afternoon? Check out the Web Afternoon Planning Guide.

Part 5. Conference Day

Nothing will prepare you for the day of the event, especially if you’ve only organized local meetups. Having a team you can depend on is essential for your event to be successful. You’ll need a game plan. You’ll also need to accept that you won’t think of everything. You will make mistakes. Roll with it. React when necessary. Avoid freaking out. Chances are the audience won’t even realize a mistake has occurred.

  • Speaker Meals — Because some of our speakers arrived later on Friday evening, we decided to have a Speaker’s Brunch in lieu of a Speaker’s Dinner. I wouldn’t recommend doing it again. Mornings are sacred for people. If we did have a breakfast thing again, I’d make it unofficial and probably just have it at the hotel. We ended up paying for 15 meals that weren’t eaten because we guaranteed a party size. (Related: Don’t guarantee a party size. And avoid buffets unless you are absolutely certain of your party size.)
  • After Party — If you plan on having food, be very deliberate in letting everyone know it’ll be there. We had a 45-minute gap between the end of our event and the after party and didn’t communicate that there would be food available. The money we spent on food could have been saved or paid for an extra drink for attendees.
  • Volunteers — It’s probably better to have too many versus not enough volunteers. Make sure you have plenty of people on-hand to help get things setup, run errands, etc. Being short-handed will put extra pressure on you and your co-organizers.
  • Signage — Create signs you can reuse or repurpose. This will help keep costs down if you decide to do this again.
  • Breaks — A 15-minute break every two hours will give attendees time to stretch their legs and mingle. Light snacks and canned drinks are good. And have plenty of water available. (Run out mid-event and you may find yourself making a snack run.)
  • Lunch — You can save money by blocking out 1-1.5 hours for lunch and encouraging attendees to explore nearby eateries.
  • Backstage Coordination — Doc Waller is an absolute pro and kept things in order both on and off-stage. Make sure you have someone you can rely on to make sure speakers are on stage when they need to be and that all of their technical needs are addressed well before they have to get in front of everyone.


Part 4. Pricing Your Event

Do you charge for your event or do you make it free? Calculate any hard costs you have: Travel, Accommodations, Venue, Catering, etc. to determine the approximate cost of your event.

Sample Event Budget
Travel $1500
Accommodations $2500
Venue $2500
Catering $1000
Other Expenses* $1000
Total $8500

* Other Expenses might include paying a photographer, emcee, badges, etc.


Tickets are not going to cover all of your expenses.

Hard Costs/Tickets = ~Ticket Price

If you have $8500 in estimated Hard Costs, you’ll need to sell at least 150 Tickets at $57 each to generate enough to cover your base costs. Factor in at least 10% extra, just in case. That’d make your target ticket price around $62.50.

Selling 150 tickets isn’t easy for a first-time event. And getting 150 people to spend $62.50 a ticket is a challenge, too. So here’s an approach worth considering: Sell tickets in waves.

  • Tickets 001-050 @ $35 x 50 = $1750
  • Tickets 051-100 @ $60 each x 50 = $3000
  • Tickets 101-150 @ $75 each x 50 = $3750
  • Total Ticket Revenue: $8500

Selling the first wave at a loss helps build interest in your event. Those people will (hopefully) help attract more people to your event. The second and third waves help nudge procrastinators. If people know that the ticket price will increase by $X on a certain day, it’ll help them to commit to a ticket earlier.

Lesson 10 — If you set your prices too high, it will keep people away. If you don’t want to charge $62.50 per ticket, look at where you can cut costs to drive prices down.

  • Give group discounts to businesses that might send a group. Be creative with relevant user groups. (They can help promote discount codes that won’t otherwise be promoted by official channels, and will encourage greater local participation.)
  • Give tickets (or discounts) to key influencers.
  • Encourage speakers to promote the event as much as they’re willing.
  • Sponsors will see a greater impact if they promote the event to their customers/followers as well.
  • Offer military or student discounts.

If the idea of charging for tickets makes you cringe, you’re either going to need to find – potentially lots of – sponsors or trim your expenses down to the bear minimum.