Native apps are the rage for smartphone users today. Every smartphone user wants native apps to download, and almost every software and services vendor is craving to have a native app for their product or service. Already the market for smartphone apps is in the billions of dollars and is forecasted to be hit fifteen billions of dollars in 2013. The rage for native apps is fueled by the phenomenal, ongoing success of the Apple iPhone and the Apple AppStore, and to some extent by the success of Google Android. Thousand of application developers, ranging from small, one-man companies to large corporations, have latched on to the desire to develop the next killer app or, in the case of corporations, to make sure that their product or service do not lag behind their competitors who have jumped on to the native app bandwagon.
These factors will continue to make native apps attractive for developers as well as users alike in the short term. However the dominance of native apps is unlikely to last forever because there are a number of countering factors that swing strongly in favor of Web apps. The first major weakness of native apps is with regards to management and maintenance of the app. Once the app is downloaded from the app store, the app developer has little control of when it is upgraded to the latest version. When new versions are released, first they have to clear the review of the app store owner. Once the review is completed and the new version accepted, the actual installation onto a smartphone is still at the discretion of the smartphone user. It is not possible to force an upgrade when flaws, security leaks or other enhancements require an upgrade. The developer is at the mercy of the users. This limitation is compounded by the fact that a large number of applications have to rely on services provided by other providers, most likely by using Web Services in a Services-oriented Architecture (SOA). No application can do everything on its own, and Web Services/SOA enables applications to leverage the best-of-breed services offered by thousands of other providers. There is nothing that prevents native apps from also using Web Services/SOA. However, the inability to force version upgrades makes it very difficult to maintain such applications. If some logic of interaction with Web/Services/SOA is changed, there is no way to compel users to upgrade to the latest version. The second major weakness of native apps is due to the fact that there are at least five major smartphone platforms i.e. Apple iPhone, Google Android, Microsoft Windows Mobile, RIM Blackberry and Symbian. It is very costly to develop and support native apps for all these platforms. To avoid this cost, many vendors simply chose to support one or two platforms. However then they are getting into the risky business of predicting which platforms will lead in the future, or which platform their users are likely to use. And finally there is the issue of loss of control by allowing app store owners to decide which apps qualify for publishing and the revenue sharing percentage. App stores have become the brokers and the middle men, and as we all know from the lessons of the Internet, no one likes a broker or a middleman between them and their end customers.
Web apps address the challenges that are faced by native apps:-
- Web apps are by definition easy to maintain and upgrade. The software has to be changed only once at the server and after that all users are using the most recent version. This is one of the biggest advantages behind the rapid growth of software-as-a-service (SaaS) model in the desktop app space. The same advantage will enable Web apps to prevail in the long run, especially for mission-critical business and ecommerce applications. By the same token, Web apps and their instant upgradability make them ideal for consuming Web Services/SOA and delivering rich functionality by leveraging best-of-breed third-party services,
- All smartphones support a browser. This means that developers who write a Web app do not worry about which platform to support. The Web app will run on all the platforms that run the standard browser. Many of the leading smartphone developers, including Google and Apple, have based their browsers on the open source WebKit. This greatly reduces the cost and risk of developing applications
- In my previous post, Chunking Enables Better User Interface for Mobile Apps, I discussed the many advantages of breaking the user interface into small chunks or bites. This is essentially how the highly appealing and successful user interfaces of the iPhone works. With Web applications, it is easy to implement chunking, and many users of Web apps are already familiar with the step-by-step, Wizard-like approach.
- Finally HTML, and especially its next major upgrade called HTML5, is maturing and providing more and more capabilities that will put it a par with the capabilities offered by native apps and the SDKs used to develop them. The capabilities offered in HTML5 include access to hardware resources such as location information and camera, standard tags for video and sound, offline use and local storage, and drag & drop interface, etc.
I strongly believe that these advantages of developing Web applications that are cross-platform and as rich as native apps means that the pendulum will swing in favor of Web apps for mobile devices, just as it did for Web apps on the desktops. The software industry will follow the same path to rich Web apps for mobile devices, albeit at a much faster pace because of the maturity of the Internet and the desktop Web apps
At Chatty Solutions we have made a bet on Web apps. Chatty Apps enable web and SaaS applications vendors to mobile-enable their applications by using either HTML/HTML5 or Microsoft Silverlight which is also a great for creating rich user interfaces. As the rage for consumer-oriented native apps recedes and the mobile Web matures, software developers will discover that it is the best and most cost-effective way to reach millions of smartphone users regardless of which smartphone they are using.