FinAppsParty - Extra Insight
FinAppsParty - Extra Insight
Background
I first heard about FinAppsParty, an annual event that aims to discover and foster innovation in financial services mobile applications, in September 2012. Originally a hackathon for Spanish developers, the event organisers expanded the concept to include teams from around the globe in the competition's second year.
I applied on behalf of four Kainos developers (Kyle Davidson, Will Hamill, Tomasz Janeczko and I), and within two weeks we were selected to represent the UK in FinAppsParty 2012 - an accolade that we're all fairly proud of!
A perk of being selected as UK representatives was that the event organisers covered the costs of our flights and accommodation. We were also lucky enough to arrive in Barcelona the day before the competition started, which gave us the opportunity to see some sights!
Competition
On the day of the 24hr coding exercise, we jumped at the chance to speak with a few members of the La Caixa team, who gave us some background into the size of the organisation and its presence within Spain. We learnt two important facts; they are the leaders of the Spanish mobile finance market, and they currently offer a catalogue of over 50 apps. We were already aware of this from our research, however it reiterated the importance of thinking outside the box.
We also studied La Caixa's business strategy document, which highlighted customer services as an area they planned to improve. With this in mind, we devised a solution that aimed to increase customer satisfaction, and thought it was more innovative to integrate our solution with their existing apps, rather than add to their already bloated range.
Solution and Technologies
Personally, I don't enjoy making customer service calls (who does?), but sometimes it can't be helped. I always find the initial identification process particularly frustrating, mainly due to forgetting my security password or having to scramble around for my customer reference number. At the very worst, I'll be passed around ten different departments before getting to speak to someone that can help, by which point I'm this close to hanging up.
How can we make that experience better? Having a customer services agent greet you by your name and knowing what assistance you need without having to bring them up to speed would be an incredibly refreshing step forward. This is what what our solution aimed to achieve (and this post explains it in greater detail).
We picked iOS as the client platform and wrote an Objective-C library that encapsulated the Twilio iOS SDK and then embedded this inside a sample app that used La Caixa's API, which was provided on the day for some simple functions that illustrated an example of how the service could be used.
The mobile client communicated with two different web services that we hosted on Heroku. The first, a RESTful secure MongoHQ payload service (written in Scala using Play) was used to store user and business context prior to a customer service call. The second was RESTful VoIP service, written in Ruby using the Twilio Ruby gem.
The Final part of the solution was a light JavaScript web app that used the Twilio JS API. It represented the call queue of a customer service agent and was used to display the caller's name, customer ID, context and recent app events.