# RE: Nice technical overview on Houdini

From: Paul Topping <pault@dessci.com>
Date: Thu, 28 Apr 2016 16:43:57 +0000
To: Ivan Herman <ivan@w3.org>, W3C Digital Publishing IG <public-digipub-ig@w3.org>
Message-ID: <B6C5B1ABA88AF446821B281774E6DB71B71C7063@FERMAT.corp.dessci>
Although some on this list may cringe at this suggestion, Houdini sounds like a web standards way to implement what we lost in Internet Explorer. IE used to support COM plugins that implemented what Microsoft called Element Behaviors. my company's MathPlayer was such a plugin. Basically, the browser called into the MathPlayer object to ask how much space it needed on the page. MathPlayer then queried things like the "ambient" font and size at the location of the object, read MathML from the DOM, formatted the math, and reported back how much space was needed. After IE formatted the page, it called the MathPlayer object to render itself. Of course, MathPlayer is programmed in C++, not JavaScript, and all the interfaces were IE-specific, not web standards. And, of course, Houdini will do much more than this.

Regardless of what people think of Microsoft and IE, this basic model was a good one. If Houdini allows us to do something similar but in a web standard way, it would be a big win, IMHO. The concern over JavaScript slowness will be eliminated by a combination of:

-          WebAssembly (https://webassembly.github.io/) which will allow a fast-running subset of JS to be downloaded in binary form. There's no reason such code can't run as fast as native C++.

-          Making sure that low-level, slow-running operations required for JS code to do math formatting properly are implemented by browsers in a standard way. As I understand it, MathJax is slowed by the need to play DOM games to measure certain things that the browser could much more easily and quickly calculate.

I like the idea of both (a) a top-down approach of making sure Houdini has what is needed for math (and music, ...) and (b) a bottom-up approach to make sure browsers have facilities that allow math formatting (and accessibility, etc.) to be done quickly and easily.

Paul

From: Ivan Herman [mailto:ivan@w3.org]
Sent: Thursday, April 28, 2016 12:15 AM
To: W3C Digital Publishing IG <public-digipub-ig@w3.org>
Subject: Nice technical overview on Houdini

It is a very high level overview but, for those of us who are not experts in the guts of Web+Javascript development, it may be helpful to have a general idea:

https://www.smashingmagazine.com/2016/03/houdini-maybe-the-most-exciting-development-in-css-youve-never-heard-of/

Ivan

----
Ivan Herman, W3C