What is unification of Apps?
Post the revolution of Smart phones, leading to mobile application development, every institution/organisation has built an App for them, trending apps evolution. There are millions and billions of App in both Apple and Google (Play) store. It is quite often, that an organisation builds more one than one app for their business. Even Apple and Google have multiple applications under their umbrella. Apple has the following apps
- iTunes
- iBooks
- iMovies
- And many more
So Google
- Gmail
- YouTube
- Drive
- Allo
- Duo
- Hangouts
- And many more
Similarly say a banking solution will have several apps like
- Mobile Banking
- Market (Share) trading
- Wallet/e-Payment solutions
- Enterprise Banking
- And many more.
Since then, there started a debate of unifying all apps into one app, there is always an argument whether to build separate apps for each functionality or build a single app incorporating all functionalities, which has there own merits and demerits as follows:
Pros:
- One APP for the user to download, rather hunting for the apps for all requirements
- Easy marketing, as reduces time and energy in marketing multiple apps, hence reducing cost.
- Single Code Base
- Single Authentication and Session management
Cons:
- One Blotted APP, user might be eligible for only one functionality however he/she will be forced to download the entire application, where other functionalities are of no use to him/her. Not only that, by consuming huge space on his physical device, user will be forced not to use the functionality that (s)he fond off, forcing user to uninstall the application. Resulting business to lose a customer.
- Single marketing diversified messages, psychologically turns down the user, resulting no returns. By diversifying I mean, marketing the same application for trading, banking and all, give an impression to the user, that jack of all trades fits none, and if any one functionality fails to meet the expectation, that will add fuel to it.
- Single code base - might sound like a merit, but it is time bomb on its own, when it explodes no rescue team in the world has the capability to recover, because a single code base leads to shared code and resources, any change on trading functionality might lead to a disaster in banking module. Leading to both trading and banking customers frustration.
More over, Every single module that gets worked out for subsequent development, all the other modules need to be tested as well, involving OPEX, avoiding such intensive testing will compromise on quality and security. It is like a situation between devil and deep sea. - Single Authentication & Session Management - It is another myth that this is a merit, as there is nothing called as single session management, as session timings differ for each functionality say for example banking might have 5 minutes where as trading 60 mins. Single authentication but multiple session will puts lot of work in my back end and considerable amount of effort in my application as well.
- Lack of Analytics -- We will never why the customer has downloaded our application, as it could be one functionality or more
- Reckless Marketing -- We wont be able to target the customers for a specific functionality to promote the application. It is like shooting in the air
Reasons why I suggest multiple applications
- Targeted Marketing -- It becomes easy to evaluate the marketing medium and the population.
- Analytics -- When a Trading application is downloaded, we know for sure the customer requirement and intention and this analytics will help to target the marketing.
- Customers Jurisdiction -- Making customer to feel king, giving the flexibility of choosing what to download and what not. Atleast assuring that (s)he not getting spammed.
- Multiple Session -- This is huge advantage, giving flexibility to have different session for different application and also multiple authentication if required or SSO. a la carte implementations.
- Multiple Codebase -- It still gives the flexibility of sharing common resources, thanks to modern build tools, and also gives the uniqueness for each application, a perfect combo.
- Discontinuation -- My favourite, any time without affecting the other modules (APPs), business can decide to discontinue the support for a functionality (if APP)
There is a saying "There is a reason why these roads are less travelled", when big giants take back foot on unification, then it becomes a subject for scrutiny. Unity is strength, but not always, especially in APP unification it is stampede..