Three weeks ago, FrontlineSMS launched its first new full release in over a year. Today, we're releasing version 2.0.2, which includes useful bug fixes and small tweaks to the functionality that make it even easier to use. You can expect regular releases from us from now on, with new features coming out every couple of months. Check out our launch blog post, and our Version 2 microsite, for more information about the software. In this post, we wanted to share more of the background to the decision to rewrite our software from the ground up, and some of the key principles that have informed our work over the last eighteen months.
In late 2010, we were working with Medic Mobile, Dale Zak, Ushahidi and others to build extensions to FrontlineSMS which would allow users to manage more complex contact records, map reports offline, and build in scheduled SMS to the platform. Version 1 of the software was tough for volunteer coders, or other partners, to extend. Without APIs, any alteration had to be hard-coded into the software, and plugins were hard to make inter-operable with one another.
The crunch point came when we asked Alex, our Lead Developer, how long it would take to build the kind of Contact Records Management (CRM) we wanted into the platform - he told me it would probably be quicker to start again. We realized that every time we wanted to respond to user needs and add a new feature it would be an additional delay and drain on our resources. Building extension code into the core software was always going to be a mammoth task. So we started looking in earnest at the possibility of redesigning the software for a new set of requirements.
At around the same time, we met Gabe White of Small Surfaces, a user interface design consulting firm in Kampala. With his help, we spent the first part of 2011 interviewing a wide range of existing FrontlineSMS users, and analyzing user survey responses and forum conversations to understand how FrontlineSMS could be improved. Key feedback was that users were used to a certain type of interface in communications platforms, thanks to widely-used services and applications like Gmail and Microsoft Outlook - they wanted to see an inbox, and be able to monitor their sent and pending messages in one place. If FrontlineSMS behaved like other communications platforms they were already familiar with, new users would pick up the basics of the platform more easily.
We had noticed from our 2010 user survey that only a relatively small group of ‘super-users‘ - very tech-savvy, for the most part, and often part of the ICT4D sphere - were using the more advanced elements of FrontlineSMS to reply automatically to messages, allow end users to join and leave groups using SMS commands, and transfer message content to web- or network-based services and databases. We wanted to make it easier for all of our users to branch out and use SMS in more powerful and professional ways. So the design of FrontlineSMS Version 2 is a commitment to helping users to discover more about the platform and use increasingly sophisticated functions. Activities are a simpler way of conceptualizing the keyword functionality that has always existed in FrontlineSMS. Keyword settings, and many other elements of the software, can now be set up using simple walk-throughs, prompting users to make the most of functionality available to them.
Many users commented that, over time, they were accumulating huge numbers of SMS and contacts, but were unable to perform simple operations (grouping, moving and deleting, for example) on multiple SMS or contacts at once. Similarly, without a sophisticated search function, users struggled to maintain control of the backlog of SMS, and find important communications quickly. Manipulating the data in another program required you to download the whole database each time. We have implemented fixes for all of these problems in Version 2. You can now manage multiple SMS and contacts at once, using check-boxes; control search outputs using date-ranges, group membership and other characteristics; and export the SMS received through specific activities at the click of a mouse.
A new developer team
Building all of this has been about a year’s work, all but the very first few weeks of which has been done in Nairobi, Kenya. Alex moved to Nairobi in the spring of 2011 to set up a larger development team, and over the last year we have welcomed David, Geoffrey, Joy, Roy, Sitati, and Vaneyck, with Hussain in London rounding out the team. All of them have contributed hugely to the process of designing, building, and launching version 2 and although some have, or may in future, move on to other things, they will always be part of the team that made this all happen. As we look beyond the launch and begin to plan additional features, we have a fantastic base to build on, from our very colorful offices in the centre of a growing Tech City in Kenya’s capital.
We know we have a lot more to do. Some of version 1’s features, including the Frontline Forms interface and our Translation Manager, are still in the works. Some will come swiftly, such as Subscriptions Manager (which takes the place of the join/leave group keywords in version 1) and which is almost ready. Others are concepts we want to take some more time to get right; such as how Version 2 handles building Forms, and how it will display data collected on a mobile device and submitted through a variety of channels. You can read more about our planned features on our Upcoming Features page.
The whole FrontlineSMS team, including volunteers and fantastic partners like Gabe and the Software Testing Club, have put a tremendous amount of energy into Version 2; we are really proud of it and at the same time we feel like we’re just getting started! We couldn’t have got to this point without our users, who gave us the original inspiration, helped shape the design, and continue to contribute feature requests, testing and the drive to keep improving on FrontlineSMS.
We can’t wait to hear what you do with it.