A player built on open-source technology to natively play QuML Questions & Question Sets. This player will be optimised to play content faster and support building capabilities much faster in future.
As a User I should have a player to plug & Play the Questions from various data source. For example, questions from various Question banks stored in QuML format.
Should work as open standard for rendering of question banks with customised User Experience. So, someone should be able to build a custom player using these guidelines and open-source QuML player library. This player's architecture could be leveraged to build other such players for other content types.
As a User I should have a native playing experience of playing content across all device platforms (Desktop,Mobile & Tablet). So content would respond to various consumption channel's form factor and resolutions. This player would also have richer UI / UX such as new navigation, responsiveness, orientation support (portrait / landscape). For example, playing MCQ in portrait mode.
It would support use-cases such as Quiz, Mock Test, Timed Test, Training Assessment, and more.
Player capable of relatively lighter deployment capability is desirable. This we will achieve by migrating / complying to NPM standards. This would make player size less (light-weight) and make deployment cycles faster & lighter (internal dev team).
Player should be brand-able based on minimalistic input. So we can have multiple themes of the player to visually differentiate for various use-cases / user-groups. This player would support configurations to enable / disable certain capabilities.
It could have capabilities (in-future) such as:
- Question Ordering such as branching logic,
- Player would support dynamically fetch sets of exam based on a blueprint
- Animation
- Theme
- Time Keeping. Timer - enforced exit or stopwatch
- Behaviour Metadata
- Attempt Metadata
- Score Board
- Receiver of all Event Emitters of Hosted Templates
- Loader
- Telemetry wrapper for all emitted events
- Common Latex library which can process inline latex content
- Shuffle questions to give equivalent yet different test
- Instruction (start) page
- Summary (end) page
- Report card for detailed question level results
- ...
Beneficiaries / Stakeholders
- Developer community
- Building on open-source standards allows us to attract more contributors
- Ease of development due to latest tech stack and popular industry technologies
- Users
- Faster player
- Better User experience
- Lightweight device storage requirements for player installation
- Help reduce content size due to template bundling
- Product & Business team
- Cost / Time / Effort of development would reduce
- Faster feature dev
- Customisations supported - various use-cases supported by one player