The mobile Web isn’t dying, it’s being killed, slowly, by Apple.


Why did Apple really kill Flash?

In 2010, a few years after the introduction of the very first iPhone, Steve Jobs wrote “Thoughts on Flash”. An article that outlined all the reasons why Flash had to die. How it was closed, insecure, a battery hog and not designed for the new “Post PC” era of touch. A waning technology that saw its’ day, but now, had to heed way to a new and rising star: “The Open Web”. At the time, Steves’ article was largely heralded by many, as a boon for the future of the Web; It also served as the final nail in Flashs’ untimely coffin.

It’s now been just over four years since “Thoughts on Flash” was published. The once rising star is now languishing on mobile. The promise of the Web as a capable platform on mobile devices is fading fast and proprietary platforms continue to solidify their already dominant positions. An ironic and uncomfortable situation considering the very first point from Steves’ 2010 article states:

“Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system”

We now find ourselves with a mobile Web on iOS that is controlled by entirely Apple, which has sole authority over its’ future enhancement. Over the course of this article, I’ll attempt to illustrate how Apple, by way of anti-competitive practices, is limiting and stunting the growth and development of the mobile Web. Ultimately, it has led me to conclude that the mobile Web isn't dying, it’s being killed, slowly, by Apple.

The Body and the Engine

You may be asking how Apple can have sole authority to the future enhancement of the Web on iOS if there are several browsers available on the Apple App Store? Quite simple actually. Ever wonder why Flash doesn't work in any of those browsers? Try it. Not a single one. If Apple didn't have sole authority, don’t you think just one of the browsers on the Apple App Store would decide to add Flash— just to differentiate themselves enough to stand out? Apple made a decision to remove something and it affected every single browser on iOS, isn't that a little strange? Wouldn't that also mean that Apple can wake up one morning, decide to remove something else, and have it effect every single browser on iOS as well? Yes. It does. They can also decide what add and what to delay from adding and it would not just affect Safari, their own browser. Apple accused Adobe of having sole authority over the future enhancement of Flash, making it an unsuitable solution. It’s time to accuse Apple of having sole authority over future enhancement of Web on iOS, making it too, an unsuitable solution.

You now may be wondering how? How is Apple able to seemingly advocate for an open Web while simultaneity controlling the enhancements of other browsers. Quite simple too. I’ll demonstrate this by using a simple car analogy.

Let’s think of a Browser as we think of a Car. A car has a body and an engine. Browsers too have a body and an engine. Apples’ browser on iOS is called Safari. You can think of Apple Safari the way you do a Honda Civic. On iOS, Apple allows anyone to make a browser body, but not a browser engine, they’ll provide you with one. It’s different than the one they use in Safari, slower and in many cases, has less features. Chrome, a browser by Google that competes with Safari on iOS, is really just a body around the engine provided to them by Apple. In fact, every browser on the Apple App Store uses the exact same slow engine, all provided to them by Apple. Which leads me to my first point:

  • In order for there to be meaningful choice and real competition of browsers on iOS, browser vendors must be able to use their own browser engine.

A browser body can have all the fancy features you want, it’s like putting fancy decals on the body of your car. Pretty, but not meaningful, it certainly wont make you go faster, or make it any easier driving up a steep incline, especially if your engine is broken. This is important. Although very unlikely, Apple, can wake up one morning and decide that links are not useful, then promptly decide to remove the link feature from the engine other browsers are forced to use. Over night, every browser on iOS would not be able to follow links. Since the browser engine Apple gives to its’ competitors is different than the one used in Safari, links may still work in Safari.

You may think this is quite extreme, and it is, but let’s not forget that Apple has shown a history of doing exactly this. They decided not to include Flash and made sure no one else can too. Perhaps links are too big to remove, but that’s not the point. Perhaps it’s a video format that they don’t like, or a feature that competes with the Apple App Store, or something small and insignificant. These choices should only affect their browser, Safari. The fact that it affects every other browser on their platform illustrates that there is no real competition. The direction of the Web is at their sole discretion, which makes it bad for choice and the vitality of the open Web. No other vendor on iOS can improve the Web in fundamental ways, and as a result, the Web may be, by design, made to lack technologies that would otherwise make it viable platform for future applications and games.

