Genesis Theme Framework vs. _s (Underscores) Starer Theme

I’ve spent around 4 hours of the last 24 in my life reevaluating my WordPress development workflow.

Previously, I had been developing all of my WordPress themes using the Underscores starter theme. I do not have any problems with it and I still believe it’s the greatest starter theme available for WordPress to date.

However I had been hearing an awful lot about the Genesis theme framework, and I was starting to wonder if I was missing something by not using it. Could I be developing my websites more quickly and efficiently using a theme framework like Genesis? Would I have more recyclable code that I can apply to new projects as they come up? Are there other benefits that I may not even know about?

So I bought a copy of Genesis ($60). The first thing I tried to do was to create a simple child theme using Genesis. I had never worked with a theme framework before, and it gave me a rude awakening into the world of how they’re constructed. With Genesis (as in other theme frameworks), you become reliant on framework-specific hooks in order to add/remove content blocks or customize your child theme. Rather than edit theme files directly, I am required to make modifications to my child theme’s functions.php to either add in or strip out the functionality that I desire. In many instances I found that in order to make a website look the way I wanted, I needed to remove some of the framework’s default functionality before I could even begin to add in the customizations of my own.

This isn’t a bad way to develop themes at all, and I know that many prefer it. But to me it added another layer of abstraction and complication between the code I’m writing and WordPress itself. Instead of just my own custom theme and the WordPress core files, there’s suddenly a middle-man of the Genesis framework which I need to pass through in order get stuff done. This wouldn’t be a problem if Genesis added some significant benefits to the themes that I create, but quite frankly after giving it a couple of hours of time I didn’t find anything truly worth noting.

The websites that I create are almost always based off of custom designs, and coding those designs into a WordPress theme makes more sense to me as a starter theme. I don’t see a true need or benefit for me to implement a framework like Genesis for the type of websites that I develop. Though I could become efficient at building Genesis-based child themes, I don’t think my development process would be inherently better (or any faster), and the end product that my clients use would not be improved in any perceivable way.  And as for Genesis’s built in SEO capabilities, I personally prefer to use the most-excellent WordPress SEO plugin by Yoast.

The one item about Genesis that does appeal to me is the fact that it allows me to constantly keep the codebase of my theme updated. Because the Genesis framework will always be implemented using a child theme, I will be able to apply updates to my parent theme framework immediately as they become available (and Genesis is good at staying up to date with WordPress best-practices).

With Underscores, I do not have a parent theme. When I download a new instance of Underscores to use as a starter theme, I’m getting a snapshot of where Underscores development is at at that very moment. Once I start making my own customizations, it becomes exceptionally difficult to implement any changes that are made to the Underscores theme itself. This is the one drawback with Underscores (or any starter theme) that I have thought long and hard about. Fortunately, I found this blog post from the creators of Underscores which basically says not to worry about it. I trust their word on this because the developers of Underscores work for Automattic (the parent company of WordPress) and heavily contribute to the core files and general trajectory of WordPress itself.

Sure, there may be a time several years down the road in which I’ll need to update some of my old themes based off of Underscores to implement new WordPress features as they become available since my themes do not have an updatable codebase. But I do not think doing so will present a major challenge for me personally, and the benefit of having complete control over my code in the “here and now” trumps the “what if” that may not even happen down the road.

I did some additional research and found an awesome WP Watercooler video debating the merits between using a theme framework and a starter theme, and also a presentation on Underscores from WordCamp LA 2013 by Steve Zehngut. While there is obviously much room for debate, these discussions and presentations highlight the benefits of using Underscores that is keeping me sold on it for the time being.

One cool tip I picked up was to create my own custom plugin which includes all of the code that is normally added to the functions.php file of my new copy of Underscores. Not only will it make it easier to switch themes or redevelop the website in the future, but it will also speed up the initial development time (once I actually get the plugin created, that is!).

