14
Dec

QuizMaster Plugin Project

The first time we worked with WP Pro Quiz was when DatGenius, a dental training website, approached us about a project. They wanted to show the completed quiz results students were taking on their WP Pro Quiz site. This feature which sounds like a given in any quiz system, was not available or even easily supported by WP Pro Quiz. This was the start of what today is an addon plugin for WP Pro Quiz, called WP Pro Quiz Completed.

It was during the “Completed” addon project that I first started thinking about forking the WP Pro Quiz project. There were a number of reasons. I’d seen this style of development before. Conventions ignored, unusual features, limited documentation. It’s impossible to write about this without being critical of the original developer of WP Pro Quiz. So I’ll preface this by saying it’s a major accomplish to build something as sophisticated as a quiz system, and to attract over 20,000 active users, according to the last WP directory stats. Now let’s it real and talk about some of the reasons for forking WP Pro Quiz versus contributing to it and aiming to enhance it as an open source project:

  1. Lack of responsiveness from developer. Every project needs a leader, and if the leader is absent it’s hard to move it forward even with pushes from people who offer help. When pushed code, and suggestions get largely ignored, that’s a big problem. There are countless complaints about WP Pro Quiz support being slow, and when responses do come they are not always as helpful as people would like. Providing support, and leading development, is a tough ask of any development team, let alone a lone developer, but the case is that a user base of 20,000 is going to have questions. Especially if…
  2. The documentation is limited or non-existent. Most aspects of WP Quiz are not documented, if we rated it like translation on a basis of completion we might say it’s currently 2% documented. Consider how this compounds the support issues, because if you have good docs you can minimize support by referring users to docs and save time leading to faster responses.
  3. Extending WP Pro Quiz is moderately difficult. Giving credit where it’s due the MVC approach in WP Pro Quiz makes it’s objects reasonably extendable. Yet for such a significant plugin, it only has about 3 actions and 5 filters, none documented. And more pressing is the widespread use of Javascript in places where PHP or a mix of PHP callbacks from AJAX calls would have made the system easier to extend. Combined with the lack of docs, trying to build an extension to WP Pro Quiz is a “you’re on your own pal” kind of experience. And it doesn’t need to be that way, the plugin is a solid foundation of functionality and with focus on making it extendable it could be possible to develop great hooks throughout.
  4. Language issues. Again we have to give credit to the translation work that makes WP Pro Quiz very accessible. But from an English-version perspective, and a developers perspective, the plugin is littered with English-errors, and very inconsistent use of titles. Helper text is oddly worded and often instructions for options don’t mean what you might initially expect based on the way it’s written.

I could carry on raising other smaller factors but I think you get the point. The distance between where WP Pro Quiz is, and what we would call a good place for a popular plugin is significant. After the release of WP Pro Quiz Completed as an addon, I reached out to the developer of WP Pro Quiz twice asking about opportunities to cooperate in building an addon system, and joint-marketing. There was no response.

Our path forward now with development is a dual-track approach. We’ll be continuing to build addon’s for WP Pro Quiz Completed and offering those in our store alongside WP Pro Quiz Completed. At the same time we’ve created QuizMaster, initially a fork of WP Pro Quiz. As we develop this it will remain fully open source, and after we add value to it we’ll aim to have it included in the WP Directory. Until that time it’s hosted on GitHub at https://github.com/goldhat/QuizMaster.

  • As QuizMaster is developed we’ll be creating a QuizMaster Pro version. This will be an enhanced feature version of QuizMaster with support for some of the features often requested now from the WP Pro Quiz project.
  • We recognize that quiz systems are used in a variety of ways, and the base plugin itself cannot (and should not) try to serve all. Instead it should be extendable so that developers can easily add custom plugins that tie into hooks the quiz plugin provides. QuizMaster will be highly extendable, with great docs and tutorials. We view it as a platform for quiz management.

Where can we improve QuizMaster and add value compared to the WP Pro Quiz plugin?

Before we add any functionality to QuizMaster we’ll be starting with a revamp of the foundation of the plugin and aiming to bring docs up to a good standard.

  1. Document existing features.
  2. Add hooks and filters to existing codebase.
  3. Improve the UX in key areas such as “Add Quiz” form, adding tabs/accordion or other approach to organizing options and making the page less cluttered and daunting to users.
  4. Fix existing codebase issues reported on WP Pro Quiz issues pages.
  5. Look into data storage and see if there is a way to optimize it, or reduce use of custom tables.
  6. Develop a migration path, preferably an automated migrate from WP Pro Quiz to QuizMaster.

Do you want to contribute to this initiative as a developer, or run a WP Pro Quiz powered site and want to share your input? Your comments below are welcomed! Thanks for reading about QuizMaster.

About Joel Milne
Lead developer at GoldHat Group.
No Comments

Leave a Comment

Your email address will not be published. Required fields are marked *