The Capable Web

One of the features Apple has already decided to remove from the browser engine they give provide others to compete with Safari is called a JIT. Think of a JIT the way you do of NOS for car engines. It allows engines to hit high speeds, making them really fast. Which leads me to my second point:

  • If Apple is unable or unwilling to allow browser vendors to use their own browser engine, the engine supplied to them must be, at the very least, identical to one used in Safari, for meaningful competition to take place on iOS.

Remember, there is no choice as to the browser engine you use. You must use the one provided. If it was the same as the one in Safari, then perhaps the playing field would be even, but it’s not. This is anti-competitive. Speed matters, in fact, one of the things that made the Web on desktop great was games. Games need a fast browser engine. One of the reasons Flash did so well is because, at the time, browsers were quite slow, and Flash was the only real solution to create fun, immersive games. Steve, in his article had a solution to this problem:

“Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the Apple App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.”

If one of the main reasons for killing Flash was that it wasn't open, despite being a more than capable gaming platform, then are we really “fortunate” that the Apple App Store, itself closed, is a sensible replacement? We've essentially traded Adobe’s closed platform, with Apple’s closed platform, the only difference being, Adobes’ made the Web more capable. The removal of Flash from the Web, wasn't met with an improvement to the browser that would allow it to do what Flash once did. Games are as important. In many cases, games are what make or break a platform. If the Web isn't able to serve as a capable gaming platform, as it did when Flash was around, it will not be able to compete or survive.

In order for the Web to compete with native, it must be regarded as a highly capable gaming platform. Fortunately, there’s another browser engine feature that makes the Web a more than capable gaming platform. It’s called WebGL. As we discussed earlier, a JIT makes browsers go really fast, well, WebGL makes games look really great! Just like JIT, WebGL has also been omitted from the browser engine Apple forces other browsers to use.

Apple has shown no interest in fixing the situation, nor have they signaled that it’s okay for others to fix it. Demonstrating, again, that they alone, control the direction and future enhancements of the Web on iOS. A platform from which the majority of mobile Web traffic in the United States originates. If tablets alone are considered, over 75% of all US mobile Web traffic originates form iOS. An entire class of product, dominated by one operating system which doesn't happen to provide real, capable alternatives to their built in browser. That should sound familiar. Isn't there a bureau whose sole job it is to ensure this sort of thing doesn't happen? Is it reasonable to expect everyone to understand how browser internals work, and the difference between an engine and a body? Regular folk, like my mother and your nieces. I don’t believe so. Here’s what they know, Safari on iOS is faster than Chrome on iOS. What they don’t know is Apple makes sure to give Chrome the slower, less capable engine. Not only is this anti-competitive, it borders unethical, and I hope it’s looked into and addressed.

Which leads us to the notion of “The Capable Web”. What good is open, if your offering is not capable. The idea of an open Web is in our vernacular, so to should what I call the capable Web. They are yin and yang, and one mustn't be considered without the other. An advocate for an open Web, may not be interested in a capable Web, and vice versa.

Firefox, a Web browser made my Mozilla, a non-profit organization dedicated solely to the vitality of the open and capable Web, isn't available on the Apple App Store. They’re on the Google Play Store for Android, but not Apples’ Apple App Store, here’s why, as written on their platforms page:

“We have no plans to release the full Firefox browser for iOS. The iOS SDK agreement requires apps to use Apple’s own JavaScript engine (or none at all, like Opera Mini which downloads pre-rendered pages from Opera’s servers and cannot run JavaScript code in the client). Because of this, we have no supported way to distribute Firefox’s rendering and JavaScript engine to iPhone users.”

If Apple is a company that’s interested in the open and capable Web, wouldn't Firefox be an ally? There is no better ally. The folks at Mozilla wake up every morning and wonder, how they can make the Web better for everyone. As of May 2014, Firefox is still absent from the Apple App Store.

