As the smartphone application market explodes with tens of thousands of new applications coming online in the application stores of the major platforms (Apple, Google, Microsoft, BlackBerry, etc.), there is a silent but crucial debate going on in the market. The debate centers around the whether smartphone applications should be Web-based or native. And the stakes are high as the outcome will determine the shape of the ultimate IT platform that smartphones are destined to become.
As I noted in a previous post (Smartphones: The Ultimate IT Platfom), smartphones are a natural evolution of the computer industry. In that post I also noted that the mobile application developers will do well to learn from the history of the PC software and its evolution. The smartphone application industry is likely to follow the same patterns as the PC software, albeit at a faster pace because of the tremendous improvements in technology over the past two decades.
When PCs come on to the market in the mid-Eighties, native applications were the norm and indeed the only choice as there was no networking, no Internet and little standardization among platforms to foster any other model. PC applications became powerful islands on to themselves. They greatly improved individual productivity, but did not have the means of exchanging information with other users or with other devices in the computing ecosystem, namely minicomputers and mainframes. PC applications were simpler and focused on one individual and what the individual could do. This inability to interact with others became a bottleneck for the growth of applications, especially when it came to business or collaborative applications. When local area networking came along it spawned a great surge in client/server applications which overcame some of the limitations of native PC applications. PCs were finally connected to applications running on other platforms, to each other and to the other types of computers in the local area network. They became a vital part of the corporate IT infrastructure, and major maintenance burden for IT departments who had to maintain PCs at every desktop. Then the Internet came and gave PCs had the ability to interact with servers all over the world and with users on PCs anywhere there was Internet access. Applications no longer were local, and the paramount need became the ability to interact with other systems and manage applications that had a global reach. These forces led to the emergence of Web-based application services that were initially offered as Application Service Providers (ASPs), and then software-as-a-service (SaaS).
I believe smartphone applications will follow the same evolution. Today in the infancy of smartphone applications the dominant trend is to develop native applications. However, since we already have the Internet and HTML standards that are rapidly evolving and becoming very sophisticated, I am convinced that the smartphone applications will become Web-based because of the following relentless forces:
- Native applications are tied to one platform. Applications developers have to make a choice about which platform(s) to support, and this choice is not easy because of the rapid change in technology and the changing prospects of the different platforms. Web-based applications on the other hand will run on all the platforms and obviate the need for developers to make a choice and commit to one platform. Moreover, since it is imperative for every platform vendor to support HTML because of the sheer dominance of the Internet, developers are assured that platform support to HTML standards will continue and increase.
- Native applications presently provide a richer user interface because they can use the local functionality and capabilities of the device as compared to Web applications. This was also true for native PC applications in their early days when native applications offered much better user interfaces, functionality and speed as compared to the Web apps. However, with the emergence of HTML and especially HTML 5, Web-based applications are approaching native applications in terms of the user interface and other functionalities. Undoubtedly there is still a gap even with HTML 5, but the gap will continue to diminish and the sheer benefits of Web-based apps will outweigh the slight disadvantage in functionality.
- One of the major benefits of Web-based application for PCs is their zero footprint and the management and administration implications of that. To get infrastructure uniformity necessary to run an application, IT administrators and application providers do not have to worry about the configuration of software on individual devices when they are dealing with Web-based applications with zero footprints. With smartphones this problem is even more acute as the management of native applications on a large number of mobile devices is very difficult. Web –based applications provide an elegant and centralized way of provisioning applications and managing their user without having to deal with configurations at the individual device level.
- As I noted in Smartphones in the IT Ecosystem, smartphones will have to seamlessly co-exist with other computing devices in the IT ecosystem, namely with PCs, mid-range and mainframe computers. A web-based application models lends itself easily to such integration because in essence a mobile device is a client to a Web server and the integration is essentially there when a Web-based application is deployed. Furthermore, and perhaps more importantly, Web-based applications give user the choice of the device they want to use. If a Web-based application is properly conceived and deployed it should not make a difference to the end-user if the application is being used from a smartphone or a laptop.
Due to these reasons I am convinced that the Web-platform will be the ultimate platform for mobile applications as it is for PC applications.