WordPress theme development has come a long way in the past few years. We are in the middle of an explosion in the number of different methods a theme developer can choose when it comes to building WordPress themes. This explosion is partly a result of a seismic shift in the broader web design and development community. Just about every single aspect of how we as a community build frontend code is changing – and in multiple directions with different options.
Letâ€™s take a quick look at some of these.
HTML5 is a lot more than just an increment on the bedrock markup standard that the modern web is built upon. Heck, itâ€™s single handedly killing flash. HTML5 opens up a whole slew of new and exciting protocols such as web sockets. While itâ€™s early days yet, the prospect of adopting bleeding edge tech like web sockets into the core of WordPress is an exciting prospect and will have major implications for theme developers in the coming years. For now, many theme developers are switching doc types to HTML5 and utilising the new slew of html tags that help to make our markup more semantic and meaningful – but this is just the start.
For anyone who doubted how important the mobile web is becoming, the recent purchase of Instagram by Facebook for a mind boggling $1 billion dollars is a watershed moment. Theme developers to date have built lots of nice iPhone optimised themes but have we as an industry really looked to leverage the mobile web with our themes? Personally I donâ€™t think so and I think the potential for delivering WordPress powered mobile experiences is huge. On the authoring side of the house we have WordPress for iOS which is cool. But where are the apps that render our content natively on the device instead of just a nice mobile theme? I realise Iâ€™m straying beyond conventional theme design here – but thatâ€™s the point. The web as a whole is moving beyond conventional frontend user interface engineering and itâ€™s time for theme developers to start getting creative about this rapidly growing market.
Somewhat related to the explosion in mobile content is the rise of responsive design. Personally I think there is a lot of hype and hyperbole written about responsive web design. I can see a time in the near future where the chatter dies down and that all our conventional frontend user interfaces will in some form be responsive. I make a distinction between Mobile and Responsive design because they are not the same. Creating a responsive design is not the same as creating a mobile experience. There are use cases and scenarios where the very content we are consuming is designed purely for the desktop or the mobile. Case in point, the Instagram app is the worlds first mobile only social network. They still donâ€™t have a desktop user interface! Hell, they may never have one! Responsive design works great when repurposing article/blog post driven websites. But for web apps built on top of WordPress, user interface design decisions will need to be thought about in much more detail.
CSS gets Sassy (and LESSy – oh – not to mention CSS3)
For years we bitched and moaned about working with CSS as we tried to make it do what we wanted it to do. But deep down while we bitched and moaned – we could at least tame the beast we knew – and thatâ€™s pretty much the way things stayed for the best part of 10 years. Today things are changing quickly. CSS3 opens up a brave new world of cool new interesting things we can do with CSS. Bad news? Getting to grips with it and learning how different browsers support different features. Added to that we now have a whole new set of tools known as CSS compilers which promise to make our lives much easier when it comes to rapidly building modern web interfaces. 2 such compilers are Sass and LESS. Read a nice intro and comparison to both here. Both are pretty cool and will change how you write CSS forever.
Closer to the present day, we have new frameworks popping up seemingly every day for different things. Most commercial theme shops have adopted their own theme development framework as it naturally allows them to speed up their development cycle. Many theme shops have gone a step further and released their frameworks to the wider WordPress community. Some do this as a way of giving back to the community. Others do it in the hope that their framework might gain critical mass in the community thereby giving them a better shot of selling themes to the community at large. Either way, we have a huge amount of repetition going on. Add to that you have frameworks emerging in individual disciples such as the HTML5 Boilerplate which some theme frameworks such as Roots have incorporated into their framework. Same goes for Responsive design where you have lots of theme frameworks popping up which incorporate popular responsive HTML/CSS frameworks.
Donâ€™t forget Theme Options
This was a tough nut to crack for entry level theme developers for a long time. Now it would seem there is an embarrassment of riches available (really recommend checking out the best and worst theme options available)when it comes to deciding how to implement theme options in a WordPress theme. The danger for those new to theme option design is to go nuts. Donâ€™t do this. Youâ€™ll grow hair on the backs of your palms and may go blind*
Take a leaf from Apples book and think a lot more about sensible defaults and limiting theme options to the things that really matter.
Where now for theme developers?
There was a time not too long ago where theme design and development was pretty simple. To be honest itâ€™s not all that difficult now either. What is difficult even for experienced theme developers is deciding where to focus your time. Things are changing fast and the road is opening up in front of us. For those starting to learn how to design and develop WordPress themes in 2012 – things must look very tricky indeed. Which framework should I choose? Should I build my own? (HINT: Don’t). Do I need to worry about Theme Options? (HINT: Not as much as you might think – and check out this nice Theme Options framework. http://upthemes.com/upthemes-framework/). For those of us who have been doing this a long time this is second nature. But I think we as a community could do more to help those who are getting started to avoid some of the common mistakes we all made along the way. Food for thought and something I’ll be more conscious of here with future blog posts.
*Actual palm hair growth and blindness is not a direct consequence of overloaded theme options but Iâ€™m willing to threaten anything to make this stop.