Last updated

The End of Native Apps

Native applications and App Stores have harmed interoperability and openness on the web. The time is right to reconnect with the browser and reject native applications.

Estimated reading time: 3 minutes

Table of contents

The Arrival of App Stores

The launch of Apple’s App Store in 2008 inherently changed how we consume content on the web. It heralded a change in thinking for consumers that has shaped the way we use and consume the web today. Instead of searching for websites with a search engine consumers were invited to search a curated directory of applications attached to an App Store. These applications were not powered by HTML but instead a full SDK specific to Apple’s hardware that provided developers with native APIs and a User Interface toolkit.

From a business perspective this model clearly is a brilliant one. If you can make it work you can control the means of production and the means of distribution whilst simultaneously engaging an army of enthusiastic and entrepreneurial developers to build your business. Indeed the model was so successful that Apple’s competitors copied it. The Android Market, Blackberry’s App World, Windows Phone Store and Amazon AppStore all arrived and with them their own SDKs for development.

With so many SDKs to create applications against projects like PhoneGap emerged allowing developers to write applications against a single SDK and for it to be compiled into applications that would run on the Windows, Apple, Android or Blackberry platforms. It is somewhat ironic that the DSL for PhoneGap is JavaScript, a language from the Open Web that most if not all developers know.

The App Store has become such a dominant force in the way that users consume content on the web that businesses are willing to support up to four different SDKs to deliver their content. Frequently native applications are just content - they list products, or train times or display pictures. If you need convincing that App Stores are now valued over the Open Web you have probably experienced visiting a mobile website on your phone and been invited to view the same content by installing a native application.

Meanwhile Web Standards

Whilst journalists and developers were fainting over the creations emerging from Infinite Loop the Web Standards movement continued to progress. Browser vendors are now all agreed that standards are the way forward and real progress has happened. Even the historic loathing of Internet Explorer is not relevant any more. Microsoft have implemented Web Standards and remain committed to doing so.

Browsers can now access most of the hardware devices that are often cited as an argument for using native applications. Browser APIs now exist for accessing Video and Audio devices. Canvas and WebGL vastly expand the capabilities of what can be shown on a page. With WebRTC you can make a video and audio call between two browsers without needing anything else. No plugins - just a browser.

The point is that interoperability is only dependent on a browser that can be created against a set of defined standards so your choice of browser is not even important. This means your choice of operating system is not even important.

Time to reboot

Projects like PhoneGap show what App Stores mean for interoperability. By design they are not interoperable because App Stores are a revenue stream. Native apps like iMessage are the epitome of everything that is bad about App Stores. A simple messaging application is only available to iOS users on Apple Hardware. Is this progress?

Developers and business leaders that believe in the Open Web need to build on what browser vendors and the Web Standards movement have delivered. The road of native applications and App Stores leads to a less open and interoperable web and it should be firmly rejected. The idea that a user should need no more than a URL and a browser to access services or content is now achievable and real.

We don’t need App Stores with proprietary SDKs any more. The web is the platform.

Have an update or suggestion for this article? You can edit it here and send me a pull request.


Recent Posts