Quantcast
Channel: Badoo Tech Blog
Browsing latest articles
Browse All 132 View Live

Better Memory Dumps on Android

This is a follow-up on the previous article about Deobfuscating HPROF memory dumps. Reading that article isn’t a requirement, some knowledge of the HPROF file format is useful.While implementing the...

View Article


Testing Android notifications in Calabash

It’s generally understood that Calabash can only operate controls that are part of the application it’s testing, but this limitation is particularly annoying with status bar notifications.We would like...

View Article


Image may be NSFW.
Clik here to view.

Let's build: Freehand Drawing in iOS - Part 1

This post will be the first of a series in which we follow the development of a specific feature. We want to add to the great quantity of existing tutorials on the internet by sharing practical...

View Article

Image may be NSFW.
Clik here to view.

Let's build: Freehand Drawing in iOS - Part 2

This the second in a series of tutorials in which we build Freehand Drawing for iOS. In this part we’ll add undo functionality and the ability to draw dots.In the previous post we built a simple UIView...

View Article

Cross Platform Mobile Test Automation and Continuous Delivery

Badoo develops multiple products with native applications on all major mobile platforms - Android, iOS, Mobile Web (HTML5) and Windows. Our most popular product, called Badoo, has 250M+ registered...

View Article


JaCoCo coverage in Cucumber on Android

In an ideal world, all requirements would be specified clearly, comprehensive tests would be derived from those requirements, and the whole of the application would be tested. In practice, we’re only...

View Article

Image may be NSFW.
Clik here to view.

First Badoo Summer Internship Program

For the first time ever, Badoo has taken on an intern over the summer. We see it as an act of giving back, supporting young students in gaining relevant work experience and skills, while enjoying the...

View Article

Image may be NSFW.
Clik here to view.

Let's build: Freehand Drawing in iOS - Part 3

This the third and final tutorial in which we build Freehand Drawing for iOS. In this part we’ll improve how the stroke looks and feels.You can check the previous posts here:Part 1: Basic...

View Article


Image may be NSFW.
Clik here to view.

Click to git rebase

When we talk about automating the development and testing process, it might sound like it’s a very ambitious affair, and indeed it is. But if you break it into pieces, then individual fragments of the...

View Article


clang-format as a guard for Objective-C code style

This article is about the experience of Badoo’s iOS team in making sure Objective-C code is compliant with the code style used.Importance of the code styleThe primary goal of all coding conventions is...

View Article

Image may be NSFW.
Clik here to view.

Batch updates for UITableView and UICollectionView

Apple did a tremendous job in giving developers such powerful building blocks as UITableView and UICollectionView. It’s even possible to claim that iOS wouldn’t have been such a success without these...

View Article

Image may be NSFW.
Clik here to view.

Parallel Calabash Testing on iOS

We want our users to have the same experience of Badoo on mobile regardless of which platform they run, so we have a battery of 450 Cucumber tests and growing that we run against all platforms:...

View Article

Image may be NSFW.
Clik here to view.

Badoo Coding Challenge

Welcome to our first edition of the Badoo Coding Challenge! Below, you will find all the relevant information about the challenge. We hope participants will enjoy solving the problems as much as we...

View Article


How we made Chatto

Our chat was old, having evolved over the years into a massive view controller with weird fixes that nobody could understand. It was difficult to add new types of messages and new bugs were easily...

View Article

Badoo Coding Challenge - Finalists and Winners

Thank you to everyone who took part in the Badoo Coding Challenge. We are very happy to announce the names of our finalists and winners below. We will be in contact with all finalists and winners via...

View Article


Mobile App Testing - Tips and Tricks

Our new article is in fact a list of tips and tricks. These tips will help beginners to progress faster while more experienced users will be able to streamline what they know. The article will also be...

View Article

Image may be NSFW.
Clik here to view.

Winium.Desktop - Selenium for Windows-based Desktop Applications

We’re delighted to announce that we are publishing guest writer, Gleb Golovin’s first article on our blog. Gleb has been kind enough to share his work with us.Hi there. My name is Gleb, and I do test...

View Article


Create a plugin for Google Protocol Buffer

