WhatsApp is one of the most popular real time messaging apps that are available cross-platform. You can easily exchange messages between iPhone, Android, Windows Phone, BlackBerry and Nokia phones without paying for SMS. Before you start developing an app like that you first have to understand that WhatsApp is not just an app – it’s a service. Once you develop an app you have to maintain its intended functionality.
To calculate the cost of an app you must perform design and development time analysis based on the list of features you want the app to include. The cost of creating an app corresponds to the sum of the design cost and development cost. Once an app is finished you have to take the costs of infrustructure into consideration.
Let’s start with preparing a list of features our app will have to include.
- Registration/Login: Because the service is cross-platform it needs to allow users to register and login on various devices. Both features can be made seamless, for example using user’s mobile phone number as a username.
- Account termination: Some users (hopefully hardly any) would not be sattisfied with our service and would like their account to be terminated, for example due to the data privacy reasons.
Back up / Cross-platform data
It would be great if users could back up their messages, contacts and files they send so they are available for them on whatever device they use to log in.
This feature looks pretty straightforward, but you couldn’t be farther from true. If you give some thought to it it turns out that there are a lot of little things to consider for such a simple concept:
- Sending text messages is the most basic thing, but how about the emoticons or stickers?
- Want to share audio or video files? You probably want to allow the user to capture audio and video files first so they don’t leave the app.
- What if you wanted to send your uncle a picture of the new drill you just bought, but never bored to exchange phone numbers? Sharing contacts may turn helpful.
- Want to show your friend where you are waiting for her? Just use location sharing.
- Your mom asked you to get her some groceries but since then you have exchanged so many messages that it’s tiresome to swipe: wouldn’t it be easier to just search for it?
- Delivery confirmations and read receipts
- Not to mention group conversations!
It is important for the app to synchronize contact list with phone contact list so the users don’t need to add their friends and contact groups manually. Contact list should allow to search for friends, assign profile pictures for individual contacts and groups. The application must allow to mark contacts as favorites as well as block contacts that send unwanted messages.
These are platform specific but you need to design and code the following:
- pop ups
- in-app notifications
Individual and group conversations probably need distinct notifications designed.
- Contact / Group tones
- Chat settings
- text size
- multiple lines
- keyboard shortcuts
- Privacy settings
- hide last seen
- read receipts
- profile pictures
- Chat wallpapers
- Status settings
- Notification settings
Cross-platform Designs and User eXperience
Each platform feature different kind of interactions with the user and specify distinct design guidelines: for example Material Design is a comprehensive design guideline for Android apps written by Google.
The specific of mobile devices is that they may go offline from time to time. Because it is critical for the chat to work in real time the conversations need to be handled properly when there is no internet connection. To solve this the messages should be stored on the device until the internet goes on and the sent confirmation is received from the server.
Sent/Delivery confirmations and read receipts
- Sent confirmation is used to the user knows that the message has been successfully sent and is avaiting delivery
- Delivery confirmation notifies the user that the message arrived to the recipient’s app
- Read receipt is a cool feature that allows the sender to know that the message has been read
How is the cost of an app like WhatsApp broken down?
The price is split into several sections and these would probably be priced as follows in certain regions:
- Designs and mockups
- US: 5000-15000 USD
- Europe (Russia/Poland/Czech Republic): 4000-12000 EUR
- Europe (Switzerland/Norway/West Germany): 5000-15000 EUR
- Device apps – cost of developing the mobile apps for various platforms. Cost is per platform (iOS, Android, Blackberry, Windows Phone and Nokia) and it may vary by 10-20% between platforms.
- US: 20000-40000 USD
- Europe (Russia/Poland/Czech Republic): 17500-35000 EUR
- Europe (Switzerland/Norway/West Germany): 25000-60000 EUR
What is a total cost of a fully functional app similar to WhatsApp?
Based on the above, WhatsApp for iPhone and WhatsApp for Android platforms, could be probably developed under 100 000 USD in the US and 80 000 EUR in Europe. This would, however, involve a lot of management effort on the owner side and coordinating the developers on your own. If you plan to use an experienced agency that will deliver a working, bug-free product for you, have at least 120 000 USD (100 000 EUR) in your pocket!