Friday, September 28, 2018

Is this once again spelling the downfall of another titan?

In the first decade after the millennium, websites used to be that ‘in thing’ which every individual or company craved for. Businesses bloomed and everyone seemed to be following the trend to move into tech. Software developers, both individual freelancers and companies seemed to be selling their services like hot cakes. It was ‘the business’ to be in. The turn of the tide came in July 2008, when apple introduced the app store with 500 mobile applications whereby only 25% were free. During that weekend, over 10 million downloads took place and with android coming into the picture, the rest remained as history. Although, websites still remained hugely popular for quite a bit, its popularity progressively decreased over time.

Mobile Applications: Insights of the titan

In general mobile applications are developed in either one of the two methods; native or hybrid. Development of native applications would require a lot more time and skill as compared to the development of hybrid applications as native applications are built on a cross platform focusing on specific languages such as swift or Objective-C on iOS and then, Java or Kotlin on Android. Mobiles running on windows would be developed in C#. Each native application would be developed and designed individually to suit the platform it is created for.  
On the other hand, Hybrid applications are built using web technologies. In simple terms, imagine a website being compressed and converted into an application. The basis of building a hybrid application simply requires JavaScript, CSS and HTML and the bottom line would essentially be that you would be building one application that would work on both platforms. In comparism, native applications would usually require more time to develop as compared to its hybrid counterpart. On the contrary, as native applications are developed individually to the platform’s requirements, it is often less buggy and it is optimized for performance. Hybrid applications are generally much cheaper in cost and would also require less time to develop but the time taking to fix bugs might require more time for hybrid apps as they are built on one platform catering to many platforms (iOS, Android and Windows). In recent times, hybrid applications have become less popular as react native is used to build applications. So what is react native? React native allows an application to be built cross platform through a JavaScript API, exposing the native controls of the mobile device, which the application is running on. Overall, apps developed via react native are native applications, which would only require the software developer to develop it once. Developers using this method should be skilled and well experienced. It will definitely help a software engineer to reduce the development time.

Part 1: Websites vs Mobile Applications- How the titan took its stage

In the current era of the 21st century, majority of the population clearly suffer from ‘nomophobia’. Okay, this might be a bit of an exaggeration but then again have you noticed that the current generation are somehow hooked unto their mobile pretty much 24/7? The point being made here is that the usage of mobile phones has become a necessity in the general life of the average human being out there.  
  Since you already can see that mobile phones play a huge part in the lives of most people, you should be able to see why mobile applications are hugely popular. Websites in general are 1.5x slower than mobile applications. Secondly, mobile applications are accessible offline where as websites cannot be. Imagine this, you are in the aeroplane or if you do not have access to data, you would not be able to surf the net. However, you would still be able to carry out with whatever application you are browsing since most applications have offline features (unless they are live games). To add more misery to the website cause, websites are not able to give push notifications unlike mobile applications. Push notifications would allow users to get updates on the things they want and hence, proving to be much more personalized.  
  However, websites do bring opportunities that mobile applications do not. With the app store being flooded by millions of applications today, getting to the main page will require an enormous amount of luck. The chances of you appearing on the first page of the app store is literally 0.001%. It’s like purchasing a lottery ticket and hoping that it will hit. With websites, you can create content, and with the content created, you can climb up the Google search rankings. This is known as SEO. Another downside of mobile applications is that once you have created a mobile application, you will have to upload it to the app store where by you will be regulated and it may become a bit sticky in certain situations. Similarly, as a user downloading the app, you will rather not download so many applications since mobile applications in general do take up a lot of space. …how nice would it be to have something right in between a website and a mobile application. Literally the best of both worlds… Guess what? Yes! There is such a thing. Progressive Web Application is the new upcoming prince, whereby it brings the best of both worlds to the table.

Part 2: The arrival of the prince, HRH Progressive Web Application. But will PWA become king?

 A term coined by Alex Russell, Progressive Web Applications are web applications built using modern web technologies but feels like a native application. To put it in my own words, progressive web applications would be the revival of websites whereby it carries all the ‘awesomest’ functionalities of websites and native applications, combining the best of both worlds.

How does it work?

