Apple are the maintainers of one of the most widely used web rendering engines there is. WebKit is everywhere. Desktop browsers on Windows, Mac, Linux and even Haiku & Amiga and mobile systems in the form of Android, WebOS & iPhone OS. It has proved to be highly portable and desirable for new web browser projects wanting to provide a fully capable web experience without having to start from scratch. WebKit has almost single-handily made new mobile platforms and alternative operating systems viable. Gecko is really struggling to get a foot in in this area and Internet Explorer offers neither the features nor the portability.
The technical and emotionally-backed decision to disallow plugins from the iPhone and iPad has ignited a flame below developers and at the same time shone a light in the direction of HTML5. The iPad has done more to shift mainstream mindshare toward HTML5 than anything before it. Before, it was a distant idea with no practical use and no drive for companies to adopt it. Now it’s the buzzword of the moment, bandied about without any consideration for accuracy.
So from my perspective as a web developer who has been waving the HTML5 flag since 2008, Apple have done a massive amount to drive the web forward and get this movement into the minds of sluggish and unwilling corporations. However, there is a fundamental difference between how Apple drive the web, and how Mozilla drive the web when Mozilla succeeded in breaking a stagnant market and got it moving again.
Do you remember when Internet Explorer 6 was released? It was hands-down the best, most standards compliant browser at the time. Netscape had lost their way and dropping Netscape 5 in favour of a rewrite meant that the ailing Netscape 4.7 was at an obvious loss to Internet Explorer and IE had built up solid market-share and developer commitment since their release (and subsequent bundling) of IE4 years before. In the beginning, life with IE6 was good.
Microsoft’s business plan was to provide IE as a loss-leader to achieve two things:
Increase developer dependence on Internet Explorer so as to tie the web specifically to Windows and therefore sell more copies of Windows in the long term (so successful was this strategy that we are still dogged by it to this day)
Sell more copies of Visual Studio for developers to take advantage of ActiveX, which offered everything HTML couldn’t
The web got where it was in 2003 (99% IE usage) because the web wasn’t Microsoft’s business. The web was a loss-leader, nothing else. The web sold copies of Windows and Visual Studio, end of. That is evident from the total and complete lack of major upgrades to IE6 for five years. Not a dicky-bird. Yet, now, HTML5 adoption in browsers is nothing short of rapid.
What happened with IE is indicative when companies come to lead in a market that is not itself their core business interest, especially when that market directly threatens to obsolete that very core business interest of the company in question. Microsoft had to kill browser innovation otherwise it would directly affect Windows and Visual Studio sales if people could use whatever OS they wanted and whatever developer tools they wanted to participate on the web.
Can you see where I’m going with this?
I am about to make a statement that will remain controversial for years to come and Gruber, if you’re reading this, you can file this under ‘claim chowder’ for later reference.
Safari will be the next IE6.
The web is not Apple’s business. The web sells iPhones and iPads and iPhones and iPads sell Macs for developers to use XCode to develop native apps—because native apps offer what the web can’t. And that web, if left unchecked, threatens to remove the necessity to be tied to iPhones and iPads and Macs and XCode and the App Store. If the web gets the same capabilities as native apps, why would you buy a Mac to code in XCode and be restricted to the App Store’s brick-wall approach to customer support and Apple’s changing whim of what is acceptable and what is not?
How could the web gain the abilities of native apps? The technology really isn’t that far away!
- pNaCl (Portable Native Client)
Google’s Native Client technology provides a way to ship binaries to computers through the web browser. Native speed and capabilities; no download, install and run hurdles. Currently this only supports x86 / x64, but Google have in the works a project to use LLVM so that the developer can send the client bytecode and the bytecode be compiled or JIT-executed natively. What does this mean? It means that if you are using x86, x64, ARM, MIPS, PPC—or whatever—then a developer can send you an app across the web that runs at native speed regardless of OS, platform, device or architecture.
How would this affect Apple?
pNaCl, just like the web, makes your choice of platform flexible, but solves the speed problems with HTML/JS. If a developer can write a game once and it run on any pNaCl-enabled browser then what reason does that developer have to buy a Mac, use XCode and Objective-C to target only the iPhone? What reason does the user have to stick to one brand of device or platform if their favourite apps work on any of them?
How could Apple prevent this?
The same way as with Flash. Simply refuse to implement it. If the iPhone and iPad don’t support pNaCl then developers will have to continue to go through the App Store. In their defence, Apple can call pNaCl insecure because it allows any URL to run a binary (it is sand-boxed BTW) and only the App Store provides the bubble-wrapped safety of a vetted selection system where your children cannot be harmed.
- W3C Device APIs
How would this affect Apple?
This also gives web apps more native functionality with cross-platform support that doesn’t help sell iPhones and Macs. Just log into a web page on any computer and start a video call with someone. Sure beats installing Skype.
How could Apple prevent this?
Annoy the crap out of users and developers in the name of privacy and security. There is no question that getting privacy and security right with devices on the web is difficult. Giving untrusted URLs access to your resources requires sensible, manageable security that prevent things going wrong, and allows you to deal with it when it does.
Apple just need to either refuse to implement new web features (such as access to the local camera / contacts / calendar) in the name of security and privacy, or bombard the user with permission questions when they visit web sites that use such functionality to both reassure (and scare) the user. Developers will want to offer native apps instead to avoid these additional and off-putting hurdles for their users.
Essentially, as long as the iPhone and iPad are able to retain mind-share, developer support and an unignorable market-share then Apple can shape the lowest common denominator for the web (even if that low is very high, like the best HTML5 / CSS3 support) just as Internet Explorer has been and largely remains the lowest common denominator for the web as seen through desktop computers.
It is for this reason that Apple and Google are competitors. Google requires that people use the web for everything they do in order to feed their core business of advertising. Google creating Chrome does not act against their business interest, it only bolsters it. Android exists because Google want more people to use smart phones so they can access the web and Google can advertise to them. Google’s business model means that they must work to keep web browser competition healthy and progressing in case one company gets the keys to the web and halts all progress just as Microsoft did with IE. A stationary web keeps native apps native and stifles Google. Apple want to keep native apps native and the web as a quirky document-centric browser that is never as well polished experience-wise as what’s on offer in the App Store.
Apple want this: In order to develop the best content for users you must buy a Mac and use XCode to develop native apps in Cocoa for the App Store. Microsoft wanted this: In order to develop the best content for users you must buy a Windows PC and use Visual Studio to develop ActiveX controls for Internet Explorer.
But Microsoft did succeed! There is a 99% IE monopoly in South Korea. Read that article for a glimpse into just how bad for consumers a browser monoculture is. Whilst I don’t believe there will ever be or even can be a Safari monopoly like there was for IE, I can believe that the iPhone OS and App Store aims to be a developer monopoly where by companies like EA (who don’t like cross-platform development at the best of times) will develop only for the iPhone OS and consumers are driven to the platform en-masse because that’s the place where the most compelling content is. A vicious circle of supply and demand.
Let’s get back to these events I mentioned in the beginning. I’ve already covered how the iPhone and iPad, whilst having a great web experience can be entirely selective about where the web goes. What about Apple’s online services like Mobile Me, and their purchase of streaming service Lala? Don’t these represent an embracing of the web-like way of doing things?
iTunes, as we know, has become a bit of a sore spot. Apple have gone from a new entrant in this market and arguably the first legal digital music source that the average person could use to complete domination. They set out to achieve this from the beginning and have had a laser-like focus in this area. iTunes has grown to encompass so much more than just music that even the name “iTunes” is a misnomer. It’s a monolithic app that tries to keep everything under one roof as the only point of interface between your PC and your iPhone and iPad. So much so, that when Apple try to bolt on document syncing the seams really begin to show as iTunes’s design gets stretched too far.
iTunes is a walled garden for your media with only one gate by which your content can get on to your iPhone or iPad, and again, Apple must keep it that way to ensure that your media must stay in iTunes where they can keep an eye on it and where they can make changes without another company’s approval or compatibility.
What have Apple done with Lala so far? Made peep-holes and SEO spam for their walled garden (awesome album BTW, highly recommend it). You can’t purchase anything from that page. It exists only for you to download and install iTunes. It is inherently incompatible with the web across a diverse range of platforms like mobile phones and TVs.
If they do provide a streaming service of some kind, it will be another walled garden. You stream on our terms, you stream only the content we allow, on the devices we allow (H.264) and we would very much like to collect some data about you. I cannot see Apple creating a service that negates the need for Apple hardware and for the iTunes store. It might work on other browsers and devices, but its sole purpose will be to direct you to iTunes. Streaming is a loss-leader for iTunes lock-in.
And Mobile Me? Netscape tried to hang on to a pay-for browser when the tides were turning. When you could no longer pay for the browser they tried to keep things going with the server. But there was no lock in. A server is inherently an agnostic technology that cannot lock you into a browser. Apple charging for Mobile Me is Apple trying to clutch on to an outdated model. They are being bamboozled by better web companies with better products. All they have left is lock-in; that only MobileMe can truly integrate with iPhone OS. I wonder how long this charade will keep up.
I do so hope that I will be wrong, but my gut feeling says that Safari will be the next IE6. Not in terms of being out of date (or ever reaching 99%), but in terms of being the elephant that will move for no man but Steve Jobs.