Case study - Canal Digital Go
- Details
- Created on Sunday, 05 July 2015 12:28
- Last Updated on Sunday, 08 November 2015 18:59
- Hits: 15811
At the beginning of December 2014, my team in Xstream was given a task to create brand new looking (completely redesigned UX and functionalities) Canal Digital GO video on demand portal. It was quite challenging due to the fact that at that time we had no REST API ready for our HTML5 application to consume. API has been developed along with frontend application implementation, which turned out to be good and bad approach at the same time. The downside of such an approach was problems with API reliability due to active development process, but on the other hand backend developers were more flexible and accepted more suggestions from frontend API consumers side.
MAP (Multi Application Architecture) stage
At the very beginning, we already had a base VoD application called MediaMaker Play, which had very few functionalities needed for CD GO. So our first task was to work on the same code base, but be able to add and modify functionalities only for CD GO application. We achieved that by creating quite complex frontend application architecture and some sophisticated tasks in Grunt which allowed us to build MediaMaker Play application and CD GO application in parallel from the same code base.
UX design stage
We had a team of 2 great UX designers that helped us with the UX design in Axure, and then with the UI design in Photoshop.
Implementation stage
We decided to use Scrum approach as a framework to run the project. Unfortunately, we succeeded with it only on the beginning few spritns. Then, as the deadlines appeared and the team started to change, maintaining full scrum turned out to be impossible, so we decided to leave just a few scrum routines, such as: daily standup, planning and retrospective. In the most critical and highly tensed sprints, there were 7 frontend developers working on the project.
CD GO application communicates with two endpoints, there is of course main REST API endpoint, but there is also separate endpoint for maintenance messages
User acceptance test stage
At the beginning of June, our client started user acceptance tests, which took a few rounds with us bug fixing.
Production deployment stage
Finally, after almost 7 months of hard development, testing and fixing we made it for production release on 16.06.2015!
Canal Digital Go Norway
Canal Digital Go Sweden
Canal Digital Go Finland
Canal Digital Go Denmark
Languages used
- CoffeeScript
- Jade
- Stylus
Frameworks
- AngularJS 1.3
- Twitter Bootstrap 3
Some more significant libraries
- Moment.JS
- Restangular
- Angular UI Router
- jQuery
- Owl Carousel 1
Tools used
- Jasmine
- Protractor
- Grunt
- Jenkins
- Gerrit
- Git
My personal responsibilities
- MAP stage – create architecture that allowed us to use one code base do build and deploy Aurora and CD GO apps
- Qbaka implementation for error reporting
- Live search and full search results
- Favorites section
- Home page
- Splash screen for mobile devices
- UI notifications
- Googlebot compatibility
- Account settings section
- Google Analytics integration
- Jenkins build plans configuration
- Single Sign On handling between other CD systems
- MPEG DASH player integration
- Setting up unit testing on Jenkins
- Media Sliding Lists with lazy loading (implemented using OWL Carousel)