Front-end Developer, John Albin Wilkins, has been a web developer since the Paleolithic Era. In 1993, inspired by his exploration of the entire internet (then only NCSA’s and CERN’s websites), he embraced the open culture of the web and began building websites. Now one of the leading contributors to the Drupal community, he is the lead for the Drupal 8 Mobile Initiative, one of the top 30 Drupal contributors to Drupal 7, and maintains several well-used contrib projects, including the Zen theme, Menu Block, Menu Position, and Fences.
We sat down with John to discuss his Zen theme, Drupal 8, and the future of the Drupal community and his role in it.
Drupal front-end evangelist” -- what is it about Drupal, specifically, that appeals to you?
Initially, I was just looking for a content management system (CMS) that had all the features I didn't want to write myself. That was over 12 years ago. What's kept me using Drupal is that I've learned that a wide range of viewpoints makes for better software; that's the Open Source ethos.
Additionally, the more diverse a group is, the better the ideas are that go into the software -- and the Drupal community is very welcoming and open to anyone. I was very fortunate to find them early in my career and not get burned by other more bro-centric projects.
Zen theme, which you built, has been downloaded over 1.75 million times and is the most used Drupal theme. In your opinion, what is it about it that makes it so popular?
To be honest, the reason the download count is so high is because it has been around forever; it turns 10 years old on October 11, 2016! But its popularity is definitely because it has always strived in those 10 years to be an exemplar of best practices for both front-end development and Drupal theming. It doesn't include ready-made designs like Bootstrap, but it includes a great blank canvas for custom designs along with tonnes of inline docs that explain what all the parts of a Drupal theme should do.
Drupal 8? And are there new features in Drupal 8 that Zen is benefitting from?
With the last version of Zen for Drupal 7, we introduced a task runner, style guide, and component-based CSS. That work took three years as it required multiple iterations to get it right. In Drupal 8 we want to expand our previously CSS-and-JS-only components to include the HTML in Twig files so that we have a single source of code for each component that is used in Drupal and in our style guide.
However, there are a 145 Twig files in Drupal 8, so it's going to take a lot of effort to convert all that HTML into components!
I was the initiative lead for the Drupal 8 Mobile Initiative. We got all of Drupal 8's themes converted to be mobile-first and responsive, most of Drupal's forms to work on mobile, helped shape the HTML5 Picture element spec while implementing the Responsive Image and Breakpoint modules, and introduced the first official version of Drupal's CSS standards. My job as initiative lead was basically a cheerleader, brain stormer, and consensus builder. I wrote a little of the code, but the vast majority of the work was done by others. I am extremely proud of the work that everyone did to make Drupal 8 mobilicious.
Definitely go to a local Drupal User Group meetup and meet some other people interested in Drupal. The community is really great at sharing their knowledge. Then, if you can, figure out when and where the nearest Drupal Camp or DrupalCon is and go to that too. Also, check out the videos of all the amazing DrupalCon presentations on YouTube; they can help you figure out much of Drupal 8's APIs.
There are two somewhat divergent subjects I'm excited about:
One, of course, is the work being put into Zen for Drupal 8; there's also the possibility that the code we write could become the basis for a more generic Twig component library that other PHP projects could use.
The second thing I'm excited about is the interaction the Drupal community recently had with the Ember.js project. There's a lot of shared interests and goals between the two projects and I wish I could clone myself to really dive into connecting the two communities.