Live votes during presentation (reveal.js)

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 :-)

Individual response times in seconds from 15 students (anonymized names on the right). Students can respond to a question as long as the question is on display. The stacked bar shows the time being faster than the slowest responder with the first to last question from right to left end of the bar. The individual  in the middle was extremely fast following my initial explanation. The two individuals at the bottom responded only to the same two questions probably talking to each other. Individuals were identified by their their mac address while all data had to be corrected for double entries.

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;
});