Wednesday, November 02, 2016

WebAssembly - a way to create educational simulations for the web?

I just came across WebAssembly in a news post on The Register - this is quite an exciting development from the e-learning point of view. Simulations can be one of the most effective teaching tools, allowing student to investigate things and do experiments that would be impractical to do in the real world. Although it would be perfectly possible to write simulations for education in JavaScript, the ones I've used have been compiled desktop software, written in C++, and probably would have run too slowly in the browser.

C++ applications on the web is not a new idea - LLVM implemented in JavaScript provides that, and OpenTTD online shows that it can work remarkably well, however WebAssembly is likely to lead to better tool support, much faster execution and the option of writing in rather nicer languages. As it is supported by Google, Microsoft, Mozilla and Apple it should be implemented in all the most popular browsers. This combination of good (and ideally easy to use) tools and near universal browser support should make it much easier to target the browser, and also to port existing simulation code to the browser.

Of course, at one time Java Applets and Flash both promised much of this, and security worries and politics have largely eliminated them. Hopefully WebAssembly will avoid these pitfalls, however abuse by advertisers could still be a problem, and that might well be its downfall.