Building a platform for the community in 2016 and beyond

22 December 2016 · by Daniel Brierton

2016 has been a busy year for the software development team in the CoderDojo Foundation. We, Guillaume and Daniel, joined the team in March and June respectively. We inherited the CoderDojo Community Platform (Zen), and became the CoderDojo Foundation dev team (yes, the entire team). The platform is where people can search and find Dojos, sign up as a mentor, book tickets to Dojo events, award and receive digital badges and chat on forums. We had two great, talented interns, Adam and Cian, work with us this year. The only catch was that we had to teach the platform to them while learning it ourselves.

What have we focused on?

Our main focuses have been stability and usability, while also fixing bugs and dealing with support requests. We’re not there yet, but we’ve made great strides towards our goals. We’ve put a base in place for end-to-end tests, rolled out a complete (well, almost complete) redesign of the CoderDojo platform, implemented polls via email and text, and made maintainability and security improvements across the stack.

Our biggest user-facing change

The UI refresh is the biggest user-facing change we’ve done. We wanted to make the Community Platform clearer and easier to use and feel like a part of the overall CoderDojo website. Core features like navigation, profiles, registration, event creation and Dojo user management have already been redesigned, but we’re not finished yet, and will continue to improve upon this in 2017. More on that later!

But what use is a pretty UI if it crashes when you use it?

We’ve improved logging and error reporting, so we can triage errors and find the root cause. We’ve also started writing full end-to-end tests, so we can be sure that we haven’t broken anything when we push changes to the server. If you see an issue, please report it, so we can take the necessary steps to ensure it doesn’t happen again, to you or others.

Our Most Technical Challenge

Text messaging for polls was definitely the most technical challenge we’ve had all year. We had to implement a queuing system to ensure that, not only delay sending the text messages but also survive restarts of the service. We succeeded, and messages went out on schedule. We got a great response rate, so a big thank you to the amazing community!

Security is of great importance to us. With help from security experts at Riot Games and EdgeScan, we’ve been able to identify and resolve a number of issues. We’re continuously reviewing our codebase and those of our dependencies to pinpoint and fix vulnerabilities. We’ve also implemented a new permissions system to better lock down our services to those who should be able to access them.

Reacting to Feedback

We’ve gotten great feedback from the community, whether in person at Coolest Projects and DojoCon, or on our community forums. Feedback is essential. Without it, we can’t prioritise the features we need to implement to address the key issues users face day-to-day. For example, improving the on-boarding flow for new users, a pain point pointed out by a number of community members. No longer will you have to figure out where to add your children, or try to figure out how to get back to the Dojo map to join your Dojo. The CoderDojo platform will step you through everything you need to get up and running.

Looking towards the future

As 2016 comes to a close we look forward to the year ahead. We have some exciting new features coming in the new year, as well as refinement of our existing ones. We’re working on a more detailed roadmap for 2017, but here’s a short list of just some of the features you can expect in 2017:

Profile visibility – Why bother uploading projects to your profile if nobody can see them? Soon, Dojo champions and mentors will be able to see basic details of Dojo members, including the projects feature when it goes live

Kata – Kata is currently a completely detached MediaWiki deployment. Integrating with it for content discovery would be… a challenge. Not to mention its numerous usability issues. So we plan on getting rid of it, replacing it with a purpose-built platform that will be integrated into the CoderDojo Platform, making content discoverability significantly easier.

Start a Dojo – The current start a dojo process is messy at best. It’s not clear to the user that their progress is saved (and even then, it’s locally stored until they submit), and too much detail is hidden behind info popups. We’re going to rework this page to provide a progress indicator, a proper way to save your progress and to make it clearer for prospective Champions.

Improved user on-boarding – This has been a pain point for many users. It’s currently pretty unintuitive and in dire need of a rethink and rework.

Projects – The ability for youth to be able to upload their projects and display them on their profile.
Tools for Regional Bodies – Regional Bodies are there to provide more local support for Dojos. In order for them to do this, they need the tools to connect with the local communities.

2016 has been a great year for both of us, we love working with the Foundation and the worldwide community. We’re looking forward to working with you all on making the platform better, more robust, and easier to use. Thank you all for your feedback this year. Keep it coming!

Zen, the Community Platform, is an open source project, and we’re always more than happy to take in code contributions. You can read more technical details on GitHub.