Dev Camp 2013

Luke Canvin

OCC’s Dev Camps and Hackdays are an important way for our developers to experiment with new technologies, pick up new skills, and have a break from the norm. Dev Camp in particular allows the team to really get stuck into some new ideas and come back with a new product to demonstrate them.

The Team

There are five of us on the camp this year; Andrew, Chris, Mel, Tom and myself. We come from both the product development and client services sides of OCC so it’ll be great to get the chance to work together.

The team at work
The team at work (with mince pies)

The Venue

We’ll be spending the week in the rather stunning Saïd Business School. Part of Oxford University, the business school was completed in 2001 and has some fantastic facilities (and, importantly, food) for an event like this.

The Technologies

This year’s Dev Camp began with the team thinking about what technologies we were particularly interested in putting to the test. We settled on:

  • SignalR – An ASP.NET library for real-time client-server communication.
  • JavaScript application frameworks – We’ve spent plenty of time using Knockout but we’d like to evaluate other options. We picked Angular as it seems to have the most traction at the moment.
  • HTML5 Canvas – An amazingly flexible HTML element used for drawing via JavaScript.
  • Xamarin – Using our skills with C# and .NET to create native cross-platform mobile apps.
  • Data visualisation frameworks – Coupling SignalR with cutting-edge data visualisation.
  • TypeScript – Adding variable typing to JavaScript.
  • Git – We’ve used SVN for our source control for years, so we’re testing out GitHub to get a flavour of the competition.

The Project

We needed an idea to pull together those different technologies in a meaningful way. We decided to create an interactive presentation system geared towards making a presentation more engaging, memorable and useful for both the presenter and the audience.

devcamp presentation sketchThe idea is that the presenter has levels of enhancements to their standard slide deck, including the following:

  1. A URL to give to the audience so that they can receive additional content (notes, images, links, etc.) on their phone, tablet or laptop, synchronised with the presentation.
  2. That additional content would be further enhanced with YouTube-style thumb-up/thumb-down buttons to give feedback on what is being presented. This would be transmitted in realtime back to the presentation, which could display it on-screen.
  3. Building upon that idea the audience could be given a question to answer (multiple-choice for example) and their response sent back in real-time and displayed in the presentation.
  4. Slide annotations would allow the presenter to use their mouse or finger to draw on the slide.
  5. An enhancement for the presenter would be to give them a second-screen device where they could display speaker notes, a timer, the results of the audience polls/questions, the next slide.
  6. The presenter could also be given an app for their phone to control the presentation as they move around.
  7. The phone app could use the phone’s camera to stream video onto the presentation for any remote viewers.

The potential for such an application is vast. Presentations at conferences, lessons in schools, lectures and seminars at universities could all be dramatically improved by adding this level of engagement.

Breaking up the work

In such a concentrated period of time, and beginning from scratch, it’s a challenge to divvy up work such that everyone can be productive from day one. We’re going to kick things off with Andrew setting up the native mobile app using Xamarin, Tom creating the server-side used by all the apps, Mel creating the client-side code for the web app, Chris looking at cross-platform slide annotations, and Luke setting up the HTML presentation framework.

It’ll be an interesting week, and we’ll post more as we go.