Messaging App Development

Messaging applications were popular even before Facebook paid $19 billion for WhatsApp. We have the venerable messaging giant Skype, Facebook Messenger, a newly upgraded Google Hangouts, the vanishing chat app Snapchat, text messaging mobile apps like Kik, Viber, Line, etc. By the way, Yo, too, is a chat app.

Ironically, Facebook’s acquisition of WhatsApp resulted in bit of downtime for that application, during which its competitor Telegram added 1.8 million users. Maybe you should build an app like WhatsApp and attempt to do some marketing the next time Facebook buys something? If this sounds like a good plan, here is an article on how to develop a stellar messenger. Keep in mind, that Yalantis has everything you need to develop a great messaging app.

What do all messaging apps have in common

Messages, period. Though the content of messages may vary – Snapchat, for example, replaces text with self-destructing pictures and varies – all messengers perform the function of delivering small pieces of information from one user to another. What is more, according to a comScore report, Snapchat is not just a messaging app, but the third most popular app among millennials, a fact which made me take notice and finally give it a try.

Hash.me is another app featured in our startup digest that puts an innovative spin on messaging. Following in Snapchat’s steps, it allows users to send fun loops — short videos with text, that capture the moment and disappear after the recipient gets them.

In the mood for something even more unique and innovative? The other day I interviewed the co-founder of Drop Messages. This startup is building location-based platform for sharing highly curated content. Both the idea behind the app and the interview are awesome, so you should totally check them both out.

Text messaging mobile apps like WhatsApp, Telegram, Viber, Line and Kik deliver SMS functionality to users who no longer have to pay mobile operators for the privilege of sending and receiving messages.

These apps are all text-based but their users can also send pictures, videos, animations, sketches, documents, locations, and even make calls. Now let's see what it takes to make a mobile messaging application like this.

Registration

Upon installation, messaging apps usually ask the user to create an account using their phone number as the username. Chat apps like WhatsApp, Telegram, Viber, and others automatically compare all the phone numbers from the device’s address book with their central databases of users to automatically add contacts to the user’s app contact list.

Messaging apps usually use third party telecommunication providers, like Twilio to send a confirmation code in an SMS to verify the phone number and activate the user account. Kik, however, stands out from the crowd by letting users work with the app exclusively on a username basis. As the service explains on their website, Kik does this, "so our users are in complete control of who they talk to on Kik."

Messaging protocols

The main functionality in messaging apps is their ability to send and deliver a message to the recipient and show its status (sent/received/opened/etc.) to the sender. There are two ways to implement messaging in mobile apps — real time and non real time. As you might have guessed, we use real time implementation for applications like WhatsApp.

WhatsApp uses a customized version of the open standard Extensible Messaging and Presence Protocol (XMPP). In order to send multimedia content in a message WhatsApp takes the following steps: the file (image/audio/video) gets encoded with Base64 encoding schemes, and is then sent to an HTTP server. The server processes the file, stores it, and defines its type. After that the hyperlink to the file is sent to the client.

There is also an extension of the Internet's original e-mail protocol called Multi-Purpose Internet Mail Extensions (MIME). It is used to exchange different kinds of data files on the Internet: audio, video, images, application programs, ...you get the idea. What's more, by using MIME an app developer can let users see the progress of a file as it is uploaded.

Telegram messaging protocol

Telegram is a combination of WhatsApp and Snapchat, but pays a lot more attention to security. The app has a ‘secret chat’ functionality that allows its users to exchange super-secure messages and set a Self-Destruct timer to make sure their messages get deleted.

Confide, featured in our startup digest, is another good example of an app which lets users send secure, confidential messages which disappear completely after a certain period of time. Confide, however, is specifically aimed at professionals who want to speak candidly about delicate personnel or legal matters. Maybe the next generation of text messaging apps is going to target specific user segments like Confide does?

Telegram was created by Nikolai and Pavel Durov, the developers of Russia’s Facebook — VK — the largest social network in the ex-USSR. Besides its top-notch security, Telegram claims to be the fastest messaging app on the market. It uses a decentralized infrastructure with data centers positioned around the globe to connect people to the closest possible server.

