Dev Camp half-time progress report

Luke Canvin

It's the half-way point of our week and we're making good progress!

We have an HTML presentation framework up and running. We've ported our OCC PowerPoint theme over to it and recreated an existing presentation with all its bells and whistles to prove it can do everything one might want it to.

HTML presentation with Android app controller
HTML presentation with Android app controller

Tom has been putting together our server-side code; most importantly the SignalR hub, which is in charge of receiving and transmitting the realtime communications (using Web Sockets and appropriate fallbacks) between the presentation clients. At the moment this includes:

  • Receiving notification from the presentation of the current slide index, any speaker notes and any audience content.
  • Broadcasting that to any other clients connected to the hub so that they can update their view accordingly.
  • Receiving notification from a controller of a navigation event (next/previous slide, etc.).
  • Broadcasting the navigation change to the presentation.

Tom is now looking at what's necessary to get the thumb up/down and polls working.

Andrew has built an Android app using SignalR to allow the speaker to control their slides and see their speaker notes from their phone.

Mel has integrated the presentation framework into our ASP.NET MVC web application, which is using Angular to give our JavaScript some structure and to do our data binding. He also has the presentation picking out the current slide, speaker notes and audience content, and is sending those to the SignalR hub to be transmitted to the other clients. Mel is now putting together the audience view, to show their supplementary content and, eventually, the polls.

Chris has created a Canvas annotation layer that can be overlaid on top of the presentation allowing the presenter to draw using their mouse, finger or stylus, on top of the content without triggering any links/buttons that happen to be there. The annotation mode can then be toggled off to leave the annotations but re-enable interaction with the content underneath, or the annotations can be hidden. Chris is now integrating this into our main solution.

We're going to push on with the realtime polls/results, audience view, and the presenter's second-screen view.