Are you thinking of creating a new messenger on your own? Has the success of other companies in the field affected your decision? Do you have some awesome features to add but want to save basic functionality of other popular messaging services? Great! That's your lucky day because Cleveroad will gladly help you navigate through these muddy waters. This time, we're going to discuss how to build an app like WhatsApp and how much it actually costs to develop an instant messenger similar to it.
WhatsApp: it's role and history
WhatsApp was founded by Jan Koum and Brian Acton in 2009. At the end of the year, it was launched on the App Store for iPhone with no alternatives in the world at the time.
This app, referred to as an instant messenger, was intended to give users an opportunity to exchange messages in real-time using mobile Internet or WiFi. Today WhatsApp is available for all popular mobile operating systems.
WhatsApp splash screen
See how to build a messenger app wisely. Read How to make a messenger app: development process insights
This is what makes it so popular. WhatsApp is available everywhere, from non-smartphones to cutting-edge devices. That is why your intention to build an app like this is quite reasonable.
What can WhatsApp do?
On the whole, you can do the following with the help of WhatsApp:
- Send photos
- Send audio files
- Exchange geodata (a very handy feature for those who like traveling)
- Send contact data
- Send voice messages
WhatsApp has rich functionality, a flexible system of settings adjustment, a simple and user-friendly interface, and high performance. That is why WhatsApp became one of the most popular messengers in the world, and many entrepreneurs want to know how to create a chat application like WhatsApp.
Many business people consider WhatsApp as a good example to start their new business. So, to create an app like WhatsApp they need to plan their budget and estimate possible expenditures, so they need to know how much it will cost to create an app like WhatsApp.
Steps on how to create app like WhatsApp
If you plan to create an app like WhatsApp, you should follow these steps below:
- Step 1. Choose a proper business model to keep up with to build a messaging app like WhatsApp
- Step 2. Find experienced developers that know how to make an app like WhatsApp
- Step 3. Consider team's location
- Step 4. Build the app architecture
- Step 5. Add MVP features to create your own WhatsApp
- Step 6. Build a great design for your WhatsApp-like app
Steps to create an app like WhatsApp
Now let's study all these steps in detail to give you a better understanding of what you should undertake.
Keep up with a proper business model
Before you start creating your app, you should think about all the business nuances you will face when you learn how to make an app like WhatsApp. Check out the main principles you should keep up with to succeed.
First, you should determine your target audience, who is interested in the development of a messenger. As a rule, young people use messengers more often than older people. Although, WhatsApp is also popular among business people since it is secure and easy-to-use.
When you release the app, you want to earn money and make the app paid off, When you create your own WhatsApp-like app, there can be a few monetization models you may use to gain a profit: P2P payments, in-app purchase, and advertising.
Know your competitor
You should analyze the market and study all your competitors. If their apps are good, what should you do to make your app better? On the whole, you should know what messenger apps similar to WhatsApp are available on the market.
If your app is entirely similar to other apps from this niche, what is its value? It's highly important to add something new to your app to make it competitive and unique when analyzing how to create a messaging app like WhatsApp like WhatsApp.
App store optimization
When the app is finished and it is available in Google Play or App Store (or in both), it is not enough just to wait till everybody starts downloading it. You should think about app promotion to attract more users.
Hire a dedicated development team
There are a few things which should be taken into account when you're planning your project budget.
Find experienced developers
If you want your app to grow and develop, its architecture should be thoroughly elaborated at the first stages of development. This is what a good entrepreneur always sees. As your application will be growing, you need to have an opportunity to process a large flow of data. You need to take into consideration everything, from server sustainability to code design, to have the ability to add new features seamlessly later. A poorly designed code can cause improper app operation as the new options are added.
Our advice is to hire someone who has already dealt with such types of projects. Good specialists can foresee all possible scenarios to avoid an app's crash and money losses in the future. Don't risk your reputation and money, and hire a highly professional staff.
Consider team's location and staff numbers
The cost of creating an app can vary depending on your future employees' location. We will take the Eastern Europe development team average salary, which is equal to $50 per working hour. Let's consider the full membership of your prospect team. The team members could be as follows:
- Sales manager (can be in touch with a client before, during, and after the development process)
- Project manager (can also take a business analyst's responsibilities)
- Requirement analyst (it's desirable to have both a project manager and an analyst)
- Software developers (depending on the project complexity, a dev team can include 2-5 members for front-end development, the same is for back-end development, 2-3 members can be engaged in post-release support if such specified by a project)
- Quality assurance engineers (1-4 members)
- UX/UI designers (2-4 members)
- Marketing manager (can be involved if product promotion is needed)
Start with WhatsApp core: build the platform
When you find a good guide on how to create an app like WhatsApp, you should get acquainted with WhatsApp's architecture. It's important to know what is in the background of the app. So in this section, we've gathered some vital information that should be considered before you start. All of WhatsApp's processes would be impossible without the stuff given below. This is what makes this powerful message exchange machine work.
To handle message traffic, WhatsApp uses the Ejabberd XMPP app server (FunXMPP) written in Erlang programming language. It's perfect when it comes to accommodating huge communication systems because of it's good sustainability.Erlang programming language. It's perfect when it comes to accommodating massive communication systems because of its good sustainability. Erlang programming language. It's perfect when it comes to accommodating massive communication systems because of its good sustainability. Erlang will be a good option because it quickly adapts to hotfixes and instant updates. Thus, it doesn't have to be restarted in order to add new functionality or updates.
If you want to create exactly the same app, you can use Erlang on the server side as the messenger's techies did. Of course, you're free to choose among other server-side scripting languages. Other apps like WhatsApp, such as Telegram or Kik, use Node.js to code their servers.
- To store multimedia files, WhatsApp uses a high-performance web server called YAWS (Yet another web server), which is also written in Erlang.
- To power servers, the FreeBSD operating system was chosen by the WhatsApp developers.
- They also have chosen Mnesia as a database because it's the default database for Erlang.
- WhatsApp uses the Extensible Messaging and Presence Protocol (XMPP) technology to transfer messages. This technology provides both one-to-one and multi-user chat communications.
- The company rocks RC4 (Rivest Cipher 2) as a cipher method but is considered to be not that secure, though.
As regards the client-side development, the programming language can vary depending on what operating system runs on a device. The rest you already know, iOS - Objective-C or Swift, Android - Java or Kotlin. Then we can move to the list of MVP features your WhatsApp should include.
MVP features to be included
Congratulations! We've finished with the inside structure of our role model app. Now let's see what MVP features such a messanger as WhatsApp includes.
- Registration + address book formation
The registration page is the entrance to your app. On WhatsApp, once users input their credentials (a phone number), the app sends the SMS for authorization. The Android version of the application opens and processes this SMS automatically. That's kind of convenient, actually. Along with the SMS authorization, you can provide one more option like voice verification when you build chat app like WhatsApp.
Registration in WhatsApp
Find out the model to engage more users. Read Ways to increase mobile app engagement and give users personalized experience
With the WhatsApp-like app, the user's anxiety about password loss or identity theft is eliminated because it's connected directly to a user's phone number, which can't be duplicated. On installation, the app creates an account using a person's number as a user's name. Then the its software automatically checks all numbers in the new user's address book and compares them with WhatsApp's user database in order to set up the list of contacts in the application.
Do you know why should an MVP be a start of your business? Figure it out in our video below:
Why Should You Start Your Business from MVP?
WhatsApp uses the XMPP to create accounts with the Jabber ID. The app has recently refused to use IMEI and MAC to generate accounts, sending an SMS with a randomly generated password on a server-side to a user's phone number. Consider it since it is a must-have feature if you create a chat app like WhatsApp.
- One-to-one and group chatting
As you intend to create a WhatsApp clone, it's pretty obvious that the opportunity to start a dialogue has to be provided. Once a user presses a dedicated button, a contact list has to appear to choose a person. Also, there should be an option to create a group chat, where users can add a chat picture and provide a subject of the conversation. WhatsApp has recently released a feature to send one message to several people at once, called Broadcast Lists. You're free to integrate your ideas if you have such ones.
You already know that the XMPP technology is engaged in message sharing giving users the opportunity to talk tete-a-tete or have a group chat with as many contacts as they want. It's pretty much like HTTP. Here, a client opens a socket that stays open as long as a user is logged in. Unlike REST API, when the client opens a socket and closes it after a message is sent/received. Although, WhatsApp earlier used communication technology similar to SSL (Secure Sockets Layer), where messages were sent in plaintext. In 2012, it was reported that the company had changed the concept, but the developers haven't disclosed a cryptographic method yet.
Chatting in WhatsApp
Important note! You need to know that WhatsApp doesn't store users' messages on its server. After a user sends a message, it will be situated on the server, but just until the server requests the receiver to acknowledge receipt of the message, it happens quickly. After the message is acknowledged, the server delivers it to a receiver and automatically removes it from the temporary storage. The message is no longer WhatsApp's responsibility. Perfect!
In case you want to store users' messages on your server, you need to do your best to protect it.
Anyway, you need to take care of users' privacy when you analyze how to create apps like WhatsApp. Nobody wants their sensitive data (history) tapped. You need to choose the right way for the encryption of messages. However great WhatsApp is, the privacy problem remains unsolved. This is where you can learn from competitor's mistakes.
There is a little secret about message storage on WhatsApp. It's a chance that you will never receive a message if you're without an Internet connection for a long period of time. For 30 days, for example. Because this is how long your messages will be stored on the corporation server, then it'll be removed and not available. Be careful, sometimes WhatsApp can be utterly cruel!
Another fancy feature that can be implemented is a self-destructing message. This one usually is associated with Telegram and Snapchat. But you can implement as many ideas as you want. Self-destructing message development will take up to 8 hours, including back-end and front-end.
The XMPP technology is thought to be obsolete among developers. So if you happen not to find some desperate fans of this method, you can apply other ones. There are dozens of them for such purposes. For instance, MTProto is a new protocol applied to Telegram, which is thought to be more secure and reliable, or Microsoft Notification Protocol (MSNP). MSNP24 has been used by Skype since the beginning of 2014. It's up to you which of those to choose!
You may also want to add some spice to your message exchange functionality, like Stickers, for example. They are worth a thousand words. Today many users expect that Stickers will get not only reliable and secure communication but high-quality content inside the conversation. Most of the messengers have Sticker stores inside them to increase the retention and engagement of their users.
You may also want to add some spice to your message exchange functionality, like Stickers, for example.
Stickers are worth a thousand words. Today many users expect that they will get not only reliable and secure communication but the high-quality content inside the conversation. Most of the messengers have Sticker stores inside them to increase retention and engagement of their users.
New content attracts more users. Also, this allows you to create an additional revenue stream for your app by selling it. You can launch your own store by integrating with Stickerpipe Stickers Store that provides top-quality Stickers with a choice of different models that allow you to have either free and/or a revenue sharing opportunity.
This is how your user knows that somebody's sent them a message. On WhatsApp, users are usually informed about two things: when they are invited to a group conversation or when a new message arrives. It's carried out in the way of pop-ups or push notifications if a device screen is locked.
How can this procedure be implemented? It can be made through Google Cloud Messaging or Apple Push Notifications. Your server sends the notification to your app users via these cloud services using the HTTP/2 multiplex protocol. Take it into account when you create a WhatsApp clone.
- Multimedia files transmission
WhatsApp users can also send short voice messages, pictures, and videos. This is a standard option among several others listed below. If you want your app to have the same functionality, you can include the multimedia files transmission feature. The transmission procedure is performed by uploading a multimedia file to be delivered to the HTTP server (hi, YAWS), it then sends a link to the content together with its Base64 encoded thumbnail.
Again, you can choose any of the existing web servers when you decide how to create WhatsApp app.
- Voice and video calling
Today, these features are an integral part of all popular messaging apps. How does it work in WhatsApp? The messanger uses the Internet traffic rather than the phone's tariff plan money or minutes. By pressing a dedicated button, a user can activate the voice calling. You can either take an older version of WhatsApp as an example or add this feature. But it can take more time and money to integrate it.
Voice calling in WhatsApp
As any master who doesn't want to reveal his secrets, WhatsApp didn't hurry to do so. We've done deep and exhaustive research and found out that WhatsApp uses the PJSIP library to implement Voice over IP (VoIP). This is an open-source multimedia communication library written in C. The library uses a high-level API by combining the SIP (signaling protocol) with the multimedia framework and NAT traversal functionality. This API is suitable for all types of systems, including mobile handsets.
- Settings adjustment
Everything regarding this is included in one menu called 'Settings' on WhatsApp. It's not a strict rule to do like the original app. Who knows, maybe your designers will create a more excellent and more convenient interface. However, the app should include several basic things that help it adjust to users' needs.
Help. Your user should have an opportunity to read some information about the app and to reach out to you if your consultation is needed.
Profile settings. It's vital for a user to be able to change a user's pic/nickname/status.
Account settings. Three basic points have to be included:
- Privacy. It's actually a good idea to let a user monitor his recent actions. You may include another awesome feature blacklist.
- Opportunity to change a number. It's necessary when users change their current phone number. The app should make it possible for the user to migrate from one number to another.
- Opportunity to delete a user's account. It's essential to have such a feature in case a user doesn't want to use the app anymore (however sad it is) or gives a device to somebody else.
As for the rest of the Account Settings menu, it's up to you what to include. It could be Payment Info and Storage Usage, how it's implemented in WhatsApp.
Chat settings. Here, users can change chat wallpapers, switch on/off incoming media, and carry out backups. When talking about backup, cloud services are the most progressive way to store information. The solution for users' chat history and media synchronization should be provided.
Chat settings in WhatsApp
Notifications settings. This is very important because these 'guys' can be really annoying. Notifications should be freely adjustable.
Data usage settings. Having included this feature, you will give users an opportunity to control data flow.
Remember, if you want to create an app similar to WhatsApp, you don't have to follow exactly the same course as it's developers. You always have a choice! We're stressing that all the above features weren't added all at once! There is no necessity to stuff your app with all these at the start. The perfect solution is to build a stable, good-working product implementing basic procedures which could be updated after you get a fine client base.
Great design is a basis
Another thing influencing your app popularity most is it's design. This is the face of your product. However smart your app can be, it won't be popular without a pretty and attractive interface. Details, lovely colors, fonts, well-designed icons this is what make your app desirable. A stylish interface is worth its weight in gold. So don't be stingy when it comes to the design.
Pay attention that you will need to add about 60-70 additional hours to the total amount of working hours to implement UX/UI design.
The total cost
At this point, we will consider the development time and cost of an app like WhatsApp only with the basic functions. The table below shows the approximate development time of the WhatsApp-like app by modules and what they include.
|Modules||Features||Approximate time, Android or IOS (hours)||Approximate time, back-end (hours)|
Registration + address book formation
Audio and video calls
Total development time: Android or iOS
Total development time: Android and iOS
You can see that the process of MVP creation of an app like WhatsApp may take approximately 1,238 hours for both iOS and Android. So, developing an MVP app such as WhatsApp will cost you around $31,000 for one platform and $61,900 for two (with an average rate of $50).
Steps to create app like WhatsApp
WhatsApp won its popularity thanks to its vast expansion. It doesn't mean that its entrepreneurs had solutions for a different platform at the start. They were releasing them at a good pace one by one, which brought about excellent results. WhatsApp is a combination of a fantastic but neat design and intelligent functionality. Because there are many WhatsApp clones on the market, it could be tricky to surpass rivals. But we're sure, if you put your whole heart into your product, it won't let you down.
I hope we've satisfied your desire to know how much a WhatsApp-like app costs. So draw inspiration from the story of its tremendous success and do great things!
If there is anything we can help you with, please do not hesitate to contact us and subscribe to our blog!
- Start with a competitive research. Look through apps similar to WhatsApp (and WhatsApp itself), pay attention to their cool features, and the features these apps are missing.
- Choose platforms. If your target audience lives in the US, Canada, or Australia, it's better to make an iOS app. If they live in Eastern Europe, India, Africa, or China, go for an Android-powered app. Or both, to make the app available for all users.
- Think of basic features. No messaging app will go live without registration, profile management, pop-up notifications, chats, file transmission, or voice calls.
- Don't forget about the modern UI/UX design of your app.
If you're not a UI designer yourself, the best way is to hire a UI/UX designer who will do the work for you. They will consider platforms peculiarities, follow Google's and Apple's design guidelines, and make sure the app looks good on both iOS and Android.
Some messaging apps use advertisements, some use in-app purchases (like Viber stickers), or subscriptions. Or just look for sponsors.
Android development takes ~15-20% more time compared to iOS. That's because of a bigger number of screens and OS versions. But in general, the process remains the same as with iOS apps:
- UI/UX design
Give us your impressions about this article
Give us your impressions about this article
Fantastic work. Thanks