There are many awesome contributed themes available for Moodle. Featuring some of them is tricky as when it comes to a site theme, the aesthetical aspects are usually more important than the technical (coding related) ones. Still, there is a theme that definitely deserves the Featured plugin award. Not only for being visually appealing and having a clear code without major issues. But mainly for being a solid foundation for further tweaking and development of other child themes. It is the Bootstrap theme developed and maintained by Bas Brands.
The theme integrates the well known Bootstrap framework with Moodle. Earlier version of the theme, built on top of the version 2.3 of the framework, has been merged into the Moodle 2.5 core and is now known to themers as Bootstrap Base. Bas continued with the development and the theme available in the Plugins directory is now using recent versions of the Bootstrap framework, whereas the merged theme_bootstrapbase has been maintained as a stable solution to keep backwards compatibility with existing child themes (such as the default Clean theme).
I asked Bas, the current maintainer of the Bootstrap theme, for an interview. Read on and see how the development of the theme has started at one of our MoodleMoots, what skills are needed to build a succesful Moodle theme and how contributing to an open-source project can help you to find a paid job position.
Hi Bas. Can you tell us something about yourself and your background?
Bas having a break from coding
I grew up in a small village called Vaassen in the Netherlands and studied at the International Agricultural College in Arnhem. I have always been interested in learning how things work. During my education it was ecology, chemistry and biology. Then I got my first computer and I wanted to learn how it worked and how to tweak it.
While learning about (re)creating new wilderness areas at college, I spent a lot of time building my own Linux kernels and experimenting with code. As soon as I finished college I started working for Sun Microsystems at the Educational center. I helped set up classroom environments and got the chance to work with some very cool and big machines. Since then, I have been active in Open Source communities and worked in various companies ranging from medical to multimedia.
Since 2012 I have been working as a Moodle freelancer. Thanks to videoconferencing it’s easy to work for projects all over the world, as long as you don’t mind being flexible on the time you schedule them. I don’t have to travel much and my dog forces me to take regular breaks. I like going camping with my partner and dog.
How did you get into Moodle and Moodle development?
I applied for a job as a Linux sysadmin for a Dutch Moodle Partner company. They told me the job was already taken but they did have another position that might interest me: doing Moodle systems management and some coding. Since then, I have not stopped working with Moodle and learning more about it.
What features of your Bootstrap theme would you highlight? What makes it unique when compared with standard themes shipped with Moodle?
The Bootstrap theme has had quite a history. It is based on the work done for the Twitter Bootstrap project by Mark Otto and Jacob Thornton. They created the Bootstrap framework which has been adopted in many systems.
The idea for the Bootstrap Moodle theme started when Stuart Lamour (working at Sussex University at the time) told me he could create a very cool theme with little effort using Bootstrap. It wasn’t there yet but in a few days it could be done.
It turned out to take a lot more time, but we started a Github project and did some coding. Soon after, we discovered David Scotson was working on a Bootstrap theme too. We contacted him and arranged a conference call. David is a talented front-end developer and is open (source) minded. We started working together and soon more developers started to contribute.
At the Dublin MoodleMoot in 2013 the roadmap for getting the Bootstrap theme into core started. It has now been included in the core Moodle for over a year; you can find it in your install in theme/bootstrapbase.
The development of the (contrib) Bootstrap theme has continued and the Bootstrap theme that is in core is a version on its own. The contrib theme is now based on version 3 of the Bootstrap framework and uses jquery libraries.
Both the Bootstrapbase theme and the Bootstrap theme in the plugins directory are parent themes. They provide a stable and multi-device friendly base to use when creating a custom designed theme.
Where do you get inspiration for designing Moodle Themes?
Listening to web designers talk on TEDx / Youtube can really help you to learn what’s important in design. I think design is an art and it takes time to develop your art skills. Looking at other design disciplines will improve your web design skills and talking with designers and developers motivates you to try your own designs. The people I have met in the Moodle community and open source design community have been my greatest inspiration.
What software and IDE do you use when developing for Moodle and how does your typical screen look like?
I use simple tools - Sublime text for coding, Firefox for front-end development and the rest using my terminal. My screen is as empty as possible.
Many Moodle plugin developers are looking for a business model that would, at least partially, cover the time spent on their plugin development and support. Can you give some recommendations based on personal experience?
When you write a plugin that improves Moodle for many users, you should release it early, ask for feedback and when you receive it, act on it. Don’t be afraid to share your code and don’t worry if others are working on similar projects. Your skillset is your most important asset when finding paid-for projects and your Github repositories are part of your resume.
What advice do you have for designers/developers who are new in the Moodle community?
Invite yourself to the party; the Moodle community is one of the best open source communities you will find. Identify some measurable problem and do some work on it to show your potential. Be bold, honest and humble. Relax your ego, give recognition and invite others to your quest. Don’t be afraid to ask the community if you get stuck.
Get to know the other developers: visit a Moodle conference and attend the scheduled Moodle developer meetings.
But most of all remember you are developing / designing for users. Always ask for feedback!
Thanks Bas. And good luck with all your contributions!