How iThemes Builder sped up my workflow

There’s no shame in using the best tools at your disposal.

I have been using iThemes Builder and its available child themes for over a year now, and it’s made my process far more efficient. It’s not just a matter of slapping a logo on one of their prefab child themes and calling it a day. Most clients still require tweaks and changes to meet their needs.  As I’ve stressed numerous times in talks, blog posts and tweets: design isn’t just a matter of making something pretty, it’s about the functional presentation of information that achieves the goals of the client.

Over the time I’ve been designing themes for clients, I’ve built up a large library of CSS and HTML snippets to help speed up changes. Builder has made that library largely unnecessary because it makes layout changes a matter of a few mouse clicks. You can switch views (home, single, page, name it)  to any layout available, whether it’s the ones that ship with Builder itself or one you’ve created. You can just imagine how easier this makes testing a particular layout.

The best part about Builder is that—in a manner of speaking—it grows with you. Or, you can grow within it. You can start off with modifying a few child themes and experimenting with some layouts, through full-blown, from-scratch design. (I’m currently working on releasing a child theme or two for the framework. Testing use-cases—especially since these are being shared with the public—requires some thoroughness, so between client work and the nine-to-five, the going has been slow, I must admit.)

Watch out for a case study in the near future, but for now, iThemes is having their Black Friday sale. Use the coupon code FREESHIPPING (they’re a cheeky crowd, those guys) on a purchase of the All-Access Theme Pass, Builder, Plugin Buddy Developer Suite, or a premium annual membership to

Posted on: November 25, 2011 at 1:46 pm under: Freelance Protips

One Response

Every WordPress theme has its own learning curve

Fair warning: tweaking someone else’s theme is never as straightforward as you think. There’s a reason theme frameworks have gotten popular for custom designer/developers.

The client inquiry seems simple enough: “Hey, I downloaded this theme from the repository,” or “I bought this theme at a marketplace,” and “I’d like you to make a few changes. It’s close to what I want, but it needs a few changes.”

You quote the prospect your hourly rate and the estimated time you would spend doing the tweaks. The client sends you the zip file of the theme, you run it in your development environment then…

Boom. You’re staring at code you can’t make out. Forget the readability bit; forget shorthand. You’re faced with poorly written custom functions, undocumented hooks, abused filters, you name it. You get this feeling you might as well reverse-engineer the front end of the theme or plugin and call it a day. You find that researching the edits to the theme would push your estimated time to over twice what you quoted. You need to quote your client more, but expectations have been floated, if not set.

There’s more than one way to skin a cat. Some days, it seems there’s one way for every cat.

If it’s a matter of customizing a theme in terms of reader-facing design: colours, typography, minor changes to the markup, the task is simple enough. But when a client asks to expand a theme’s functionality using a theme whose code I have never seen before, there are so many potential pitfalls that it serves neither my client nor myself for me to enter into a contract for work without having the chance to review what I have to do.

Let’s start at HTML and CSS. Before CSS3 and widespread browser support, rounded corners for boxes required extraneous divs just to get them to work. You ran into alignment issues when cross-browser testing, and heaven forbid that you had to make it “IE6 compliant.” A single sidebar box with rounded corners and a background image can be coded in at least four ways, with varying degrees of efficiency. To an extent, CSS3 solves this particular problem, but how many more of these little things will you face as you go through your work? When you throw in PHP, the number of possible ways to produce a required output greatly increases.

We may all be writing in the same language—PHP—but we’re writing widely different manuscripts. The human cost of learning one person’s theme—purchased for a small amount of money—for one client, for use on one project is high enough. Having to do this with every client you come across would make the cost insurmountable.  This messy, diverse, beautiful nature is also what’s led to the rise of “theme frameworks,” and they’ve proven to be helpful and efficient ways to churn out custom themes for clients. They let developers streamline their learning paths by having a relatively standard base on which to build their themes, especially when the custom themes they make would require periodic, minor maintenance over time.

Theme frameworks help. I’ve been using one I’ve developed since version 0.71.

There are some themes I won’t touch. I have no experience with the Thesis framework and I won’t get into jobs for that. I would send them to experienced Thesis developers like Greg Rickaby or Andrew Norcross. Or I’d offer my own solutions. Freelancing is the same as any other profession, and it requires savvy salesmanship to stay in business.

A number of commercial themes have enough features to enable professionals to do their jobs a little bit better, a little faster. This is the reputation built by HeadwayStudioPress GenesisiThemes Builder, and Thesis. What they do not have are features that cast a wide net to capture numerous, small slices of the market from their competitors. For example, Builder doesn’t ship with a slider plugin, but they do have Displaybuddy available for separate sale.

