Will Apple Embrace the Web? No.
I’ve been meaning to write this for some time, and for all the time I delayed the more poignant
the point I wanted to make started to become as new news came out further solidifying my angle. When I begun writing
this article the iPad had not yet been revealed, iPhone OS 4 was not on the map and Apple had not yet purchased
Lala. You’ve probably just noticed that all of these events in fact point toward Apple embracing the web more and
in this article I will point out why this is not the case because I believe Apple’s agenda here is similar to
something we’ve already seen in recent history.
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
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
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
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 ×86 / ×64, but Google
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
×86, ×64, 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
to access hardware such as web cameras and microphones. The web has already exposed GeoLocation
and this takes things a step further, allowing for new kinds of innovative web-based apps that
have so far been restrained to Flash and native apps for a lack of any other way of doing it. Not
having to download and install anything, nor worry about platform compatibility, will ensure that
moving this sort of functionality to the web is a good idea.
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
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
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.