Developing for Moodle in 2016 2017
Moodle continues to change and evolve just like most Open Source projects. In May 2016 Moodle 3.1 was released offering new features like the Global Search and implementing Competencies and in January 2017 Moodle 3.2 was released featuring the new Boost theme, Messaging improvements and User tours. The most significant change for me was the introduction of the Boost theme, A Bootstrap 4 based theme for Moodle implementing some radical changes to the Moodle User Interface.
I focus on User Interface development work for Moodle so changes to the Moodle UI have a big impact on my work. Using Moustache templates have signficantly changed the way I code. Developing for Moodle has become more fun and sometimes more challenging.
The Boost theme for Moodle
Boost is the first Moodle theme implementing Bootstrap 4 and a large set of Moustache templates that are used by renderers to push data into simple HTML files and push them to your browser. This is exiting for developers because it separates the logic from the design. Changing the HTML structure has become more flexible and this gives developers and designers more control over the way User Interfaces present data and allows for more radical design changes.
The Boost theme has a very plain and simple design, you could say it doesn’t include any styling it is designed to provide a practical User Interface that just works well. You can add some branding and change colours and some custom CSS and that’s it. The real power of the theme is using it as a parent theme for new themes.
Together with some other community developers I have built the bootstrap version 2 theme for Moodle that went into core in 2015. And I have continued development of the community version which is now using the Bootstrap 3 libraries. There are many commercial and open source themes using these as their parent themes. And it is going to be quite a challenged to upgrade them to using a parent theme like boost. You could say it would be a complete rewrite and I am afraid most developers don’t have the time and tools to do this yet.
But luckily developers like challenges and building a new, cool and user friendly Boost based child theme to release to the Moodle community is going to be one of my challenges this year.
My top individual projects: Don’t Memorise
In 2016 and 2017 I have continued my work for Don’t Memorise. An open video learning platform with over 1400 videos. It includes Quizzes, Lessons and lots of custom plugins. It is still Moodle based, and does not include too many hacks, it is continuously in development and new designs and user interfaces are implemented every month.
The Most exciting features of this project are the module webvideo and the video learning course format. Together they provide a nice way of presenting videos, tracking how many videos you have watched, bookmarking videos, adding comments, sharing videos, rating videos etc. etc.
Our next big development is going to be creating your own playlists of Don’t Memorise videos you can share with your students. Combined with the power of Moodle reports, enrolments, and course customizations we hope to give teachers an easy way of creating their own video based courses without having to understand Moodle structures.
My top collaboration projects: Arup
Arup is a large London based engineering company. They use Moodle for company learning and host many courses. Together with their learning team and other developers we are continuously working to improve the platform and implement tools that can track employee development and learning. All tools created are very company specific so open sourcing any of the work would not make much sense. What makes this a top project for me is the chance to collaborate with some other developers and the learning staff. It is great to have an extra set of eyes on you work and some thorough testing of the work you deliver. It keeps me sharp and motivated!
My top design project: The Moodle academy theme
The Moodle academy theme implements Material design and lots of custom Moodle user interfaces. For this project, I have tried to create a very fresh and modern Moodle theme with a focus on a nice editing interface.
Other features are card based course design showing start dates, available seats and progress.
My future projects.
For 2017, I hope to be able to spend more time on open sourcing some of my plugins and continue working on the UI part of Moodle. I still believe Moodle is a great and powerful open source platform. Occasionally I write code for Wordpress and Mahara and compared to Moodle they seem very elegant and simple. However, the comparison is not a fair one to make. Moodle is extremely flexible and offers many ways for many usertypes to collaborate, create content and do amazing things. There will always be improvements needed but it is getting better and better.