DIY vs SaaS

Build vs Buy: What to do for your In-App Communication Needs?

Huh! To Hell with it! I Don’t Need In-App Communication! Well, we urge you to think again.

80% of mobile time is spent on apps. Mobile has become the primary medium for User Acquisition, Monetization, and Engagement/Retention for businesses. In fact, many businesses have also rolled out mobile apps for internal team collaboration and management.

Given the enormous popularity of personal messaging apps – WhatsApp, WeChat etc its clear that messaging is the preferred mode of communication. Taking the concept of messaging a bit further to mobile chat, a recent study reported that 79% of mobile app users would engage with the brand inside a chat. This presents a massive opportunity for businesses to engage with users and increase brand loyalty.

If You Need A Machine And Don’t Buy It, Then You Will Ultimately Find That You Have Paid For It And Don’t Have It: 

Engineer multi work

While we all agree that the in-app messaging has become the utmost necessity for user engagement, most businesses find themselves at the crossroads “Buy it OR Build it”. The danger in building internal tools is that it needs constant parenting and incremental cost. The makeshift homegrown solution turns into a few weeks of “getting it just right” which later turns into couple of months of distraction for your engineers as they tweak all the random edge cases no one considered.

The bottom line – you end up spending literally hundred of hours building a tool which is neither core to your own business, nor one that helped you save any money. Even worse, you utilized your engineering resources elsewhere, while they could have been used to improve your core product which would have ultimately driven revenue for your business.

Quantitative Analysis of Build vs Buy:

The overall expenditure involved in developing a homegrown Messaging Suite for your mobile app, illustrated below, proves that even monetarily DIY is a bad use of your resources:

  • The price to develop a similar app like WhatsApp on iOS platform is approximately $26,400.
  • The price to develop a similar app like WhatsApp on Android platform is approximately $26,400.
  • Enabling CMS and Web Services, would cost approximately $16,800, thereby making the total investment approximately $69,600.

Congratulations! You spent 69,600$, an amount that could have given you access to Applozic’s Growth plan for 16 years at 369$/month. 

Surprised, well it doesn’t end just there. While your engineers were busy making the Messaging Suite they were actually not concentrating on making your own core product any better, and sadly this continues for 3-4 months which is the average time required for developing an In-App messaging feature.

Now lets say you had a recurring revenue of 20,000$/month and growth at a rate of 10% month-on-month, will amount to recurring revenue of 63,000$/month at the end of a period of 12 months. However utilizing your engineering resources in building a core platform capability, that could reduce churn or expand your market size, could have bumped your growth to say 11%. That would have meant 70,000$ worth of recurring revenue in an year.

Thus building your in-house In-App Messaging solution not only resulted in saving an insignificant amount of Cash, but also stifled your growth and future cash flows.

Qualitative Analysis of Build vs Buy:

Apart from the obvious monetary and resource implications, there are many more decision points that one should look into, before zeroing in on the final decision of Build vs Buy:

  • Completeness of Messaging Features: Building In-App chat that enables companies to build highly engaging mobile apps is a non-trivial task. Limited forecast of the scope, and
    non-familiarity with available chat protocols might result in overlooking any of the requisite Use Cases like offline notifications, background app processing, addressing Customer Support, surveys etc. Each of these new capabilities can result in extended development & testing timelines, hence it is important to assess the in-house expertise before embarking on a Build Strategy.
  • Multi-platform Support: Any in-app chat capability you build must support both iOS and Android, which means familiarity with the features and quirks of APNS and GCM respectively. Most businesses tend to hire and manage two separate teams for each platform, which can get costly especially if they each now have to also learn how to build messaging capabilities. Furthermore, this process gets more onerous if you add support for web messaging to the mix.
  • Scalability:  A cloud based SaaS solution like that of Applozic can help you to scale and pay as you grow.
  • Integration with Enterprise Systems: Most backend system such as CRM or ERP require custom implementation, hence need in-house expertise. Thus it is important to to utilize your in-house development resources – on delivering seamless back-end integration rather than building a standalone messaging capability.
  • On-going development and Support: If adopted, messaging and chat capabilities can go viral very quickly and become a core component of your users’ experience and a driver of business growth. Thus development of a Messaging Suite for your mobile app is not the end, it needs to be maintained just like any other core product capability that offers you competitive advantage. This would require additional recurring resources both monetary and human, unlike in the case of a SaaS solution where every new release will automatically upgrade your platform capabilities.

The Role of Messaging in the overall User Experience:

When time to market is critical, you need to decide if it is more important to focus your developers’ time on designing the best possible user experience or on building standalone in-app chat capabilities. If in-store app reviews and net promoter scores are a KPI, then user experience wins every time!

It is very important to have a strong understanding of the Business Goals and a deep assessment of the technology needed to achieve them before making a Build vs Buy decision. Ask yourself, “Do I work for a technology company that builds systems software or is my core business something else – manufacturing, retail, healthcare,eCommerce etc., and where should I invest my resources?”

If you belong to the second category, it is advisable to outsource and be done with all the worries for ever.

At Applozic Inc. we offer highly customizable and easy to scale, White Label SDK that helps to integrate chat in Web and Mobile apps be it on iOS or AndroidSign Up with us, and enable your web and mobile apps with our end-to end Communication Platform. Visit our Feature’s Page to learn more about our offerings. Feel free to contact us at for any queries and we would be happy to help.

Help us serve you better by providing your valuable comments and feedback in the section below.


What should you know before implementing real-time messaging?

Digital Marketing has rapidly moved to an era which early age marketers have often dreamed about. The biggest worry for early online marketers was whether they would ever be able to compete with offline channels in providing a real-time 1:1 personalized customer experience.