Using a supported web browsers such as chrome, progressive web applications are accessible to anyone on the web. Just imagine yourself scrolling through a website and then you realize that you like it. You decide that you would want to receive updates and you feel that you would probably want to check it out pretty often. Using the URL of that particular web application, you will now be able to download it via the web browser and the application would run just like a native application. How cool is that?

How Progressive Web Application carries itself against its counterpart, the native application…

In terms of responsiveness, the user interface has to fit into the form factor of the device, be it in a desktop, tablet or mobile view. Clearly getting inspiration from Bruce Lee, this is literally the form that progressive web applications take.  
  “You must be shapeless, formless, like water. When you pour water in a cup, it becomes the cup. When you pour water in a bottle, it becomes the bottle. When you pour water in a teapot, it becomes the teapot. Water can drip and it can crash. Become like water my friend.” Users should not be able to differentiate the difference between a progressive web application and a native application while using it. The app like feel has to be paramount. With the availability of service workers, a progressive web application has to be able to work offline just like most native applications. The availability of this offline feature was what was lacking in websites. Just like a native application, progressive web applications are able to provide the push notification service whereby, users are now able to constantly get updates on the topics that are of interest to them. Besides that, a progressive web application is also secure from content tampering as it is served via HTTPS which is clearly, very relaible. The progressive web application is called progressive for a reason. Regardless of the browser choice, it should work for every user. Currently, all browsers but ‘safari’ are able to support the usage of progressive web applications. However, there is a silver lining to this, as Apple has recently announced that they are working on the safari browser to support the progressive web applications cause. This would basically define most of the similarities between a progressive web application and a native application. So what are the differences? Discoverability wise, for a native application, the chances of it being spotted on the app store is literally 0.001% as mentioned above since it is mostly based on luck even if you do everything right. However, with progressive web applications, you are now able to carry out the content creation to help with SEO. This would simply mean, just like a website, progressive web applications are able to be discovered as long as you provide the right content in order for Google to ‘like’ you.  
  Secondly, downloading a progressive web application is easier as you do not need to use any sort of application store to carry out the task. Updating the application would also be simpler as it auto updates by itself rather than you, having to go to the application store to update the application, which does get annoying at times since in most cases, native applications do not work very well if it is not updated. However, if you need an application that requires the tablet’s hardware features such as the Bluetooth, NFC or a device’s sensor package like fingerprint sensors, a progressive web application is currently not able to support that. Hence, if you are planning to build a wearable tech application or in some instances, a proper full scale fitness application, a native application might be more ideal for you.

Impact of Progressive Web Application

Ever since Google launched progressive web applications, they have carried out various tests with several conglomerates such as The Guardian, Washington Post, Alibaba, Channel, Flipkart and many more. The majority of the companies saw an increase in active sessions per user, a rise in engagement and reengagement, as well as conversion rates that increased up to 10 folds on average.  
  Let’s take Alibaba for instance. Alibaba implemented AliExpress as part of their trial for the progressive web application and saw that the conversion rates for new users increased by a whopping 104%. Eventhough the progressive web application is not supported by Safari, AliExpress saw a 82% increment in conversion via the mobile web browser in Safari. Imagine what would happen when Safari begins supporting PWA! Overall the new strategy proved to deliver a much better experience whereby, users now show to visit twice as many pages per session and time spent per session increased by 74% on average, across all browsers. So Progressive Web Application or Native Application? With the benefits that progressive web applications bring, it could be said that that it would certainly be a no brainer for any company to choose this path. With the usage of progressive web applications, people would be able to improvise and grow progressively with the technology. The rate of inactivity would also go down, since it is easily accessible and with the push notifications and offline availability, it just makes it more sensible especially when Search Engine Optimization works perfectly on this platform. However, native applications would still be needed if companies run businesses, which require hardware features or the device’s package sensors.  
  Overall, it can be concluded that in the long run, as progressive web applications continue to improvise, I would not at all, be surprised if progressive web apps support the usage of all hardware features and sensors as early as the end or this year or early 2019. All in all, progressive web application would certainly gain more market share and could potentially freeze out the usage of native applications one day. …Maybe we should all pave way for the future. The future for progressive web applications is now! For more services please click this link https://blueninja.io