How To Build an App like WhatsApp?

An estimated 1.82 billion people world over used mobile chat apps like WhatsApp. The number is expected to reach 2.01 billion by the end of 2018, and we can expect 2.48 billion people using such chat apps by 2021. Read more about this growth projection in this Statistia report on Global number of mobile messaging users 2016-2021.

While WhatsApp and Facebook Messenger dominate this landscape, you can have your chat app also carve out a niche. Look at Telegram, which has created such as niche for itself with its’ huge popularity in the blockchain-crypto community. Blockchain-crypto communities world over just love Telegram and the app has 200 million monthly active users. You can see Telegrams popularity in this Statistia report of most popular global messenger apps 2018.

If you have an excellent idea, your mobile chat app can also carve out a niche for itself. In this guide, I will describe how to build an app like WhatsApp, so that you can bring your idea to life.

I recommend two approaches for messaging app development, as follows:

  1. Using SDKs from mobile app SDK providers, to develop Android, iOS, and Windows mobile apps;
  2. For Android app only, use the Android Studio IDE and Google Firebase.

Contents

Features of a mobile chat app you should consider providing
How to develop a mobile messenger app using SDKs
Mobile chat app development with Google Firebase
How much does it cost to build an app like WhatsApp?

Features of a mobile chat app you should consider providing

 

You want to build a successful chat app; hence you need to ensure that it competes well in the market. To do so, consider offering the following features in the app:

  1. Voice Over Internet Protocol (VOIP) phone calls: An increasingly popular feature, which your users can utilize to make voice calls and have multimedia sessions over the Internet.
  2. Video chat: This feature allows your users to add a bit of personal touch without a 3rd party video streaming service.
  3. Group call: This feature can be very useful if your users are discussing a project together, or just planning their next camping adventure!
  4. Encrypted chat: This feature uses modern cryptography technology to secure chat messages from prying eyes and can be useful when your users exchange confidential information.
  5. Synchronization with the cloud, to ensure all backup and scaling of the chat app.
  6. Support multimedia: Modern day chats between users increasingly involve rich media content such as videos and images, which your app should support.
  7. Users should be able to send confidential messages to one user within a group, hence your app should support ’self-destructing messages‘. To know more about self-destructing messages, read “Self-Destructing Messaging: It Makes Good Sense”.
  8. Support Geolocation integration to enable context-sensitive real-time interaction.
  9. Synchronize with calendar: This is useful for your users to plan their day and organize themselves, and it enables synchronizing with other calendar apps they may use.
  10. Multi-platform chatting is an important feature so that your users can engage the other users even when they are in-transit.
  11. In-app purchase: Quite self-explanatory, this feature allows your users to buy the merchandise they want without even leaving your app.
  12. Payment integration: Mobile payment platforms are spreading significantly, and your app will lag your competitors if you don‘t allow integration with prominent payment providers.

Read more about the importance of these features in “How to Build your Own Real-time Chat App like WhatsApp?”.

How to develop a mobile messenger app using SDKs

In this guide on how to develop a messaging app, I will explain an easy approach, which involves using ’software development kits‘ (SDKs). There are prominent service providers that offer mobile chat app SDKs, and the list below isn‘t an exhaustive one.

Download Our Project Specification Template

Contus Fly

Contus offers a mobile chat app SDK, named “Contus Fly”. You can customize it extensively and access the underlying source code. Data storage on Cloud is possible, and the SDK uses prominent mobile chat app technologies like Erlang, XMPP, and Ejabberd.

Contus Fly uses Amazon Web S3 cloud and MySQL RDBMS. The broad features you can build with it are as follows:

  • Voice messaging and video calling;
  • Push notifications;
  • Online presence indicator, and offline messaging;
  • Location sharing;
  • Group chat, group administration features;
  • Synchronization and storage;
  • Social media integration;
  • Screen sharing, file sharing;
  • Security features like encryption and authentication.

Additionally, you can build collaboration features suitable for business, and integrate your custom-built APIs with this SDK. The SDK supports Android, iOS, Windows, and web. Assuming you have a reasonably skilled development team, you will need less than 10 working days to create an app like WhatsApp with the Contus Fly SDK.

