Milton Keynes - 24th February 2017 - I spent a few days earlier in the month kicking off an education session on WebRTC and real time communication with the fantastic folks at Founders and Coders.
The latest cohort we have been working with is their 9th (FAC9), and we started working with them a year ago at FAC7 which means this is the third time we've run this workshop. Our intro to web real-time communication runs over three days and aims to take them from a place where they have hardly heard of WebRTC to a group project of building a complete rudimentary application using peer to peer media between multiple endpoints.
In the process of running these workshops we've actually learned quite a bit about ourselves and application of the technology we consider to be core to our existence; it has certainly been a valuable two-way street.
When you do any learning, a concrete outcome to aim at always seems like a good idea. The first time we ran the workshop we had a client driven prototype to showcase at a hackathon as an objective. A mental health charity had brought us an idea around remote mentoring in a clinical context for which it seemed WebRTC would be ideal. The idea of putting this together and showcasing it for the benefit of the charity in as complete and functional way as possible became the objective. We didn't really teach the students WebRTC fundamentals, we just gave them a pre-wrapped API and based solutions on example code. The outcome was fantastic, in just a few days they built an entire application and demo'd it at TADHack London. Not too bad at all for folks that had never heard of WebRTC a week before. This wasn't necessarily the best learning experience though and they probably left knowing more about our specific API and services than the underlying technology.
Second time around we decided to make it more interesting by introducing some cool client side technology. Raspberry Pis with cameras and model racing cars were combined with client side image recognition libraries to build a WebRTC video based lap timing application. Dead good fun, but in three days, we still weren't sure that we had left the students with a good understanding of the core tech they were actually using.
So this time round we just started with WebRTC first principles, no libraries, no APIs. Grab some media, connect it to a local video tag. Then introduce a peer connector, and finally signalling and the ICE state machine. Absolutely everything was done the long way round by the students themselves. They needed a message passing mechanism to move the signalling around so designed a basic mailbox protocol using simple HTTP post/get to store and forward blobs of data needed.
The results were stunning, not because of the outcome (in 3 days, we got a basic multi-peer video chat service up with all 14 students participating in implementing the architecture), but because of the learning and imagination that fostered.
FAC have some exciting organisational developments of their own going on and are just embarking on expanding their free coding bootcamp internationally to Nazareth. The folks who are seeding the Nazareth course were in London on the workshop and we are really excited to be supporting them in this. We are already planning the WebRTC workshop at FAC1 Palestine!
Immediately two or three of the FAC9 cohort spotted an application for the technology that they had just developed to facilitate communication between the two projects. By embedding their own in house RTC tool into their open source course "operating system" they could build something that allowed customised real time person to person peer learning and support interactions between projects. Nazareth is a long way from Bethnal Green and this technology would be invaluable in the bootstrapping operation for the Palestine course. They could use Skype, WebEx or any of the other general purpose tools that allow video interaction but none of these do exactly what they need within the context of their learning curriculum and, importantly, the communication and its content are then outside of their course context in a separate proprietary silo.
A powerful app for contextual remote peer learning was born.
This week FAC members Esraa and Noga fly back to Nazareth. They will form half of a small team, with the other half in London, who will be taking the germ of a tool from the workshop and turning it into a contextual collaboration plugin for their course. We’re supporting them through this phrase too - Pete, one of our app developers will be working with the team to help them realise their goals for learning communication by doing communication. I look forward to seeing how they get on.
I believe that supporting developers is crticial for this industry to continue to innovate and evolve. On that note, I will be participating in a panel debate on the role of developers in the future of communication at Cavell's Euro VoIP Summit in London on 9th March 2017. Join us as we explore how we can make a real difference in addressing the skills gap!
Rob Pickering is founder and CEO at IP Cortex. Previously, he has held a variety of technical roles and fondly remembers the days when he was a proper engineer and wrote a TCP/IP protocol stack from scratch for a microprocessor vendor.