Perhaps I need to give Genesis some more time to grow on me, but for the time being I’m going to stick with Underscores.

If you have any questions or you feel differently, please let me know in the comments below.

 

WordPress for Lawyers

On January 14, 2014 I will be giving a presentation to students graduating from Thomas Jefferson School of Law.

I will be teaching these students how they can set up a website on their own, and will be covering the following topics:

  • What makes a good website?
  • What’s possible to accomplish on your own, and when to hire a professional.
  • How to set up your very own website using WordPress.
  • Quick, but important tips on stat tracking, security and search engine optimization.

Though created for graduating law students who will be starting their own legal practice, this presentation is  applicable to anyone who wants to get their very first website up and running.

The slides from my presentation can be downloaded right here.

Recommended web hosting providers covered in this presentation include:

Dynamically-Sized, Responsive Images with jQuery

Check out the demo and a more in-depth explanation.

This technique builds off of Ethan Marcotte’s image treatment in his book Responsive Web Design, (which I highly recommend).

In the book Ethan demonstrates a technique for making images dynamically scale to the proportions of the browser window. This is done by initially setting all images to a max-width:100% and then enclosing each image in a div with a custom-set width as a percentage.

What I wanted to do was eliminate the need for a custom-coded containing div around all of my img elements. I want to be able to insert my images without writing custom CSS classes and making calculations about the unique width of each image. So with the help of the generous folks at Stack Overflow I was able to come up with a jQuery based solution.

I realize that the demo and my explanation is a little rough for the time being, but if I don’t share this now then I probably never will. Please leave me a comment with any questions and I will do my best to respond.

What is good design?

Note: I actually wrote this article on September 30, 2009 and it has sat as a draft post for the past 2 years. I never had enough conviction in my words to hit the “publish” button, and it became one of the many things I in my life that I had forgotten. However I re-read it today and not only did I realize I liked what I said, but I actually think others might like it too! Enjoy.

I’ve spent a lot of time recently thinking about what good design really is. When I was younger, I used to think it consisted of wild colors, torn edges, and similar aesthetics that sat well with my rebellious spirit and unrefined visual palette. But as I have grown older, more experienced, and become (somewhat) more of a conformist, I thought it was time to re-examine the question in a different light.

I am not going to attempt to answer what style of design is “good,” but rather what elements of any design make it good. I am using web design as an example, but I feel that these points are applicable to any form of design be it print, web, television, etc… I realize design is meant to be seen and experienced, not written about, so I’m hoping my words don’t fall upon deaf ears. Anyway, here goes… Read More »

Why Content is King

I wanted to dedicate my first real blog post to the single most important piece of advice I can give anyone interested in making a website:

Create good content.

That’s it. Providing visitors with good, relevant, engaging content is the absolute best thing you can do to ensure the success of your site.

Read More »

Why am I blogging?

After getting the somewhat-obligatory welcome post out of the way, I figured it would be a good idea to talk about why I am actually blogging and address my goals with this blog.

After all, there are already tons of professionals out there who have been writing about the same topics I plan on covering for years. At some point it makes me wonder, does the world really need another blog? Is anyone even going to read this, let alone take me seriously? I would lying if I said I didn’t have second thoughts, but despite these trepidations I have resolved to move forward.

Here are a couple of reasons why: Read More »

Welcome to my new website!

At long last it’s finally here, and it only took me about a year and a half to put together! Well that’s not entirely true. A more accurate account would be 17.5 months of procrastination followed by a grueling 2-week concentrated effort.

At any rate, thank you very much for stopping by. Feel free to have a look at my latest projects, find out more about me, or get in touch if you have a question.

I plan on keeping this blog updated with my thoughts on user-interface design, web standards and accessibility, web development, search engine optimization, online marketing, and pretty much anything else that somewhat relates to the work I do. I have a backlog of good topics that I’ve been stashing away over the past 18 months, so here’s to hoping that a few of those will finally see the light of day!