HTML5 + JS: The Future of Open Education


There are number of good tools today for creating interactive, educational content. These tools are very powerful but have a steep learning curve. Back in January of this year, I postulated a framework called "Karma" that would make it easy as possible for software developers to start creating educational software. Eight months later, I am proud to announce the release of version 0.1 of Karma, codenamed "Osito".

Release 0.1 is very much an alpha release and we have long way to go to reach this project's goals. In essence, the Karma project aims to create a set of templates for creating interactive lessons using standard web development technologies. It bears special emphasis that these lessons can run online or offline. We are developing Karma expressly for the Sugar environment but we are making it flexible enough so that it can be used as broadly as possible.

The following presentation goes into much greater detail on the rationale for Karma and its technical architecture.

You can play with the first demo lesson here. The Karma framework is at alpha stage and under rapid development. At this time it only runs on Firefox 3.5.

The is release of Karma primarily consists of two components: the jquery plugin jquery.karma.js and a navigational layout, called Chakra. These two components are not yet fully integrated. Felipe Lopez Toledo has done a fantastic job writing this plugin while a participant in the Google Summer of Code. Christoph Derndorfer and myself designed Chakra with generous input from Om Yadav, Rabi Karmacharya, and Dr. Saurav Dev Bhatta.


Yes Virginia, HTML5 + Javascript is the future of Open Education

While I believe that HTML5+JavaScript is the future of interactive, educational content I am not suggesting that Karma will be the best HTML5+JS solution. I certainly hope that others who recognize its shortcomings either join us to make it better or create their own solutions independently.

Going Forward

Karma won't end with version 0.1. Both Felipe and myself will be working on Karma full-time throughout this fall. We have an ambitious road map which you can follow here.
. If you want to get involved, please visit our Get Involved page.

About the Name

It is worth reiterating that we did not name this project after the religious concept of Karma but after the individual Rabi Karmacharya. Similarly, the karma logo depicts the sanskit word "om" after OLE Nepal content director Om Prakash Yadav.

Related Entries


Best of luck for the Karma Project.

Dear Bryan,
very interesting project!
Do you think our library JSXGraph ( could be useful for your project? It provides interactive geometry and function plotting with JavaScript and SVG (and VML). We would be happy to support Karma.
Best wishes,


I think jsxgraph could be extremely useful! I hope to take you up on your offer soon.

This vibrant ecosystem of tools like jsxgraph is the one of the key reasons i chose to base Karma on javascript and html5

Have you looked at a low tech approach

cat test.html | sed 's/$title/this is the title/g' > test_local.html

Where you use tags for the language elements, such as "$title" then the install script runs and converts the text. 20 years ago we would read in the language file with the translations.

Well done!
Looks like a very promising platform!
Runs smoothly on the XO-1 with firefox 3.5!!! Hopefully will be the case with more complicated applications.
And a small bug... The gorilla says correct even in the wrong answers (it move the opposite way though)

mavrothal, tks for the bug report. Problem now fixed!

I expect 10x improvement in browser performance over the next 2-3 years. So I feel it is safe to say that you will be able to build much more complex activities with karma in the near and long-term

"I expect 10x improvement in browser performance over the next 2-3 years" if we manage to avoid feature creep! I mean, Netscape Gold was just amazing (even had VRML built in!), and the early Opera had almost no footprint, but that was like 15 years already, no? I doubt Firefox or any such current offerings is more efficient, and efficient (speed + effective is what I call performant)
Hope you're right! anyway, as with other things, my vision is to improve and make simpler, smaller and cheaper anything rather than going for bells n whistles, which seems to be what many are after nowadays.