Recently I’ve switched to Builder for rapid deployment projects. The many child themes available address a majority of the aesthetic requirements of clients, and creating a child theme is relatively easy. There’s a lot to learn with it alone, and I admit, that trying to learn another framework—be it Genesis or Headway—might not be the best choice for me at the moment. Maybe when I am ready to expand in that direction, but not yet.

“Standardization” in open source is impossible, but we can try to come close.

If you’ve ever worked in engineering or architecture, you’d know that drawings for a project are made according to a standard. It makes plans understandable for anyone with the professional knowledge, and allows for the continuity of a project across multiple participants. We don’t have that in WordPress. We have quality standards, and we hope that people who follow them get the most exposure. The WordPress Theme Review Team presides over theme submissions before they make it to the repository, and the official checklist is there for everyone to see an aspire to. None of these are guarantees to the actual readability and malleability of the code by a third party, though.

A few recommendations.

Commercial theme devs, especially those offering lower price points: a good way to help those who buy your commoditized themes is to offer links to people who are familiar with your work and have customized them before. I don’t know how the sub-$50 theme market works in terms of competition and whatnot, but even in such a crowded space there should be plenty of room for cooperation and referrals.

Freelancers: don’t quote anything until you’ve looked at the code. That hour or two looking at someone else’s theme may fall under time spent and even close to speculative work because you risk not getting client, but don’t forget to factor in that discovery time when you quote them. Don’t forget to educate your clients. there is a real difference between a drop-in theme you get from Themeforest, which you can slap a logo on, and an application/theme development framework you can start off of.

(Thanks to Andy Stratton, Ryan Duff and Phillip Copley with help on this article.)

Posted on: August 17, 2011 at 5:45 pm under: Freelance Protips

No Responses

Dreamers and Doers

Those who can, do. Those who can’t, read Lifehacker and fantasize about the perfect system to get things done.

When I first planned to have a second site dedicated to work-related matters, I wasn’t certain about a lot of things. I’ve had my personal domain for almost ten years, and in that time it’s built up a lot of Google juice. I didn’t want to lose it at first, so I asked a few trusted friends on what they think would’ve been a better route. (Obviously I was convinced to move design and work-related matters to a brand spanking new domain.) What ended the discussion for me was when one of them said “Google juice can be earned.”

Something that simple cut through a lot of doubt. I’m not going to lie: I have to deal with second-guessing myself. It’s a daily challenge and it’s not easy. Sitting down to wireframe a site on a pad of graph paper brings the excitement of a project getting ready to take shape. It also brings the sheer terror that the hour or two I’ll be spending doing this will result in a mulligan, or worse, an outright rejection. The same mental storm thunders through my mind as I do comps, as I code a WordPress theme, every step of the way.

It takes practice to keep trucking through—or around— this white-knuckled fear. I didn’t have anyone to tell me how to deal with it, except I knew that every book half-read on my shelf, every blog post draft unpublished, every sketch that never gets the time for play into an actual comp, was time spent starting something and not finishing that thing. It was time wasted. Each and every case.

I learned to stop regretting that wasted time, and instead to gaze upon the those wastefully murdered hours and just tell myself to not add to that pile. That time wasted not finishing something could’ve been time spent with family, with a special someone, on fitness, on anything else with a beginning and end, simply because that heap of unfinished projects is time forever lost… until the projects are finally completed.

However, for every procrastinator and second-guesser like myself, there exists another, more challenged individual: the perpetual planner. These productivity-obsessed folks spend hours reading about the processes of other, more successful people. Many of them spend hours on Lifehacker and similar sites, always thinking of how to do things better without actually having a goal in mind. They read these featurettes about how Mr. Big Name Internet Celebrity works, as if a thousand-word article can distill years of him developing a process that worked specifically for him. They spend all this time thinking to themselves, man, if I only worked that way I would get this project done. The problem is they never get past that bit. They find another alluring idol to follow with a story on their process, then another, then another. Instead of collectors, they become hoarders.

It need not be this way, though. I wish I had read Steven Pressfield’s Do The Work when I was in college. I wish it were written back then, but come to think of it, I wouldn’t be here without developing the processes I needed to develop on my own. I’ve made many mistakes and have paid for them, but most importantly I’ve learned from them.

That is the biggest difference between dreamers—perpetual planners—and doers. Dreaming requires no risk, sacrifice, nor discipline. Doing leaves one vulnerable to rejection and failure. Only one route makes you a better person.

Posted on: June 4, 2011 at 9:00 am under: Freelance Protips

3 Responses