SendBird

With SendBird‘s chat and messaging SDK and platform APIs, it‘s easy to build WhatsApp like app. SendBird offers the following SDKs:

  • iOS SDK;
  • Android SDK;
  • JavaScript SDK;
  • .Net SDK;
  • Unity SDK.

Broadly, I can categorize the features they offer as follows:

  • Chat & messaging;
  • Moderation & data;
  • Customer support;
  • Security & compliance.

With SendBird, you can build a mobile chat app for various use cases, for e.g. live streaming chat, on-demand chat, online community, and gaming. The company has excellent documentation for their SDKs and APIs, check it out in the SendBird documentation webpage.

Applozic

Applozic is another provider that offers chat API and in-app messaging SDK for WhatsApp clone apps. The features they offer are as follows:

  1. One-to-one chat;
  2. Group chat;
  3. Push notification;
  4. File sharing;
  5. Bot integration;
  6. Broadcasting;
  7. Offline fallback mechanism;
  8. Rich multimedia support.

Applozic has following SDKs for your requirements:

  • Android Chat SDK;
  • iOS Chat SDK;
  • Web Chat plugin;
  • PhoneGap Chat SDK;
  • Ionic Chat SDK;
  • Xamarin Chat SDK;
  • NativeScript Chat SDK.

They also have their platform APIs, check out their complete documentation in the Applozic documentation webpage.

ChatSDK

ChatSDK has a free SDK that you can download and get started right away. They follow a dual licensing process, i.e. you can use the Chat SDK license if you use their code in your app. On the other hand, if you change the code and distribute that, you need to the applicable open source licensing.

ChatSDK uses the Google Firebase ’Mobile Backend as a Service‘ (MBaaS). Firebase is a popular MBaaS, and you can read more about them in “How To Choose The Best Mobile Backend As A Service (MBaaS)?”.

ChatSDK offers iOS and Android instant messaging app SDKs on Firebase for free. The company offers the following key features:

  • Private and group chats;
  • Flexible login, i.e. using an email address, Facebook, etc.;
  • Supports multiple message types (some message types require paid extensions);
  • Push Notifications.

There are optional paid modules and extensions, for e.g. to handle audio and video messages, read-receipts etc. Read their SDK documentation in the ChatSDK documentation webpage.

ApphiTect

ApphiTect provides mobile chat app SDK and APIs, and you can build iOS, Android, and Windows chat apps with them. It’s based on the Amazon Web Services cloud, while it uses XMPP, MySQL, Ejabberd, and Erlang.

At a broad level, ApphiTect provides the following features:

Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard

  • Enterprise communication features;
  • In-App messaging;
  • Personal chats;
  • VOIP;
  • Video calls;
  • Social interactions;
  • Offline messages;
  • Push notifications;
  • Presence indication;
  • Geolocation tracking;
  • Synchronization and data storage.

Read more about their SDK in the ApphiTect website.

CometChat

CometChat provides a ready-to-use SDK for messaging app development. They support a wide range of platforms like Android, iOS, Cordova/PhoneGap, Ionic, and Xamarin.

The good part about the CometChat SDK is that it‘s standalone, and you don‘t need to refer to any other library. Your team will find it easy to integrate and consume the APIs. Visit the CometChat mobile chat SDK webpage to read more about it.

The SDK allows standard features like voice, text, and video chat. They also allow Bot integration. Of course, you can include your own branding, use their push notification features, and integrate their desktop messenger too.

CometChat provides extensive documentation for their SDKs and APIs, making it easy for you to develop a messaging app. The comprehensive documentation covers their Android and iOS SDKs, plugins for Cordova/PhoneGap/Ionic, APIs, and more. Check out their documentation in the CometChat Developer Documentation webpage.

mesibo

I recommend you explore mesibo for your messaging app development project, due to the following reasons:

  • The company, of course, has mobile chat app SDK and API, but they also have a fully functional app. You can get the source code and build your WhatsApp clone very quickly!
  • Their SDK and API documentation quality is excellent, but even more impressive is how they have organized their documentation. Your team will find it easy to follow the mesibo documentation.
  • Their free tier is generous! Up to 20,000 monthly active users (MAU), 10% of MAU concurrent users, 5 GB bandwidth, and 1 GB storage, you pay nothing!

