Developing the 2018 Vodafone KVIFF APP

The Karlovy Vary International Film Festival was in its 53rd year this summer. This is the biggest film festival in the Czech Republic and Central Europe, with over 13,000 visitors and 500 projections during the festival’s nine days. At U+ we had our work cut out for us when we took on the challenge of developing the 2018 Vodafone mobile app. This piece discusses our experiences on this project and presents the challenges and our solutions to the problems we faced.

Technological solutions

The most obvious challenge was the deadline: 2 months to create an app that could handle a high amount of reservations. There was also the catalogue of films: 150 movies with descriptions. A version of the app existed last year too, so we were dealing with an old backend. We were inspired to try a new approach and employed a number of new technologies. One of these was the completely serverless backend built upon Amazon Web Services (AWS). This provides a lot of different tools you can combine together. One tool from Amazon was Simple Queue Service (SQS), which allowed us to created queues of requests. This solved the problem of the previous version of the KVIFF app, where some users didn’t get a reply from the reservation server or their request was handled in a random order.

We developed the app for Apple and Android. Apple app development in particular can be challenging when dealing with certificates and testing. But the results of our testing ultimately left us feeling confident the app would be able to handle the traffic. We used Lambda workers which enabled us to scale speed according to our needs. During testing we simulated 90 thousand requests, which were handled in five minutes. For reference, the whole festival ended up having the same number of requests after 9 days.

For our own process, we took note of the bus/truck factor which deals with the concept that “were a member of the team to get hit by a bus” the project could continue. Since we had only a short period of time to make the app, smooth operations were a must, so we made sure everyone was on the same page. We had a knowledge base which we shared to avoid a single point of failure. You want to avoid situation when your team depends on one member. This is good advice for startup-building in general.

The Google Firebase mobile development platform worked very well in combination with AWS and served as the database for the mobile clients.

The app had to be built using the Ionic framework, but we were interested in trying something different from React Native. However, this caused some delay because designed features cause trouble when run on real devices, and we had to debug a lot as a result.

In the end, 9276 tickets were booked and 6,947 downloads occurred from 53 different countries, and nothing beats the feeling of seeing a project come to fruition in a short amount of time and realizing that a lot of people’s lives were made just a little easier from it.