So, during the week Adobe announced that they were discontinuing support of the mobile browser version of their Flash plugin. Some people think it’s a triumph for the open web. Some think it’s a vindication of Apple’s former vilification of Flash. Some people think it’s the beginning of the end for Flash. In my opinion, it’s not really any of these things, though it is a sign of the times. Here’s why.
Flash Player in the mobile browser, and it’s significance
Flash in the mobile browser didn’t happen. It never became a de facto standard, like Flash in the desktop has, for rich web content. You still don’t get rich content in mobile browsers, by most people’s standards of what that means. A video is just a video, a song is just a song. Rich content means something more like an application, running as part of a website. There are some pretty cool sites out there than run on smartphones and do fit that description, but visually or audibly, there’s nothing in them that couldn’t be displayed in a normal web page, once you leave aside some motion effects and the asynchronous loading of content. Flash in the mobile browser never took off. Is it really because it was just rubbish? Is that the standard of Adobe’s output to date?
Nobody developed flash for mobile browsers, because you’d automatically be splitting the mobile audience in two. Certainly, there were other considerations. Optimisation requirements would be strict, and even some of the mobile browsers that supported Flash wouldn’t automatically load flash content, opting instead to give you a place-holder button to play the flash. Those are two of a list of things you’d have to take seriously. In practice though, it never came to addressing such issues, because half the audience just wasn’t there. If you look at some mobile web stats you’ll see that these days, iOS and Android, to name the two main smartphone players, are about neck and neck. That’s after Android spending quite some time catching up. If you developed something in Flash for mobile browsers, maybe 40% of your intended audience would actually see it. For that reason, nobody was using it. Adobe weren’t seeing a return on their investment in mobile browsers.
This is why I say that mobile browser Flash never really happened, and it’s also why the plugin couldn’t really be considered a pillar of Flash in general. The plugin for mobile browsers is a failed venture, and it never became more than an appendix of the Flash project. From a technical perspective, there’s nothing to say they can’t develop it more. Commercially though, it’s pissing in the wind.
Steve Jobs vs Flash. Winning doesn’t make you right
In the tech press, there have been some frankly bizarre headlines about how the demise of the plugin has vindicated Steve Jobs’ opinion of it. Wired had a headline, “Jobs Was Right: Adobe Abandons Mobile Flash, Backs HTML5″. The problem with this is that it assumes that Adobe dropping the plugin proves that the opinions the late CEO gave on it were all correct, and that’s why it’s untenable. I’ve already shown why that isn’t the case.
Secondly, it suggests that Adobe weren’t supporting open standards before now. That’s completely wrong. For years Adobe have produced the definitive wysiwyg html editor, Dreamweaver. For most professional coders, it’s definitively horrendous, but that’s the problem with wysiwygs.
In reality, Adobe have been a member of the W3C since 1994. It’s THE organisation that promotes open standards for the web. Check the list of member organisations. While you’re there, look for Apple. Or Google. Or Microsoft. Let me save you time. They aren’t there. Safe to assume, Adobe are familiar with web standards.
They’ve also been developing a new application, Edge, for a while, which is pitched as the Html5 + Javascript + Css equivalent of Flash.
The Guardian had a more telling headline: “Adobe kills mobile Flash, giving Steve Jobs the last laugh”. This wasn’t a vindication, it was a victory. Mobile Flash didn’t die because it failed to evolve, it died because Apple refused to allow it on their platform. Sure, there was lots of PR spin, pointing out flaws in Flash, some real, some imagined, some exaggerated. But it was just PR, some of which was rendered laughable by their positing of “HTML5″ as the better alternative.
For example, they pointed out the unique security risks present in Flash. They do exist. However, they champion an alternative that leans heavily on javascript, which makes possible cross-site scripting attacks, which have done far more damage in the wild than Flash exploits.
If you want to understand why Apple didn’t want Flash on iOS, go look at any of the sites hosting thousands of flash games, which have been evolving for over a decade. If people had been able to play Crush the Castle on their iPhones, Angry Birds might have been perceived as little more than a cute rehash of an existing concept, rather than the immense success it is today. They did it first, but they did it in Flash. Why buy Apps when you can just go to Newgrounds? Because Newgrounds doesn’t work on an iPhone.
As many said at the time, Apple barred Flash from their phones because it would have been terrible for their business model. Their refusal to support it killed it. So they won, but that doesn’t make them right. They reduced the options for their customers, denied traffic to thousands of hard-working developers and said to the world “Unless you want to make an app and sell it with our blessing only, it better not run on anything fancier than javascript”. Fortunately for Flash developers, in the time since, Apple have been forced to allow apps developed with Flash into their store, but, the app store being what it is, they have retained their position as an enigmatic gatekeeper, who can deny an app without explaining why. To develop for iOS, is, as Jeff Atwood puts it, “serving at the pleasure of the king“. However, that’s a problem for all developers, not just those who develop in Flash.
What hasn’t been emphasized enough in the tech press is that Flash is still a technology with which you can develop for mobile. What has changed is that, in this arena it’s focus will be on creating apps, rather than in-browser Flash players offering similar sophistication. In practice, this is a recognition of how people currently use smartphones, and a successful repositioning of their tech.
“HTML5″ is not equal to Flash. Or HTML5
Mini web lesson for the uninitiated: what they call “html5″ is usually a combination of html5, css3 and javascript. Html 5 is the 6th html standard, though it’s still only a draft standard. That means it’s not a standard yet, but it will be, and most of the important things can be said to have nailed down. Why is it not Html 6 if it’s the 6th standard? Last time round things got a bit forked, and there were two competing standards, html4 and xhtml1.0 (yes, 1.0, I know). We’re all back in the same boat now though. That’s ok though, because html5 has lots of cool things in it, which will make the web better for everyone, and good browsers support most of the important bits. Html defines the structure and content of page.
css3 is the new standard for css, which defines the look and layout of web content. Again, it’s not final yet, but it’s really nice and a pleasure to work with, and good browsers support most of the important bits.
Javascript is the client-side processing language for web content. In essence, it tells your browser how to control and manipulate the content of a page, based on your interaction with it, or other factors. It’s about 16 years old, including upgrades, but does most of the heavy lifting in all the fancy things you see these days.
The above 3 things are commonly referred to now as HTML5. It’s marketing nonsense, and a complete bastardisation of what’s happening. So I’ll be calling them web standards instead. End of mini web lesson
So web standards are fantastic. They allow the wonderful practice of “write once, deploy anywhere”. That means anywhere that supports the standards, but that should be everywhere. The standards are open, so it costs nothing to use them, except time.
That “write once, deploy anywhere” is a really big deal. It means you can make a website, with lots of nice fancy things on it, and it will work on everything that has a web browser. For users, it’s egalitarian. For developers, it’s tremendously efficient. Unfortunately, if you want to do something really fancy, or more typically, you’re working in agency doing a promo for a client, and they want something really fancy, you’ll end up using Flash.
I’ve been there, several times. I worked in an agency, where we did lots of really nice stuff, and everyone was behind web standards. It wasn’t just the techy idealism of developers either, right to the top, there was no question that when you can give someone the same experience on their laptop, tablet or phone, that was a big win. Very often when we’d start devising the specification for a project, we’d consider whether we could do it using web standards. Sometimes we could, and it would be great, but once things got really fancy, it would have to be Flash. Because if you tried to make the same thing using html5 and javascript, it would just be too damn slow, too damn big to download, and you wouldn’t be able to do a whole pile with it. And it would be a pain to develop.
We put stuff out in Flash because if we tried to do the same thing using web standards, it would take ten or twenty times longer to open, and when you got it going it would be creaky as hell. When I say creaky, I mean “This is rubbish, people won’t use this” creaky. Once you work within your limits, you can do fantastic work using just html, css and javascript; but you must work within those limits. The results tend towards the Spartan.
Flash was the best way to give the clients what they wanted, too. They wanted to impress as many people as possible, as much as possible. More often than not, if they wanted a rich interactive experience, that meant Flash. Forget the people using smartphones, web use is too small a part of the market to sacrifice the experience to, and stuff won’t look as good on a screen that size anyway. Sure, you could develop an app, but that’ll double the cost of the project, and it better be damn compelling or people won’t bother to install it.
For your consideration: HTML5 Showcase and TheFWA (flash website awards).
Both of these show some really great work. You might notice however, there are a lot of things happening in the flash sites that won’t happen in “html5″ sites. I believe that eventually there will be an open standard that can do everything flash can do and more. It’s still a long way off though. Who knows, maybe Adobe will make Flash open-source.
A web without Flash would be an unnecessarily handicapped web. That’s why people who actually make websites haven’t turned their back on it. However, they have reduced their use of it. Since the arrival of javascript libraries, and reliable browsers, developers have found more ways to make a site appear more interactive, more alive without having to resort to using Flash. It’s a positive development, it’s made sites easier to maintain, quicker to load, and more friendly for non-typical devices like phones. For the big things, though: you still want Flash in your toolbox.
In summary
Apple successfully stopped Flash in the mobile browser from being a contender. It was an anti-competitive measure, and it worked.
Open web standards are great, but in practical terms, they’re still a long way behind Flash. Web shops around the world use open standards everywhere it’s practical, but when things get fancy, it has to be Flash, or it just can’t be that fancy. For that reason, we’ll continue to see Flash around the web for years yet.
As for people who dance on the grave of mobile Flash, and declare it a victory for open standards, well, the technology in that grave was assassinated by a corporation who wanted total control of their platform, and didn’t mind who they stepped on to do it. You know, the kind of thing that used to get Microsoft taken to court.
Someone ring Bill Gates and tell him he doesn’t need to run that charity any more. Being a dick is cool now. Controlling the market doesn’t get you sued, it gets you celebrated.