Before H5P, it was a pain to share interactive content. This was due to the way the older file formats worked. Let's say you wanted to share an interactive video with someone on a different system. It should be as simple as sending a copy of the video as you would an email attachment. But if you used an older file format, you wouldn't be sending a copy of your interactive video but a set of instructions on how the receiving system can recreate the interactive video.
It's as if you made a cake and wanted to send it to someone but instead, you sent them the recipe and asked them to bake it themselves and hope that they could bake the exact same cake.
This was flawed in both theory and practice. In practice, most of us who have tried to move content between systems that support these standards know it doesn’t work. In theory, it is unnecessarily complex, resulting in duplicated efforts with the same players, authoring tools, and import/export facilities being implemented over and over again. Also, if you make a standard for how something can be described it means that you can only represent the things the standard allows you to represent using the standard.
The H5P file format takes a completely different approach. Instead of describing the content, it is the content. And it comes with a default code for both editing and displaying the content. That means that the content will always work, look and feel the same. Furthermore, it means that anything can be represented using the H5P file format and be rendered exactly how it was packaged.
If you’re new to H5P you might get a couple of worries when reading this.
Doesn’t this mean a lot of duplicated code?
Will machines understand the content? Will reporting, adaptivity, and more be possible?
When an H5P file is imported the system checks if it already has some of the files that H5P uses. If it does it will only keep the newest version. There is no duplication of code.
Each H5P content type documents its own data structure and semantics in a standardized way. Machines understand the H5P content and it is easy to make alternative presentations and authoring widgets. H5P also uses xAPI to report on user actions so that the richest reporting and adaptivity options are supported.
A World of Interactive Content
With the H5P file format, a mathematics lesson explaining Pythagoras' theorem can be created by a high school in Norway then translated and reused by students in Egypt who could add their own modifications and then shared again with another school in China.
When interactive content can be shared as easily as an image or a song, it will finally be able to harness the scale and openness of the web. H5P as a de-facto standard for interactive content has the potential to open the world up to the sharing and reuse of interactive content in a way never seen before.