I recently mentioned how I am now ‘DogFooding’ my WordPress themes. Part of the reason for this is that I want to make sure that my themes are ready for the real world before I make them available for sale to the public. Well, Carmack is now ready for the real world.
The process of testing a theme is long and complex. I test all of my WordPress Themes against some test data that is designed to break things that might be missing. My themes are also all tested (and code reviewed) by a third party – Carmack has been extensively tested by the wordpress.com team. I am now testing my themes on a real world site, and this has led to a number of changes that improve how the theme works.
Earlier this year I started keeping extensive change logs for themes. Obviously I have changelogs of my own since I use version control, but my customers don’t have that, so I now keep a change log at the bottom of the themes readme.txt. Carmacks looks like this:
= 2.4.3 - 14 August 2016 = * Tweak margin size on .intro class so that content is spaced better * Tweak related posts thumbnail sizes so that the image proportions more closely match the proportions used on featured image thumbnails to reduce instances of thumbnails being cropped. = 2.4.2 - 3 August 2016 = * Fix issue with responsive menu showing the second menu when it's not actually in use * Tweaked overlay menu margins to better line things up on small screens * Tweak link colours to make them stand out more * Tweak text ligatures so that they are less imposing * Improve styles = 2.4.1 - 31st July 2016 = * Improve menu rtl styles = 2.4 - 30th July 2016 = * Set up theme auto updates (self hosted only) * Hide post date on sticky posts * Make it clearer which menu goes in which location * Tweak css for post embeds to reduce instances of them overlapping other content * Change style deregister to dequeue since it seems to work better with WP4.6 not creating php errors * Update rtl.css = 2.3.3 - 19th July 2016 = * Make the background triangle flip when viewing in rtl mode * bump scripts and styles versions * Add a generic button css class to allow links to be turned into buttons = 2.3.1 - 17th July 2016 = * Add 'All' link to projects list so that visitors can get back to the portfolio homepage easily = 2.3 - 10th July 2016 = Various accessibility Improvements including: * improve focus styles of overlay hamburger * improve focus styles on slider buttons * change slider nav to use buttons instead of links * improve aria landmark roles * move role="contentinfo" to more appropriate place (footer credits rather than entire footer) * make slider navigation more descriptive for screen reader users * improve descriptive text on post pagination * make keyboard focus jump to overlay when overlay is opened * restrict keyboard focus to overlay when it is open * improve contrast on sidebar links * fix skip to content button so that it's visible again * make back to top link set focus correctly * improve aria roles on overlay toggles * add option to disable autoplay on the slider * Improve heading hierarchy when using a static front page = 2.2.1 - 9th July 2016 = * Update slider.js to the latest version (in preparation for improving accessibility of slider.js) = 2.2 - 6th July 2016 = * Fix issue with some post formats not displaying if they didn't have the required properties * Fix issue with infinite scroll footer getting covered up. * Improve rtl.css = 2.1.1 - 4th July 2016 = * Make sure the header image is centered on large displays = 2.1 - 29th June 2016 = * make the_posts_pagination display more pages = 2.0 = * wordpress.com release = 1.0 = * Initial release
In fact I now include the changelogs on the themes documentation so they are publicly available. You can see Carmacks on the Carmack docs page.
Note that most of a themes changes happen in the first month or two. After this I do update themes, but the changes tend to be less frequent.
In addition to all of these improvements I have now developed an auto update system, so that my commercial themes purchased for self hosted sites can be updated through the WordPress admin. I’ve now updated Binary Moon using this system about 5 times, and it’s worked well every time (I’m pleased to say :)). Carmack is the first theme I’ve made available that uses the new auto update system. I will be updating all my older themes to include it in the coming weeks.
Along with making Carmack available commercially I’ve created a simple widget in the sidebar that links directly to the theme purchase! 🙂