I have revised now the setup of my “live vote” presentation as the bespoke.js framework had several glitches where plugins did not work correctly. I am using now reveal.js that allows also to embed external pages (like zenpen), zoom effects and slide overview in a nice graphic layout.
The graphics engine was also replaced. d3.js is an extremely versatile but it takes hours for doing minor changes. So I switched to Kendo UI charts that are much easier to program, making some fancy live statistics :-)
I also thought to setup a socket.io server to push new pages to the clients (currently they initiate their own refresh) but at the end I found it too time consuming as spending time on content is being more important. Right now I am sending out an ajax request to store the actual presentation slide for the clients.
var i = Reveal.getCurrentSlide().children[0].id; Reveal.addEventListener( 'slidechanged', function( event ) { i = $("span").eq(event.indexh).attr("id"); $.ajax({ url: "server.php", type: "GET", data: {"k":event.indexh} ); return i; });