You might not realize it, but we live in the video era. We don’t have time to read texts and often don’t have the ability to send a text either. Videos are more captivating and draw our attention better than texts or even audio messages. And don’t forget the emotions that can be seen on video that can’t be substituted for emojis. The founders of Zazo understand that, and that’s why they created this video messaging app. This will take your messaging experience to another level.




Hours spent


People involved


To start using the app, you have to sign up with your phone number. To identify that this phone number really belongs to you, you will receive a unique SMS code. In general, this registration process is quick and easy.


Video messaging through Zazo is available only for app users. But don’t worry, you won’t be alone! There’s an easy way to invite your friends to join the app. Your entire contact list is seen by the Zazo application. Simply look through it and invite those whom you want to video chat with.


After registration and inviting your friends, you can enjoy video messaging through the Zazo mobile application. Record short videos in the app and send them to the friends who you have in your contact list. The Home Screen is divided into a cell of 9 boxes where you can see the video messages from your friends.

The ones you haven’t seen yet are marked with red circles including the number of messages you have missed. There’s also a little bit of friendly competition integrated into the app. For uploading video messages, you get rewards, like the ability to use both cameras.


The key difference of this project from other modern mobile applications is that Zazo is not a thin client architecture. It is a complete bundle application that contains not only the user interface but also the logic on a mobile device. The remote server is only used as a key-value database and file storage.

We used next tools while developing Zazo:

  • Backbone:ANBaseDomainModel, ANHelperFunctions, ANCategories, ANStorage, ANTableController, ANTableViews, ANLogger, ANColorTheme, ANProgressButton — all these libraries are created by ANODA, released under MIT license and published on GitHub. Also, we used DeviceUtil, AFNetworking, OBFileTransfer.
  • UI:FrameAccessor, APAddressBook, libPhoneNumber-iOS, SVProgressHUD, Masonry, MSSPopMasonry, TPKeyboardAvoiding, UIAlertView+Blocks, SDCAlertView, SDCAutoLayout, iToast.
  • Testing:Reveal-iOS-SDK, Fabric, Crashlytics, CocoaLumberjack, Rollbar, OBLogger
  • Database:FastEasyMapping, MagicalRecord.
  • Multimedia:PBJVision.

We tested this application using Cucumber, in particular, the implementation from the PhoneGap team – Calabash. It is very suitable for functional testing. But unfortunately, not all things can be checked with it, for example, to test the color themes, we used KIF.

Regular Unit tests we wrote with very popular frameworks — Specta + Expecta, they are extremely simple and easy to use. Since the development target was exactly in the refactoring and sequential improvement of code quality and failover — we were able to protect us from many problems.

With Calabash, we were able to cover more than 50% of the possible user interaction with the application, and about 90% of which is amenable to testing without access to the code. Unfortunately due to a large number of architectural problems, implement Specta / Expecta from the beginning was not possible, but later we had to cover at least the most important parts of the application. None of the above didn’t create troubles for our app developers


iOS Developers
Oksana Kovalchuk
Quality Assurance
Elena Milshina
Release Date
January 14, 2016