Every six months, Caplin hold a Hack Day. Widely popular among staff, it is a time when developers can unleash their creativity for 24 hours and pursue personal ideas for fun and prizes. No business case need be made for an entry; the idea is all. The event is a fertile ground for new product features, and several features in Caplin products can trace their origin to a Hack Day.
The sixth Caplin Hack Day kicked off on 24th October. One of the entries this year was a proof-of-concept ‘Lo-Fi’ mobile SMS interface to the Caplin stack. It was a fun challenge for a hack day project, promising a mix of hardware access and an unconventional interface to the Caplin stack. Lo-Fi it may be, but retro it is not, explained Dom Morris, senior architect at Caplin: “There are many areas of the world without a data connection, and not just in the UK.”
Dom took his inspiration from the success of Vodafone’s M-Pesa in Africa, Eastern Europe and India. M-Pesa provides simple banking services to owners of basic mobile phones who do not have or have only limited access to a bank account. It’s expanding rapidly, and Vodafone now have an eye on the international money-transfer market. As Google and Facebook rush to connect the unconnected world with balloons and drones, a simple feature allowing mobile phone users to swap airtime has grown into a means of depositing, transferring and withdrawing funds.
M-Pesa uses extended SIM services to provide its interface, but Dom wondered if, in 24 hours, he could access the Caplin stack meaningfully using just plain SMS technology.
Dom built an SMS server using a commonly available 3G dongle, and a mixture of open source and Caplin libraries. He chose to code his application in C, a language not always valued for rapid prototyping.
Dom, a veteran of all six Caplin Hack Days, and winner of the first, explained that the majority of his programming is server-side but this year he set himself the challenge of including a web GUI. A tactical decision: prizes need voters and an attractive GUI always goes down well with the crowd.
The project split into two halves: device authentication and querying the Caplin stack. Before a user could interact with the Caplin stack using a mobile phone, they had first to register with Dom’s application over the web. The registration process took the user’s email address and mobile number, and authentication was achieved by messaging the phone with a one-time-password to be typed into a third field.
Once authenticated, a user could use their mobile phone to query the price of an instrument on the FTSE by texting ‘last’ followed the ticker name of the instrument. After the success of this query, Dom put his mind to other possible uses of the interface, and coded a search interface to a newsfeed.
And that is as far as Dom was able to get, because halfway through the event he hit a problem. If actors should never work with animals and children, perhaps programmers should be wary of mobile telephony. Half way through the day, Dom’s SIM-card modem failed, and he spent the remainder of his time between trying to locate a replacement modem and coding a testing framework to simulate the arrival of an SMS.
In the end, Dom managed to find a new modem, and his demo the following day was a success. If not for the hardware failure though, Dom was planning to implement a simple request for quote and trade as an example of a more complex workflow, and, given enough time, historical pricing data presented as a chart delivered by MMS.
It was then, in a flash of inspiration tinged with grief at a missed opportunity, Dom came up with the one thing he would have done differently: he would have set up a premium rate number for the demo and been the first Hack Day project to turn a profit by close of play.