They cover all key features, for e.g.:

  • One on one messaging;
  • Group chat;
  • Voice and video calling;
  • End to end encryption;
  • EU GDPR compliance.

Check out the full list of their features here. The company supports all key platforms like Android and iOS.

Mobile chat app development with Google Firebase

I have earlier described the approach to create your mobile chat app using SDKs and listed several SDK providers. Now, I will explain a different approach where you will create an app like WhatsApp for Android only.

You will use the Google Firebase MBaaS, and Android Studio, which is an IDE for Android app development. You need to install Android Studio from here.

You also need a test device with Android 2.3 or later, and Google Play Services 9.8 or later. You need a connection cable, however, if you use an emulator then you don‘t need a device.

While this approach requires more development work, the good news is that there is a comprehensive training course that Google Firebase provides. You can find it in the “Firebase Android Codelab”.

After you have installed Android Studio, you need to follow the instructions in the training course, and take the following steps:

  1. Get the sample code from the Firebase GitHub repository;
  2. Import the starter app in your Android Studio session. You have most likely used Eclipse ’Integrated Development Environment‘ (IDE) and importing a project in Android Studio is like how you do it in Ecplise.
  3. Create a Firebase console project and connect your Android app.
  4. The sample code is a starter app with simple functionalities, and now you need to run it. You can’t send or receive a message now, see the next steps for that.
  5. Now you need to set up user authentication. Check the Codelab authentication section to know how you can configure the authentication APIs.
  6. Configure “Read messages” function, by setting up a database in your Firebase console, and configuring it. Follow the Codelab “Read Messages” section for instructions.
  7. Implement “Send Message” function by creating the required objects and using the required methods. The Codelab “Send Messages” section has the necessary commands and code snippets you need to use.
  8. Firebase app indexing will enable your users to index personal content in their mobile device. You need to add dependencies, filters, and content. You also need to log user actions. Check out the detailed instructions in the Codelab section for adding messages to the on-device inbox.
  9. Firebase Cloud Messaging (FCM) allows you to send notifications to your app users. To do this, you need to add FCM dependencies and services. Learn how you can do so in the Codelab receive re-engagement notifications section.
  10. You can remotely configure message length using the Firebase console, by following the Codelab instructions.
  11. Firebase App Invites provide you with the ability to send installation invitations via email or SMS.
  12. Google owns Firebase, and you can use Google Analytics how users are navigating your mobile chat app.
  13. You can monetize your app, and report crashes. Firebase Test Lab will let you test your mobile chat app in the Cloud. Find out how you can do it in the Codelab section for testing your app.

This app has standard features, you need to code additional features per your instant messaging app requirements.

How much does it cost to build an app like WhatsApp?

Your cost to develop an app like WhatsApp will vary based on several factors, for e.g. the complexity, what approach you use, and your geography. However, you will likely require the following team composition:

  • 1 project manager for 3 weeks to a month;
  • 1 business analyst for 2 weeks (depending on how many non-standard requirements you have);
  • 2 Android and 2 iOS mobile developers for 2 weeks;
  • 1 front-end developer for 2 weeks (assuming you will use either SDK approach or an MBaaS like Firebase, you shouldn‘t need backend developers);
  • 2 testers for 2 weeks;
  • 1 designer for 2 weeks; however, if your requirement is simple and you can get started with the mesibo ready-to-use app with minor configuration, you don‘t a designer.

There are variations to this scenario, for e.g.:

Download Our Project Specification Template

  • If you are developing for Android only, then you can use the approach involving Android Studio and Google Firebase. You need less chat app developers then since there will be no iOS development.
  • Different SDK providers offer different price points, which will impact your messaging app development cost.
  • If you use the ready-made app mesibo provides and have rather simple requirements for your ’Minimum Viable Product’ (MVP), you will save develop manhours. There are benefits to this approach for your MVP, and in the future, you can always enhance your app. Check out their pricing in the mesibo pricing webpage.

Aran Davies

Blockchain Expert | Developer | Writer | Photographer
Aran Davies

Latest posts by Aran Davies (see all)