Badoo claims to be the largest dating app in the world. With 340 million users across 190 countries it provides a number of apps and white label services across multiple platforms that offer assistance with the age-old quest of hooking up romantically with a compatible other.
Behind the scenes matching the lovelorn is very much a numbers game, with huge volumes of data to process, some of it in real-time, to feed its data-hungry algorithms. In total, Badoo crunches through something like six billion events per day, that's more than one event per user per second. Moreover, there 380 different types of events and 100 enumerations to keep track of, from views to swipes to completed and abandoned payment transactions.
Badoo is an agile DevOps-style business, aiming for the smallest possible development lifecycle so that new ideas can be incorporated into the code and deployed as quickly as possible. This methodology depends on being able to evaluate quickly the success or otherwise of these ideas both before and after deployment.
"As an online business the only way we can get feedback is through data," explained technical project lead Dr Jelena Isachenkova, to the audience at the Computing Big Data and IoT Summit last week.
"Classical BI solutions were neither fast nor scalable enough, particularly on the semantic layer. That's why we built our own product analytics platform."
This platform, called Hotpanel, which Isachenkova's team built from scratch, is an internal tool intended to make individual events, such as swipes, profile views and banner clicks easier to track, and their value to the business quicker to evaluate.
"It's about how do we keep up with our own data as a company. If it's not intuitive it become very hard to find the data you're looking for."
Hotpanel has proved particularly useful for the product team as they the test performance of new features, as it provides a much more complete picture of the data, she went on.
"We can now check the quality of the data before the release rather than after the release. This is much cheaper, especially for mobile platforms."
Hotpanel is based on the protobuf protocol with specification of events, fields and types written into a Yaml config file. It has been designed with ease of use as a key feature, with metadata linked to graphical display to illustrate the various user behaviour events. It is important that this information is easily understood, Isachenkova said.
"It can be used by almost anyone. Everyone can know what is a new screen, a new element or a click. The context is provided by a screenshot and a screen-name," she explained.
"It can be seen as a semantic layer which brings forward the vision of the business while hiding the layers of technical implementation detail."
Because the data is also machine readable, the tool has also allowed for changes in the development workflow, reducing the number of manual pre-release checking tasks required and improving consistency, she added.
"Because rules can be written into the config file the validation can be done automatically, so we don't need to check everything, just the things that are wrong. In the future we will be automating much more."
After release new features can be tracked in near real-time, and dashboards can be created to display the way the app is being used, all without any human interaction.
"I believe that metadata is definitely worth it," Isachenkova concluded. "It may take some time at to get it but at the end of the day if you keep it simple democratising the data brings many benefits for the company."
And, yep, it'll run Android rather than RiscOS
US engineering giant's cost-cutting outsourcing plan is on the rocks, according to insiders
HP Envy X2 laptop only affordable if you've got loadsamoney
Counterfeit code-signing certificates enabling hackers to hide malware being sold by cyber criminals
Certificates can be used as part of layered obfuscation to evade detection by anti-virus software