Brothers Ebbie and Stephan Swart will be presenting a talk at this week’s DevConf 2023 conference in Pretoria on their four-year development journey with Firefinch, South Africa’s top birding app, according to The Birding Life.
Ebbie, a design lead at global software and solutions company DVT, and Stephan, head of engineering at Magna Business Consulting, created the app with South Africa’s pre-eminent birder, Faansie Peacock, and avid bird photographer Anton Kruger.
“When Anton first approached us about pitching an app to Faansie, we had no idea what it would involve or how long it would take,” says Stephan. “Initially, we were going to create an app based on Faansie’s books – essentially to digitise his books in app form for easy reference – but once we started talking to Faansie and immersing ourselves in the birding community, it became so much more than that.”
What this ultimately meant was a very long wait, mainly to build up all the content that was needed for the app – primarily Faansie’s plates and Anton’s photographs – along with hundreds of other assets, like annotations, sound recordings (sonograms), and other media that had to sourced or have donated to the project.
“As with everything we do in our ‘day jobs’, it’s all about quality,” says Ebbie. “We didn’t want to release a half-baked app, so we had to make sure all the content was in place first, and from a development perspective, that it was optimised for the major mobile platforms.”
Firefinch was developed separately for iOS and Android, using a native development approach to maximise the app’s quality for each platform.
“We wanted users to get immediate feedback when using the app, and the way to do that varies between platforms,” explains Stephan.
“Some unified frameworks struggle to give you the responsiveness we were looking for, and since Ebbie and I both have experience in native app development, it made more sense to do it this way, even though it meant the project would take longer to complete, and that occasionally the versions of the app on each platform would be slightly out of sync in terms of features.”
The brothers used Swift for iOS and Kotlin for Android development. Firebase, an online database, was used to sync the app’s local database with the cloud, giving it the online/offline capability critical for birding activities.
“One of the fundamental aspects of birding is that it’s an outdoor activity that often takes place in remote areas, away from internet access,” says Stephan. “As such, we needed a way for users to continue using the app, with all its resources, and be able to add data to the app as they were using it, which would then sync up with their cloud-based accounts once they were back online.”
Sustainability was another aspect vital to the success of the project. The team couldn’t hire extra developers or staff without external funding, and the app needed a receptive market to make it sustainable from the start.
“Since Ebbie and I have full-time jobs, we could only work on the app after hours, and since we have families too, all our free time was split between family and Firefinch,” says Stephan.
“The upside is that the dedication and commitment it took, and all the checks and balances we had to keep to make sure the project would result in a financially sustainable end-product, has stood us in good stead not only for the future of Firefinch but for our careers as developers and designers as well.”
Big numbers
South Africa has 997 bird species, about 10% of the world’s known bird species but also the densest distribution of bird species of any region on Earth. That meant the volume of information the app would need to contain was extreme, even by modern app standards.
“From a usability perspective, at any given moment, you need to be able to navigate through the entire database and find the specific bird you’re looking at,” says Ebbie. “Not only does that mean that navigation had to be fast, but it also needed to be intuitive, especially for birders who aren’t particularly tech-savvy.”
That meant thinking outside the box regarding innovative features for the app. Starting with grouping birds into easily-identifiable family types – such as waders, swimmers, walkers and raptors – users can quickly focus on the relevant grouping and then drill down into the various bird species in that group.
Once the right species is identified, clearly-annotated illustrations are presented to help narrow down the particular type of bird based on shape, size, distinctive markings, etc.
“We didn’t just stop at illustration annotations; we also found a way to annotate sonograms of different bird calls so that birders can follow along with what they were hearing and identify not only the species but the behaviour it’s exhibiting,” says Stephan. “It’s all part of the hands-on learning process and the journey we wanted to take birders on as they used the app.”
Firefinch boasts some impressive numbers:
* 997 curated and designed illustrations;
* 997 thumbnails;
* 997 distribution maps and seasonality bars;
* 997 measurement data;
* 6 000+ photos (20% annotated);
* 700 sound clips and annotated sonograms; and
* 73 articles, with topics ranging from in-depth scientifically accurate identification to birding hotspots to reviews and interviews.
Birding is essentially a gamified hobby, and birders love their data, so Firefinch is geared towards encouraging and improving that side of the hobby.
“What we didn’t want was a one-trick app for bird identification; we already have plenty of those,” says Ebbie. “Ultimately, we wanted Firefinch to help people become better birders, so it’s all about the process of finding, identifying and recording bird sightings, and in doing so, learning more about birds and the environment as a whole.”
Firefinch is available as a free trial version, after which a subscription fee is charged for continued app use. There are currently 5 000+ app downloads.
Ebbie and Stephan will be telling their story, with anecdotes on what it takes from a personal and professional perspective to create a winning app, on Thursday (25 May), at DevConf 2023.