The Plugin Paradox

November 30, 2018

As I've been starting out with Adapt Freelancer and working with my first clients to introduce them to Adapt I've been running into a problem. It's part of a paradox that I've had in the last four years of being actively engaged in an open source community which enables the creation and sharing of plugins.

How do you enhance client choice without compromising on the quality of their experience?

OK, this isn't technically a paradox but it turns out alliteration is pretty good clickbait. Sorry!

Adapt offers a huge amount of plugin choice. With over two hundred community components and extensions, if there is any interaction you can think of that you've seen before on the web or in another Authoring Tool it has probably been created already and released to the open source community. When I introduce my clients to Adapt they are delighted to hear about the amount of choice they have are eager to try out as much as they can.

Whilst this choice is great to present to your clients, the truth is that a kitchen sink approach of using everything for every project isn't a plan for success. Learners are at risk of being confused about all the different interactions that they can perform on a page. As well from a development standpoint, you are risking having components and extensions which have not been designed or tested for by the Front End Developer. As you add more and more plugins in you will have to account for the variations in how they will be used together, making the problem get exponentially worse.

At King's College London when we started with Adapt we were keen to let everyone try all the plugins and work out what they liked best, unfortunately this approach quickly backfired. We installed everything available from the Plugin browser and invited all our staff to experiment with them. We used a "Move fast and break things" approach. Where whenever something wasn't right I would quickly jump in to solve the problem. Whilst this model worked whilst starting out it quickly became unsustainable as we created more and more themes.

While I've regret the approach that we began with at King's, I am at least glad that we had always had a culture of trying to experiment, innovate and try new things with Adapt which were created by other community members. I remember whilst working at Kineo feeling that they did not share this view. Projects were usually hyper-streamlined, with efficient project management accounting for any situation that could go wrong and any possible variables were quickly quashed. This lead to a culture of safe thinking which was reluctant to try some of the amazing community plugins out there.

I think that when community plugins are utilized correctly they can solve unique problems. For example, I have worked across several different industries and have used plugins to create features tailored specifically for each of them. At King's College London we've created various plugins to cater to the needs of Higher Education. In the last few months at Adapt Freelancer I've worked with another client and helped them create a unique experience for their data heavy learners by adding Table and Charts components as well as adding the Mathjax extension that enables formulas to be rendered natively on the page.

With Adapt Freelancer I want to carry forward the lessons I've learnt from my previous jobs and continue to find a middle ground of choice guided by curation. I want to enable my clients to use and benefit from the best and most innovative plugins the open source community can offer. At the same time ensure that they have a great experience, guaranteeing everything they do has been properly tested and accounted for. I want to be able to offer my expert knowledge of the community plugins available and suggest to my client the best solutions to solve their particular problems. However, I also want to ensure they still feel in control of the project and have transparency about which plugins are being used.

I've created a resource that enables me to achieve this, which I've nicknamed APPC. I've used it in a few recent projects and it's enabled me to reach the objectives outlined in the paragraph above. Offering clients a transparent, curated view of the best community plugins available and how they could be integrated into their project.

In a follow-up post I will be going through the benefits of APPC, it's features, as well as a link to download it so you can use it for your own Adapt projects.