Google’s Protocol Buffer is a library to encode and decode messages in a binary format optimised to be compact and portable between different platforms.At the moment the core library can generate code...

View Article

Image may be NSFW.
Clik here to view.

Winium - Now for Windows Phone

We’re delighted to announce that we are publishing guest writer, Nick Abalov’s first article on our blog. Nick has been kind enough to share his work with us.There are no convenient open source...

View Article

Image may be NSFW.
Clik here to view.

How Badoo saved one million dollars switching to PHP7

IntroductionWe did it! Hundreds of our application servers are now running on PHP7 and doing just fine. By all accounts, ours is only the second project of this scale (after Etsy) to switch to PHP7....

View Article

Image may be NSFW.
Clik here to view.

iOS Architecture Patterns

FYI: Slides from my presentation at NSLondon are available here.Feeling weird while doing MVC in iOS? Have doubts about switching to MVVM? Heard about VIPER, but not sure if it worth it?Keep reading to...

View Article


Image may be NSFW.
Clik here to view.

Our Bounty Program at Badoo

Many IT companies now have their own bounty programs (i.e. programs that root out vulnerabilities), and Badoo is no exception.In this article, we’ll discuss how we launched and support our bounty...

View Article


Image may be NSFW.
Clik here to view.

Pardon My French - Introducing Chateau

Being a social networking platform, providing a great chat experience is at the core of what we do at Badoo. However, the meaning of “a great chat experience” is constantly evolving, and the major chat...

View Article

Image may be NSFW.
Clik here to view.

Crazy Agile API

There are lots of articles and books on how to properly design APIs, but only few of them cover the case of a constantly changing API. In fast moving companies, releasing many features per week/day and...

View Article

Image may be NSFW.
Clik here to view.

Collection and Analysis of Daemon Logs at Badoo

We have a few dozen homebrew daemons at Badoo. Most of them are written in C, one in C++ and five or six in Go. They run on about a hundred servers in four data centres.At Badoo the monitoring division...

View Article


Image may be NSFW.
Clik here to view.

Shake Detector for Android with RxJava

It all began when I had the task of undoing a user action in the app when the device was shaken. The main problem was how to know that a shake had occurred. After a couple of minutes of searching, it...

View Article

Image may be NSFW.
Clik here to view.

Segregating Android Phone Models between Docker Containers

We wanted to move our Android device tests to a Linux host: it’s cheaper hardware, and we find that our Mac Mini build machines tend to fumble Android USB connections, making phones mysteriously vanish...

View Article

Image may be NSFW.
Clik here to view.

Windows Phone - an experimental platform

In the last three years our team has tripled in numbers, and is now newly focused on becoming the company’s experimental platform. In this article I will tell you the story of our team: how our Windows...

View Article

Image may be NSFW.
Clik here to view.

Top 3 Badoo Android AMA

Our Android team just had their first Ask Me Anything (AMA), it was great! So we’re sharing our top 3 Android questions and answers from Dima, Erik, Guillermo, Rich and Yaroslav.For those of you who...

View Article



Image may be NSFW.
Clik here to view.

Masking Bitmaps

The problem of image masking often comes up in Android development. Rounded image corners or rounded images are required most of all. Yet sometimes even more complex image masks are used.In this...

View Article

Image may be NSFW.
Clik here to view.

Emoji?! No, never heard of it

Emoji have been part of our life for some time now. We use them on social media, especially in all kinds of messenger apps, where we can express our feelings in just one icon.But sending and displaying...

View Article

Image may be NSFW.
Clik here to view.

Learning from mistakes in the organisation of quality control

Hello all! My name is Ilya Kudinov and I work as a QA engineer at Badoo. Three years ago, I started attending various IT conferences and giving talks about the processes and techniques we use for...

View Article

Image may be NSFW.
Clik here to view.

How to Dockerise Calabash-Android on Mac OS

At Badoo, we use Calabash for automated Android application testing. One of our goal is to make it super easy for developers to run these tests in one command without going through the pain of setting...

View Article


Image may be NSFW.
Clik here to view.

How we test interaction with Facebook

Hello, everybody! For ages now, I have been wanting to write an article about how automated testing is set up at Badoo. I wanted to write something which would be both interesting and useful. I wanted...

View Article

