Almost done with posting the Elixir Conf talks!
ElixirConf 2017 - Realtime Vehicle Tracking with Elixir and Phoenix - @st23am
Our client came to us with an idea. Help students catch their school buses on time. Doing this required adding realtime bus tracking to their mobile application. I knew Elixir would be well suited for this but, I underestimated just how much.
Elixir helped us quickly parse the binary protocols of GPS devices. Phoenix helped us to send realtime updates from devices to our mobile application. Ranch made it easy to deal with the thundering herd of GPS devices trying to connect to us all at once.
This is not to say that their weren’t challenges along the way. We had to deal with hardware protocols that did not always line up with their spec sheets. Communication between us and the buses had to be safe and secure. The nature of communication over the cellular network meant messages could be received out of order. The logistics of school buses that can break down or get moved to different routes meant devices had to be dynamically supervised. Even through these challenges OTP, Elixir, and Phoenix continued to shine.
In this talk discuss these challenges and talk through the solutions we came up with. We will touch on parsing binary protocols, dealing with out of order messages and adding dynamic supervision in OTP.