We (OpenCraft, developers of the Problem Builder XBlock), would like to hear from anyone in the community who is using Problem Builder.
If you are using Problem Builder, could you please reply below to let us know (A) that you’re using it, (B) what features you are using and why, and (C) if you’re interested in sponsoring any improvements. (If any of those involve confidential answers, feel free to omit details or to DM me).
For context, Problem Builder is almost ten years old, and over the years we have built many features into it for various clients (see below). Some of these are unique features not available in any other XBlock. Others are now built in to the platform.
In recent years we have not had any clients requesting new features or sponsoring the development of Problem Builder. We continue to maintain it to ensure it’s compatible with the latest platform changes, but it hasn’t received any significant development in years.
As I look to the future of Problem Builder, I see a few challenges:
- The big challenge that I’m aware of is that Problem Builder is pretty much the only course component XBlock out there that uses “XBlock children”, and future versions of the platform may not support XBlock children, in a bid to significantly simplify the runtime and improve performance. This means that in the future, Problem Builder may need a major refactor in order to continue to work.I don't think this is an insurmountable problem for Problem Builder, because it doesn't fundamentally *need* to use XBlock children - using XBlock children was just a semi-convenient way to borrow Studio's existing UI system and use it for stitching components together to build problems. (It would only truly need XBlock children if we wanted it to wrap arbitrary blocks, like putting an ORA2 inside a Problem Builder, but we don't support that really.) So Problem Builder could just as well use a visual editor or an XML config (as it did in the past) or a YAML template or any number of ways to define and display problems - it doesn't have to use XBlock children.
- Problem Builder has a large number of features, and we believe that some of them may no longer be used at all. But since we don’t know which features are used or not, the large feature set complicates maintenance, and also makes it more difficult to add new features or improve the UI.
- Both the author and learner interfaces are very basic, and could use some major UX improvements.
Possible Next Steps
If there is community interest and sponsorship, we’d love to plan the next evolution of Problem Builder; perhaps extracting the most valuable functionality into a simpler XBlock with a nicer UX, or deprecating and removing unused features, or simplifying the authoring workflow so that it doesn’t use “XBlock children”. On the other hand, if nobody is interested in sponsoring the development and the platform drops support for “XBlock children” in some future version, we may need to consider eventually deprecating Problem Builder at that time. But before we can make any decisions we need to hear from you - so please reply to this thread.
Current features of Problem Builder
For reference, here is a (possibly incomplete) list of Problem Builder’s features:
Create problems similar to built-in (“capa”) problems, featuring:
- Long Answer (free text response)
- Multiple Choice / Multiple Response
- Sliding scale / slider - “indicate a numeric value on a sliding scale.”
- Swiping - “ask binary-choice questions with a swiping interface”
- Completion checkbox - indicate that a given assignment has been completed.
Display questions in a linear set (“mentoring”) or one at a time / step-by-step (“step builder”)
Include videos hosted by Ooyala within the problems
Display “tips” for specific choices e.g. in multiple choice questions.
Conditionally display messages on complete/incomplete/max. attempts reached/during review.
Summarize/recap student answers to previous long answer questions from earlier in the course.
Summarize/recap student answers in a table.
Display a plot to summarizes answers to scale and/or rating questions.
Display a visual dashboard that “fills in” as learners submit more answers
Instructor Tool to facilitate exporting student answers to a CSV file, for supported question types.