The dream has already been fulfilled with help of real-time messaging. In-fact, online marketing will soon provide a smoother experience when compared to offline marketing with chatbots.

Customer experience has now taken a leap and has become a part efficient life cycle marketing model where buyers and marketers benefit together. For marketers who wish to increase their market share and gain competitive advantage adjusting to this evolution has become critical.


Marketers have identified the potential of the technology but are yet to deploy it effectively as a part of their customer engagement strategy. In order to successfully align real time messaging for customer engagement we recommend answering the following questions before making it a part of your website or mobile app.

  • Do you know who you are talking to?
  • Are you monitoring your customer’s journey on page?
  • Are you confident about your promotions? Does it click to your target audience?
  • Are you getting your messages delivered on time?

If you are not able to answer these questions, be sure that deployment of Applozic’s SDK on your platforms may not be effective. Instead, you should start strategizing according to your goals.Let us tell you how?

  • Detect who you are interacting with. Once, you understand, draft ways which will help you solve issues of your customer at the earliest.
  • Customer’s position in customer life cycle will help you determine what sort of journey he/she is into. Allocating the position on the graph helps you customize your interaction with the prospect and in case you don’t do this someone else will do.
  • Marketers today are focusing on creating a huge customer base and gain competitive advantage but customers equally understand their benefit so they take no time to move to one providing maximum benefit. So provide the best offer and experience as per customer’s profile.
  • Timing is very important, you must make all necessary arrangements so that user can interact with you or co-users the moment he wishes too.

In short,

You need to detect who you’re interacting with. You need to determine what journey they’re on. You need to decide which of your offers is best for that customer. And you need to let your user interact in time to make a difference.

In order to satisfy these aspects, real-time messaging and notifications plays a vital to assure a seamless user experience. We are working on some areas like:

  • Emotions: Real-time plug-in like Applozic brings that engaging response as people believe that instant message affirms their interaction with “via the nearest human” thereby evoking raw emotions. The ability of sdk’s to track down  if the message has been delivered or if the person has seen or not creates a fun new niche.
  • Security: Security is one of the most important area of concern globally. Applozic’s sdk affirm the prevention of any unauthorized access and publishing of personal information. Be it on the website or in-app feature we provide highly secure communication and control over your settings.
  • Intelligence: Artificial Intelligence is being built into instant messaging with the help of Chatbot. We are close to our first chatbot; in Beta already and here’s how you can get started to build one for your self it in four simple steps.

Real-time messaging is on its way to monetize at huge scale. With still evolving technologies like Internet of Things and bots, it seems to be a domain which will play a major role in redefining communication, personalization and customer engagement.

Applozic is formed with a vision to help business find a complete communication solution. Think about any type of conversation 1-to-1, 1-to-many, group chat, context based chat etc, you have it all at one place. It is a platform that offers application to user messaging, cross application communication, SMS and Email fallback support along with a dashboard that has rich insights and analytics. We also specialize in providing an efficient mobile commerce solution, know more at why integrating in-app messaging in your mobile commerce is important.

JavaScript — Event Loop & Concurrency

In this article we will try to figure out how event loop and concurrency actually works in javascript.

Javascript, a single-threaded functional language.

One thread == One call stack == One thing at a time

Have you ever wondered that despite of being single-threaded functional language, how javascript handles our callback? During execution, where does our callbacks go and how they come back in our call stack after certain amount of time? So, lets try to figure out how javascript executes the functions internally.

We will start with a simple function execution. Let’s assume we have the following code snippet, so when we execute it, internally javascript engine creates three main components during run time.

function a(){
function b(){

Call Stack — It is the main thread by which execution of our program takes place. During run time, engine creates frames, which contains arguments and variables of that function (not objects) and push them into call stack. main is our entry frame by which execution starts, after that it will create a frame for a and push it into call stack. Inside a we are calling b, so it will create a frame for b and push it into call stack. When execution of any function finishes, it will pop corresponding frame from the call stack.

Object Heap — It is nothing but a memory space where objects resides.

Message Queue — During execution, javascript engine (V8) also maintains a message queue. Whenever the browser finds out that timer for a particular callback is completed it pushes that function to the message queue. It is a pipe which browser uses for sending their event to the main execution call stack for execution. So message queue is nothing but collection of callbacks those are waiting for the execution.

Now, for some more clarity, let’s extend our example and add some callbacks. We will use ‘web api setTimeout’ to add function aa and bb inside function a and b respectively with timeout 3000ms and 100ms.

setTimeout is a web API which is handled by the browser concurrently. You can call web API’s and they will keep working on them in separate thread.

function a() {
setTimeout(function aa() {
}, 3000);

function b() {
setTimeout(function bb() {


Starting with main frame, engine will create frame for function a and push it to call stack and browser start timer for function aa. After that, engine creates frame for function b and pushed it into call stack. Similar as aa, for function bb also, browser kicks a timer for it.

On the one hand, the call stack execution is going on and it pops frames from call stack as ba and then main, and on the other hand at the same time callback timer is ticking. Whichever callback timer completes its duration first (regardless which started first), it will move to the message queue. So, in this case, even though timer for aa started first it is taking more time then bb so in message queue, bb moves before the aa.

Now significance of Event Loop comes in picture.

Event loop is continuously ticking during the whole process and watching the call stack and message queue. As soon as it finds out that all frames of call stack (a, b and main) are popped and call stack is empty, it started creating frames for callback functions (bb, aa) and pushing them into call stack from message queue. Here you can see event loop waited for the completion of previous call stack before pushing message queue frames to them. It means whatever time we provide in the callback, that is the minimum time which it will take to execute.


So the crux is, even though Javascript is single-threaded, our browser and node provides us the API’s which we can call for concurrency execution and event loop will help in pipelining those execution results from message queue to the call stack.