Image may be NSFW.
Clik here to view.

Breaking the limitation of Calabash-Android!

Two of the most popular drivers for Android app automation are Appium and Calabash. While both have their pros and cons, their major limitations are:Calabash: Can only drive UI which is part of the...

View Article

Image may be NSFW.
Clik here to view.

What do a mobile QA and an octopus have in common?

Hi! My name is Katya and I am a tester for one of the most popular dating apps: Badoo.Picture this: it’s early morning, you are the mobile QA. You get ready for your day, and make yourself a strong...

View Article


Image may be NSFW.
Clik here to view.

How to teach a web app to speak 100 languages - the specifics of localisation

A key characteristic of online services these days is that they are accessed by users from all over the world speaking a multitude of languages. If you are developing this kind of service and want...

View Article


Image may be NSFW.
Clik here to view.

How to become an iOS Developer

Life stories of Badoo developers and how they became iOS guysI’ve been a developer for a while now and I frequently look back to my origins to assess how much did I have progressed. Becoming iOS...

View Article

Image may be NSFW.
Clik here to view.

WebRTC - Making a peer-to-peer game using JavaScript

I recently had the chance to work on a prototype for a video chat service. It was an excellent opportunity to become more closely acquainted with WebRTC concepts and to try them out in practice. As a...

View Article

Image may be NSFW.
Clik here to view.

Everything you wanted to know about Git but weren't nerdy enough to ask

If you are unfamiliar with Git, some background may help introduce the relevant terminology before reading one of the many Git tutorials online.Git is one of several source control systems - others...

View Article

Image may be NSFW.
Clik here to view.

Leads, go home – and take your reports with you!

Hello! I am Rafael, and I am workaholic. I have been recovering for some time now, and I want to share my findings with you today. I’ve been a programmer for as long as I remember. It all started in my...

View Article


Image may be NSFW.
Clik here to view.

A small but extremely useful patch for Selenium

Within our small, yet dynamically developing company we test hundreds of tasks every day. They are all checked in test environments as well as in environments which are closer to real situations. The...

View Article

Image may be NSFW.
Clik here to view.

Write an Android component for React Native

(Updated 13/04/2017: Bumped to React Native 0.42.3 and updated code)One of the cool things I like from working at Badoo, is that we are free to propose, test and promote new or different techniques,...

View Article


Image may be NSFW.
Clik here to view.

The painless way to collect statistics from a web-site

We know that analytics allows you to assess how effectively any web-site operates, to improve how it operates, and therefore to raise the level of sales and to improve user interaction with the site....

View Article

Image may be NSFW.
Clik here to view.

Reactive selfies with Camera2 API on Android - Part 1

As you probably know, RxJava is good for solving two problems: processing event streams and working with asynchronous methods. In a previous article (Shake Detector for Android with RxJava), I showed...

View Article


Image may be NSFW.
Clik here to view.

Testers are from Mars and Developers are from Venus!

Anyone who has ever been a part of any software company in any domain (internet, telecom, enterprise, etc…) would easily attest to the title of this article. :-) Although the title of this article is...

View Article

Image may be NSFW.
Clik here to view.

Do MVC like it's 1979

How to build a good iOS architecture by learning from the old onePort house AntwerpA bit of historyIn 1979 Trygve Reenskaug came up with MVC — a general solution to the problem of giving users control...

View Article

Image may be NSFW.
Clik here to view.

Integrating React Native in an existing application

Updated 11/04/2017: Added some of the API changes and updated the React Native version used in the articleAs I promised at the end of my previous article, “Writing an Android component for React...

View Article

Image may be NSFW.
Clik here to view.

Behind the scenes with importing Adobe After Effects animation into Badoo iOS...

Re - think, Re - design, Re - fresh.Although I’m not the biggest fan of TV in general, there are shows that amuse me. “Let’s make a deal” will always be number one. But here I want to point out the...

View Article


Image may be NSFW.
Clik here to view.

Advanced WWDC 2017 Guide

Hello everyone! There are more than 120 sessions from WWDC, do you knw which one to watch? Get instruction on how to watch and check out some short reviews about the talks. Stick with me and I would...

View Article

Browsing latest articles
Browse All 132 View Live