These State of my Toolset blog posts are becoming a annual tradition on pixelyzed.com and this year will be no different. If 2012 had been a year of all around stability and growth for me and my business, 2013 was one of continued growth in my business but one of significant change in my toolset.
Those changes were brought by the same desire for efficiency and refinement to my workflow that I’ve described before but also because I’ve been going back to some of the core principles I learned and followed when I first learned my craft and started my business in the mid to late 90’s and early 2000s. I was a strong Web standards advocate then, long before it was popular to do so and long before Web professionals realized that clean, semantic HTML code was good for search engines optimization and accessibility (that was before Google…).
While not exactly bad in that respect, I started to feel that iThemes Builder, my main theme framework in 2012 and the first half of 2013, was not as good as I’d liked in that regard. I was starting to find its HTML markup way too heavy with an overuse of div containers, too many CSS classes and not enough effort placed on semantics. This was done by design at iThemes with the goal to make creating different layouts Builder as flexible as possible. I was also starting to find styling it (CSS) tedious and frustrating because of all those extra containers with similar class names that made the code difficult to read.
In addition to that, my business partnership with a designer has given me more time to concentrate on strategy for my clients in the last year and see what I could do to help them better with their business. This entails many things not related to WordPress but, one of the ways I felt I could improve our offering and our WordPress development process is with natural on page SEO. That means, among other things, clean semantic markup and faster load times. So I started re-assessing my themes toolset and looked for ways to improve it. Again, not because Builder was bad at this but it’s not using HTML 5 elements and it’s heavier markup makes it so search engines have to get through more code to get at the actual content. It’s not a ton more, but SEO is so competitive, I figured that every little bit counts.
One of the other changes I made to my WordPress themes toolset in mid to late 2013 was to discontinue my use of WooThemes Canvas which had become my second go to theme after Builder. While I still think Canvas is a great theme for many people and use cases, I felt it failed many of my own theme selection criteria and caused me too many issues in the months prior to that decision. See my Canvas Theme Review for more details on the reasons behind it and keep in mind that my situation is not the the same as yours. Canvas is a solid product, it’s just not for me at this time but I’ll definitely keep an eye on its evolution. I also have several existing client sites running Canvas but those will be migrated in time. No rush for now as Canvas’ current code base is far more solid and modern than that of my aging legacy Headway 2.0.x sites which will stop being supported very soon (if not already). So it’s not the same kind of issue at all.
As for iThemes Builder, it’s still part of my toolset despite the points above but it now plays a secondary role. Sites I have built on it are still running great and the framework is still as stable and reliable as it ever was as per my theme selection criteria. I feel no urgency to migrate those sites to another framework either. I also hope that iThemes will hear mine and other people’s requests to modernize and simplify Builder’s markup as that would bring it ahead of almost all other frameworks out there. But in the meantime, I have to move forward and use what I feel are the best tools at my disposal to serve my clients.
Genesis, My New Standard
From reading these posts, you may get the impression that I switch themes all the time and go for the latest shiny thing I find 😉 It’s actually not like that at all. It’s just that, as I gain experience and my needs evolve (mine and my clients’), the tools I use sometimes have to be changed. That’s what has been happening with me and WordPress theme frameworks. Also, I’ve actually owned a Genesis license for a while now and got it long before I started using it so it wasn’t completely new to me. I was familiar with both the product and the company behind it. But when I first bought it, I still had strong reservations about hooks based theme frameworks. My then recent fallout with Headway and success with Builder made me reluctant to use hooks based themes for a variety of reasons that made sense to me at the time but were starting to matter less and less in 2013 with a different level of experience.
I’d kept circling back to Genesis to try it again with each new release because I liked the people and company behind it. It also has a huge and very active developer and user community around it that I think is only rivaled by WordPress itself. That was very attractive to me because a strong community means an abundance or resources (tutorials, products, services) and professionals you can depend on when you are in need of help. StudioPress themselves have solid documentation and support resources. Larger communities also often means a more stable product that is better tested in the wild with a variety or hosting configurations, plugins, etc. Like iThemes, StudioPress also has a reasoned and prudent development philosophy where they make sure minor updates and major upgrades don’t break existing sites. That is huge for me.
Genesis also brings a different way of working than what I was used to and it takes a while to learn and master. So I hesitated to make the plunge. But last spring, StudioPress were preparing the release of a new major version of Genesis and made the beta of Genesis 2.0 available for testing. That new release included support for HTML5 and Schema.org structured data markup which Google recommends. This means that the front end code was far more semantic than Builder’s or even Canvas which does use HTML5 but not Schema.org markup. So I tested the 2.0 betas and gave Genesis another shot… and that time it really clicked and I haven’t looked back.
At this point, I work exclusively with Genesis for new projects and I wonder why I waited so long to do this. Genesis is one of the most powerful WordPress theme frameworks out there yet it’s a lightweight product that is not bloated with superfluous features. It’s really ideal for developers and doesn’t have silly drag & drop or a ton of options. But its hooks system makes it extremely flexible. You can remove an entire feature from one place (like a menu) with one line of code and move it elsewhere with another. All that from either functions.php in a child theme or a template override if you want. I’ve used both depending on the depth of modifications I need to make to its standard display of a WordPress type of content. I find this system very elegant now. It’s like building something with Legos where you take a piece somewhere and “plug it” elsewhere easily.
Genesis also comes with a lot of ways to modify standard WordPress output or its own (comments, post meta, footer or breadcrumbs. etc.) through filters and also comes with useful specialized widgets to display posts and pages in a widgetized home page for example. Like I said, it doesn’t have a ton of options in the admin but those it has are the right ones and are truly useful. But one thing I quickly realized that sort of suprised me is how well it integrates with WordPress in a standard way. You’d be surprised how many themes break WordPress standards to change basic things like date/time formats (Builder included). Many StudioPress and third party child themes support the built-in WordPress theme customizer instead of proprietary UIs to do the same things as Canvas and others. This makes a lot of big and small things so much easier.
Lastly (I’ll write a separate Genesis review later that goes into more details), as more of a front-end guy and Web standards advocate, I love how clean and easy to read and style its HTML code is. The CSS code itself is also well organized and elegant. Genesis is the easiest framework to style in all the WordPress theme frameworks I’ve used. The attention to details at every turn is obvious and I really love that. Did I mention that Genesis is fast too which is not surprising for such a lean framework?
For some projects I’ve also leveraged some of StudioPress‘ predesigned child themes which I all found equally well built and easy to customize. Many third party developers also create and sell amazing child themes for Genesis so even non-coders can leverage the power of Genesis and many do.
Dynamik Web Site Builder: The Perfect Companion to Genesis
Another framework I had looked at in the past was Catalyst. Catalyst was a framework very similar to Genesis in that it was hooks based and quite lean. But at that time, I had the same reservations I had for Genesis and since Catalyst was not as well known, I hesitated to spend much time with it even after buying it. But the gem in the Catalyst toolset was not Catalyst istelf but its Dynamik child theme.
In the months before StudioPress released Genesis 2.0, CobaltApps the company behind Catalyst and Dynamik decided to discontinue the sale of Catalyst and concentrate on developing the Genesis version of their Dynamik child theme as well as a plugin with some of Dynamik‘s functionality called Genesis Extender. That made me look at it again much more closely and I was sold. Many of my Genesis projects in the last few months have been done with Dynamik, including this site and my business site.
What Exactly is Dynamik Web Site Builder?
Dynamik Web Site Builder is a Genesis child theme with hundreds of powerful point-and-click visual design options as well as amazing developer-centric tools which make it a truly well rounded site builder tool for Genesis and WordPress. It also comes with powerful home page layout tools.
A detailed review for Dynamik will also come later so I won’t go into all the details here but, for me, Dynamik is a great time saver. One of its more useful and powerful features is that it can export site layouts you create (complete with typography, layout, colors, logo and other images, etc.) and export them either as reusable skins or as a single separate standalone child themes you can activate in place of Dynamik if you do not want your clients to mess with all those design options and development tools.
Like Genesis, Dynamik is fast and lean in the front end as all the CSS from your styling choices is minimized and saved to a real CSS file. Same for any functions, hooks, widget areas or WordPress or page templates you create.
Something I’d been working at in 2013 and first half of 2014 was a way to improve my WordPress development process with the reuse of code or elements (in the widest possible sense of the word elements). This had 3 separate goals. One was simply a general goal of increased efficiency to help us start projects with as much done as possible with common features already in place. Secondly was the need to share those elements in an organized manner with sub-contractors which we’ve started to use this year as our business grows and my own role changes (more on that in another post). Lastly, we also want to offer some pre-made site “packages” to clients with smaller budgets and needed a way to quickly build and reuse layouts. That’s exactly where the Dynamik child theme shines and why I have adopted it in my Genesis development process. Dynamik is also improving rapidly and its developer is very active and engaged with his user community. He’s in this for the long haul which fits with my theme selection criteria.
It’s impossible for me to say I’ll never change my main WordPress theme framework again as I’ve done this often enough… 😉 But I’ve really found my stride with Genesis. I trust the product and the company and I truly love the community. More importantly, I feel I no longer have to make any compromises on the quality of the front-end code that is rendered when using WordPress as opposed to coding Web sites by hand as I used to do. In short, I believe I serve my clients better with Genesis and I love doing so more than ever.
Next, my first State of My WordPress Toolset post on plugins! Stay tuned!