February 8, 2018, marked LVL’s first-ever Dev Dive, where we welcomed members of Montreal’s budding developer community into our offices for an evening of networking and idea exchange. We also took this opportunity to provide an overview of our latest developments, practices and product offering.
Our Chief Technology Officer, Martin Benoit, kicked things off with a brief introduction to our data-driven approach to video storefront development as well as a high-level explanation of our E2 Video Experience Platform and its operation cycle. He also discussed how this platform leverages data generated by its client apps to automatically modify app interfaces (what we refer to as adaptive UI rooted in user behaviour).
In addition, our guests were introduced to two of LVL’s Senior Software Architects – Fred Hewitt and Mathieu Frenette – who carried out separate breakout sessions focusing on the work their teams are carrying out for two of LVL’s clients – Fox International and Technicolor. Keep reading for a glimpse of what was discussed in these sessions!
Technicolor: TypeScript, TSOA, Observable & CloudFormation
Fred is the lead architect on our dedicated Technicolor team, which was tasked with taking over the development, support and maintenance of the company’s Showcase product – a content distribution and management app used by international content producers and distributors. His breakout session focused on the client’s technology stack and the strategic choices he and his team made to improve the processes they relied on to carry out a complete overhaul of the app.
The session began with a discussion about TSOA and how the approach was used to generate Swagger documentation from TypeScript and Restify middleware. The conversation was eventually steered towards Observable – a pattern used in Angular – and how powerful of a tool it is when applied to asynchronous streams.
Fred concluded by explaining how his team was able to deploy a new and improved version of the Showcase product using CloudFormation, despite having to build a custom generator that used typed configurations to minimize CloudFormation DynamoDB template errors.
Fox: E2, Unity®, Reactive Extensions & MVVM
Mathieu is the lead architect on our dedicated Fox team. Though not yet at liberty to discuss the mandate’s specifics, we can assure those of you who weren’t there to participate in the session that this group was in for one hell of a ride!
Participants were first given a behind-the-scenes look at the E2 Video Experience Platform’s architecture and how it turns Unity into a platform that facilitates the rapid development of modern data-driven apps capable of adaptive UX via machine learning.
Mathieu went on to cover high-level concepts such as the MVVM pattern and how it was applied to E2. The group was also shown the UniRx framework (an implementation of Reactive Extensions and Observables for Unity) and learned about how the LVL team enhanced it with their own implementation of Completables, inspired by RxJava.
The session ended with a run-through of Fluent API design best practices, leveraging Decorator and Composite design patterns as well as C#’s extension methods.
Interested in keeping up with Mathieu? Check out his blog, Mindful Software Design, to learn more about his insights and techniques.