A binary DOM would be much more efficient than HTML, by an order of magnitude or more. When I was working on the BlackBerry browser we did the same thing and had gains at least as big. The problem comes when you have document.write calls in scripts, and start getting dynamic content inserted during parsing. That gets really tricky to handle in a server-side environment if it depends on client-side properties or user input.