Most people who know know that my thoughts on mobile are that native app development is a dead end. While you cant ignore the various idioms the various OS’ provide, the driving force in our industry has always been businesses and how much they are willing to pay to allow to develop and thus continue to refine our craft. As the popularity of the smartphone continues to skyrocket companies are, more and more, looking at mobile and the next frontier. Whereas before it seemed inconceivable for a business not to have a website (in fact some business had ONLY a website), soon it will be inconceivable for a company NOT to have a mobile presence.
There are so many similarities between the early web transition and what we are seeing now, but there are also some very distinct differences. Before the Internet companies would develop applications and deploy them on the client side only. This was a headache due to the maintenance of the application as well as the incompatibilities that cropped up when a system wasn’t setup exactly like another. The explosion of popularity that marked the birth of the modern World Wide Web ushered in an era where companies could now deploy web application to a single web server (or a farm) and allow employees to use these application without fear of incompatibilities and decreased maintenance cost.
But all was not well, this popularity caused the onset of the First Browser Wars, chiefly between Microsoft and Netscape. The war came to an end with Microsoft using its tremendous advantage in market share to defeat Netscape. Thing stayed pretty much the same on the web until 2007 when the Apple iPhone hit the scene and brought about the notion of a smartphone as a consumer device. One of the biggest changes in the smartphone paradigm was the notion of customization, mainly through “apps”. The iPhone literally caused an explosion and before anyone knew it we were ushered into the era of the smartphone and the “mobile web”.
In the early years, the iPhone was unchallenged and because of this its market shared swelled tremendously. This continued until the release of Android by Google. Google operating from a different mindset than Apple used the openness and availability of its platform to gain huge market share from other competitors eventually surpassing Apple in global market share in 2011. Along the way other companies have put out new versions of their mobile OSes in attempt to gain back lost market share, chiefly among them: Palm, Microsoft, and RIM (Blackberry).
I believe we are on the precipice of a Second Browser War, this time a battle for the mobile web. The former champion, Microsoft, has lost a tremendous amount of browser share due to a long period of stagnation. New competitors like Apple (Safari) and Google (Chrome) and a resurrected Netscape (Mozilla Firefox) have certainly caused Internet Explorer to lose significant ground. Furthermore, Microsoft can, at this point, hardly claim to even be a legitimate competitor in the battle for smartphone market share, that is largely between Apple and Google.
In addition, for the same reason companies moved their application off client machines and out onto the web, so will it be that they will forgo native app development in favor of mobile web applications for the majority of business applications. This does not mean native application development will be dead on mobile devices, but it will be relegated to games and other apps that MUST take advantage of the hardware.
Another counter argument I have heard is mobile web breaks the usability paradigm established by the OS developers (4 buttons on Android, 3 buttons on Windows Phone 7/8). In reality, only Apple’s one button paradigm seems that it would be agnostic to a reliance on the mobile web, though this is not to say these buttons couldn’t be supported via a mobile interface, though that would complicate things for developers.
In the end, the majority of decision in computing are driven by the businesses which engage with computer professionals to have a service fulfilled. In the very near future, companies will begin loudly asking why the same application must be developed for each of the popular platforms. This need is driven by the users who want to use the applications. Businesses must fulfill these needs, but developing the same app over and over just to fulfill a different usage paradigm is stupid and costly. Business will start asking, “why cant we develop the application one time and have everyone use it?”. This will be the central question consultants must answer as the future comes. We have already started seeing this answer manifest itself in tools like PhoneGap and Titanium. HTML5 is being readied with a variety of features to support mobile application development. The question really is, are you ready to be a mobile web developer?
Next article – Introduction to jQuery Mobile.