The Web is not going anywhere anytime soon.

Mobile platforms, especially Android, have literally exploded since their inception and have in turn, played a very important role in the smartphone revolution. I remember the days of Nokia with Symbian OS for which apps were few and developer experience wasn’t great either with app development being severely limited. Even the best of Nokia phones stopped being relevant, stopped being innovative and it was largely due to limited things you could do with the underlying OS. Android changed that and I am being polite when I use this word “changed”. Android’s arrival literally ousted Nokia, then a formidable player in the mobile market. I admit there were a number of other factors too, including the much popular Microsoft Trojan Horse theory in Nokia’s downfall, but Android is the most popular mobile platform to build for and that is something to account for in its role in capturing the market. A big part of this revolution was brought forward by the developer community who lapped up Android and created a plethora of great apps that couldn’t be built earlier.

Moving to mobile hybrid app development recently, I got to experience the mobile app ecosystem and the problems surrounding it. In some time into my stint, I ran into the slang YAMA which, I discovered, stands for Yet Another Mobile Application. This points to the mind boggling number of applications already out there on Play Stores and the sheer amount by which the number is increasing on a daily basis. Recent surveys point out to the trend that users are very reluctant to install and try out new apps on their smartphones. Infact it costs a lot of money to a company to acquire and retain a new user for a mobile app.

How the Web can solve some of these problems?

The power of the Web comes from the sheer amount of tools and technologies available to developers and most of the credit here goes to Javascript becoming much more powerful with a strong community using and contributing to its ecosystem. It started from being a simple Client Side programming language in the browser, for being used in form validation et cetera to immensely powerful tools living and being served via the Web i.e. Software as a Service. Then there is Node JS which provides the ability to write server side code to a Front-End developer with a rather small learning curve. And the fact that it is javascript too, any reservations of a developer to learn a new technology are virtually non-existent and it feels simpler to get an app running. Becoming an expert however is a different ball game.

Mobile App development is plagued from a number of problems, App Saturation being the topmost. Then there are strict release cycles and policies for Android/iOS. Along with it comes the challenge for developers to maintain backward compatibility for the apps. Once you have released something to your users, you will have to live with it for a very long time. Unless you force your users to upgrade the app which in most cases can’t be done due to the user being sensitive about updating the app too frequently, expensive data connections in India and too many such cases/bugs that are fixed in each such release. It is really difficult to take a call on which bug necessitates such a forced update and which does not. On the Web, this is rather simple and minimal. The user has to visit a webpage which means he would always get the latest version of your application/service. For developers this is simple too since they don’t have to worry about backward compatibility and the fragmentation of versions of their applications out there since it is all a single application being served i.e. a single source of truth.

Organizations are now realizing that there are only so much apps that the user is going to install and they have to figure out new ways to engage with the user. A user only keeps those apps on his phone which he feels he is going to use on a daily or a weekly basis. Other apps mostly stay dormant. Most of the apps installed by users are either uninstalled in a few minutes or the user never returns to the apps. Some of this can be blamed on bad FTUEs but there is only a few apps that the user is going to use on a recurring basis. Eventually frustrated by notifications(attempts to bring the user back into the app) for apps that one does not use, he uninstalls the app. Not a very pleasant interaction for the app and the user.

Now recently there have been talks of Mobile killing the Web and we have seen many organizations going the Mobile First approach or at its extreme Mobile Only approach. While it is true that maximum users use a smartphone to access the Web both through browsers and apps, however it doesn’t necessarily ring the death knell for the Web. And we have all seen clear signs of the Web clawing its way back.

My gut feeling is that for smartphones to serve consumers effectively, there has to be a convergence of sorts of these two platforms where the power of the smartphone is combined with the ease of access of web: both for developers and users. Some recent signs of this have been seen where we have seen Google taking steps to separate Webview updates from Android(which honestly OEM’s never release updates to). And there have been attempts to bring offline browsing to the web in forms of technologies like Application Cache and Service Workers. Let's just hope that these are used well in some good real life examples, polished & augmented to an extent where this convergence makes sense to us all: developers and users alike. Then we, the web developers, can delight users on their smartphones much like great apps do.

Power to the Web!