The one year anniversary of the public release of Roots was on 03/28/2012. It was developed and used in-house for a year and 3 months before being released.

At the time of writing, Roots has 1,718 watchers, 319 forks, 36 contributors, and is the 8th most popular PHP project on GitHub.

There’s been 448 issues and 99 pull requests. We’ve pushed 410 commits. There’s been 10,644 tweets mentioning the Roots website.

We went from having 0 available translated languages to becoming fully WPML compatible with support for 18 different languages.

Project History

I moved from Dallas, TX to Northern Colorado at the end of 2009 and started a job at a place that is basically a website factory, creating mainly brochure and small-business websites built on WordPress.

I was the third employee and was thrown into a job where they wanted me building sites by modifying WooThemes templates. If you’ve ever used a WooThemes template you’d understand that it’s a huge pain in the ass for a developer to work with. I had worked with WordPress and created WordPress themes in the past and knew that we needed a better work process.

I quickly began maintaining my own starting theme since I was tired of having to re-do the same things each time I started working on a new website (before I left the website factory I was usually creating 3 new themes a day).

Combining the Best

The first step was taking the Starkers bare-bones theme and integrating Blueprint CSS. I needed to use a grid system on each site I was creating and I always had a personal preference of Blueprint over 960.gs.

The next step was adding HTML5 Boilerplate‘s markup (when I first started working on Roots, H5BP was actually called frontend-pro-template and maintained by only Paul Irish).

Public Release

On 03/28/2011 I released Roots to the public and emailed a bunch of WordPress bloggers about it. I had zero expectations about the release since there was already a bunch of public starting themes by that point, but my coworkers insisted that Roots was going to “blow up” – I blew off the thought…

Traffic Spikes

  • 03/29/2011 – HTML5 Boilerplate tweeted about Roots (500 visits)
  • 04/02/2011 – Smashing Magazine sent out a Facebook update about Roots (710 visits)
  • 04/03/2011 – Smashing Magazine tweeted about Roots (2,047 visits)
  • 04/12/2011 – Smashing Magazine sent out a newsletter that mentioned Roots (2,602 visits)
  • 04/18/2011 – Smashing Magazine mentioned Roots in a blog post (2,071 visits)
  • 06/13/2011 – Mashable mentioned Roots in a blog post (829 visits)
  • 09/15/2011 – LaFermeDuWeb (French) mentioned Roots in a blog post (888 visits)
  • 01/24/2012 – Web Resources Depot mentioned Roots in a blog post (1,151 visits)
  • 02/08/2012 – Smashing Magazine mentioned Roots in a blog post (1,318 visits)
  • 03/22/2012 – Smashing Magazine mentioned Roots in a blog post (5k+ visits)
  • Speckyboy’s blog post about Roots has sent over 8,000 visits
  • Smashing Magazine is responsible for at least 20,000 visits

GitHub Traffic (04/01/2012)

Major Changes

Adding CSS Frameworks

Shortly after the public release, John Liuti submitted a pull request to add 960.gs integration along with Blueprint CSS. Then came the 1140px Grid. Then came Adapt.js & LESS. Then came Bootstrap & Foundation.

Removing CSS Frameworks except Bootstrap

We made the decision in February 2012 to remove all frameworks except for Bootstrap from Twitter since the codebase was becoming a bit ridiculous due to all the different CSS frameworks.

What I’ve Learned

  • Roots helped me get a new day-job only two weeks after releasing it
  • GitHub is really, really, really, really awesome
  • People hate bugs
  • People are lazy and almost never troubleshoot
  • Most bugs come from root relative URLs and installs in subfolders
  • WordPress has too many bugs in Trac that have been forgotten (even if there’s a working patch) that would help out everybody if they could get pushed through

We’re always fighting against WordPress with the clean URLs & root relative URLs features. There’s also so many different types of installs, from subfolders to different core file locations, to network setups and child themes.

The most stable way to use Roots (with clean URLs & root relative URLs) has always been in root web directory.

Where We’re Headed

We want to simplify the template files, do further re-organization & add better documentation. We’re also going to re-add better support for Gravity Forms within Bootstrap.

Thanks for all the support!