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.
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.
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.
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.
Listening to BBC Radio with mpv
The BBC publishes high quality 320 kbps HLS AAC streams that can be used to listen to radio from the command-line using mpv. Here are the URLs and some aliases to start listening quickly.
Vim: So long Pathogen, hello native package loading
Vim 8 added a native way to load third-party packages. This means, for me at least, there is no longer any need to use a third party plugin helper like Pathogen.
Linux and Unix more command tutorial with examples
Tutorial on using more, a UNIX and Linux command for viewing the contents of a file or files one screen at a time. Examples of viewing a file, viewing multiple files, searching using regular expressions and opening the file in a text editor.