Telegram's team created their own MTProto Mobile Protocol to make sure their app would be both the most accessible and most secure. It really is an app for those who want more security on a daily basis. If you look under the hood, you'll find that one of the things that Telegram has in their API is an authorization key that is created on the client device using a key exchange protocol called Diffie—Hellman. Fans of encryption can check out the Hacker News threads that describes the battles Telegram has with ‘crypto-skeptics’.

«The No. 1 reason for me to support and help launch Telegram was to build a means of communication that can’t be accessed by the Russian security agencies, so I can talk about it for hours,» said Pavel Durov in an interview with TechCrunch.

Building an un-hackable app is exactly what the Telegram team did. Telegram had a hacker competition with $200,000 prize pool. No winner was named, but one developer has earned $100,000 for discovering an issue in the protocol. This means the company is very serious about the security of their secret chat function, and takes extreme (and expensive) measures to find and eliminate potential vulnerabilities.

For those who don’t know much about attacks targeting mobile app data, it might be worthwhile to check out our article on data security issues.

Telegram is fully open. Apart from the protocol, you can also access their source code and API to have a full picture of the messaging app’s mechanisms. We looked at their source code, and didn't like it, though. Read here why.

In the recent update, Telegram added new features to its messaging app for iOS (iPhone, iPad, and iPod Touch). They include integration with several cloud services, such as iCloud, Google Drive, and Dropbox. This feature allows users to send files to their friends directly from those apps.

How to embed a ‘make a call’ feature

Viber and Line both have a voice calling features. Apart from free calls, Line also lets you hold free audio or video conferences. They use Voice-over-Internet Protocol (VoIP) which enables telephone connections via Internet Protocol. VoIP employs a set of communication protocols, technologies, and methods that provide traditional dialing, dial-up, and bilateral voice and video communication over the Internet or any other IP-based networks.

VoIP technology is also used to transmit sound in IP surveillance systems, alarm systems, with broadcast webinars, when watching movies online, and so on. You can also initiate a call from WhatsApp, but the app will redirect you to your phone client or Viber, if you have it installed.

UPDATE: WhatsApp introduced a highly-anticipated voice calling feature to its iPhone and Android apps. You can read about it here.

Cloud infrastructure for your real-time messaging solution

There are ready-made cloud solutions for instant messaging app development, such as Quickblox and Pubnub. Pubnub provides integration of real time chats, but if you are interested in other modules, like video calling, location, and content sharing, Quickblox SDK is probably the better solution. So why would you turn to cloud infrastructure for your messaging app?

Surely, it's always better to have your own backend, but you will have to spend more time and money on its development. Cloud solutions, on the other hand, let you build features fast and easy, and therefore, save you time.

If there is a feature you’d like to test, it might make sense to spend the minimum amount of time and resources on its implementation. In this case a cloud solution may be the better choice. If it doesn’t work out, you don’t lose as much.

Monetization

WhatsApp currently charges a $1 a year subscription fee in some countries, but the main focus for the company is growth. Facebook is planning to make WhatsApp become the dominant mobile messenger around the world, so monetization is not the priority.

«Our explicit strategy for the next several years is to focus on growing and connecting everyone in the world,» Zuckerberg said in an interview with TechCrunch.

One more free user friendly messaging app is Telegram. These guys don't charge their users anything.

«Telegram is not intended to bring revenue, it will never sell ads or accept outside investment. It also cannot be sold. We’re not building a "user base", we are building a messenger for the people,» says Telegram on its website.

Viber monetizes through stickers, but they also have ViberOut, a feature that lets their users from all over the world use their smartphones to make calls at low rates to landlines or mobile numbers, even if they are not Viber numbers.

Other apps like Line and Kik make money by selling stickers, games, other apps from the parent company, and other social interactive features. Kik also gives users the possibility to share multimedia content with the help of a built-in browser without leaving Kik, and without downloading anything new. Their HTML5-based platform lets developers optimize their websites for mobile and for Kik, which is a nice monetization strategy for a messaging app.

All in all, messaging mobile apps are an exciting thing to develop, even though the competition is pretty strong. If you have plans to jump into the market and need someone to help you with iOS or Android messaging app development, you have a great team to hire!

Remember those Facebook reactions? Well, we aren't Facebook but we love reactions too. They can give us valuable insights on how to improve what we're doing. Would you tell us how you feel about this article?