What should now be absolutely clear is that Apple hasn't demonstrated that they are good stewards of being the only vendors of a browser engine on their platform. Why should this scenario continue? If the open Web is stay alive, Apple must, either by their own decree or by a board responsible with overseeing competition, remedy this scenario.

Thoughts on Apple

We all know the very best ideas don’t win just by entering the competition, they need advocates, and friends in powerful places to even the playing field so that they compete on merit. Sometimes, they die, and that’s okay too — just as long as they've had a fair shake.

I've developed for iOS, Android, and the Web. It’s my belief that the vast majority of applications (and some of the games) on the Apple App Store, Google Play, or equivalent stores, can be built with open Web technologies, in a manner completely indistinguishable from their native counterparts. Not only will the application be indistinguishable from its’ native counterpart, it can be built with a smaller team, and work across platforms with very minimal effort. This wasn't always the case, this crossover happened somewhere in the last wave of new devices. The Web on mobile is different than the Web on desktop. It wont look the same. There is a growing trend towards single focused applications — instead of one, monolithic application that does everything. The browser, as we know it today, is one monolithic application that does everything. The entry point to all applications and games on the Web is the browser icon. This isn't the ideal scenario on mobile. Instead, the runtime — the browser engine itself, is the new browser. On mobile, the browser engine is more important than any one single browser — like Safari.

My message to Apple is quite simple, if the Web is to die, let it die peacefully. I question the wisdom in burning these bridges so early — especially considering that Safari and the Web saved you, at a time when Windows and desktop software reigned supreme. History may repeat itself, and you may find yourself in a place where applications and games built on open, capable, and compatible technologies may help you survive once more. Of course, history may also not repeat itself. In the meantime, make your browser engine great so that actual competition may take place on your platform — add a JIT, add WebGL and WebRTC and all the other technologies that have been omitted, four years and counting. Make Safari great too. Whether or not this will put a dent in your App Store moat, I am not sure. Perhaps it may, I suspect it wont — just ask Android. What it will do is build bridges, the kind that allow people into your moat, but to also let you out of it one day, if it comes to that.

Killing flash didn't help the Web, like Steve said it would — in many ways, it set the Web backwards in terms of capabilities. It now just looks like a hit, an untimely causality, accompanied by a sweet narrative to help paint Flash as a villain. We all played a role in the death of Flash, the question is if we’re going to play a role in the death of the Web. There’s almost nothing you can do with the browser today that you couldn't do with Flash in 2010. That’s pretty sad. In many cases, the experience with Flash was much better. It had a better authoring environment, it also was far more consistent across platforms.

Flash, to me, represented, in some way, the very openness of the Web itself; Open enough to allow your closed offering. It served as a benchmark for the Web, a catalyst for change, often illustrating how the Web itself is falling short. Which of course led to improving the Web until authors and developers no longer needed Flash, leading to its’ eventual decline and death — by way of market choice, not by force.

Flash was argued to be unsuitable for the progress of the open Web. We bought into that, and are now too late to reverse course. Thoughts on Flash, the article that many believed would raise the Web to new heights, now seems like part of a well orchestrated plan to curb the capability of the Web, while seemingly advocating for its’ openness.

If nothing else, here’s what you should know about Apple and it’s questionable practices with regards to the Web on iOS:

  • The browser is made of a body and an engine.
  • Apple does not allow anyone to make an engine — browsers are forced to use the exact same one, supplied to them by Apple.
  • The supplied engine is slower and less capable than the one used in Safari, leading many ordinary folk, like my mother and your nieces, to believe Safari is a better choice than other browsers.

Flash is dead, Apple killed it, and it’s not coming back. The Web is being strangled by Apple, by way of feature omission and a slew anti-competitive practices. If we don’t do something, the Web will be killed too — or made irrelevant enough to not matter — a process which as already begun. Just like Flash, the Web won’t come back, instead, we’ll be reading a column, written by Tim Cook, the current CEO of Apple, or an executive in his place titled: “Thoughts on the Web”.

Tuesday, May 13, 2014