Tumbled Logic

Jul 22

Thoughts on Flash

It’s been a while. The dust has settled. So here goes…

The PR war between Adobe and Apple is stupid. Let’s get that out of the way to begin with.

On the Adobe side: Adobe has been talking about having Flash (actual, proper Flash which can play video on major websites, streaming using RTMPE) since the iPhone first landed. If you believed the rhetoric, the only thing preventing them was Apple. Oh, the humanity.

The reality is a little different: Adobe has only just managed to produce a version of full-blown Flash for mobile whose performance isn’t so utterly shocking that it can actually be released, and even then only for Android devices with ARM7 CPUs running Froyo (and, if you’re not aware, that’s not very many devices right now). Those lucky few who have capable devices report, unsurprisingly, that Flash is rather sluggish and eats through battery-life like there’s no tomorrow. So, even if Apple had “allowed” Flash to come to iPhone and iPad, it’s a fairly safe bet that it wouldn’t have been ready until at least iPhone 4. That’s a gap of several years after Adobe started complaining.

Apple hasn’t been entirely straight either: the ad campaign talking about “the whole Internet” was clearly intended to be provocative, and did neatly skip over the fact that there’s no mechanism for getting third-party plug-ins onto un-jailbroken devices. So, it’s not even that they don’t allow Flash, but that there’s no mechanism for it to get on the device in the first place. However, nobody’s complaining that there’s no Windows Media Player plug-in (and there might be some noise about an inability to get Java or Silverlight on there, but it’s pretty muted if there is). So, Adobe’s complaint in this regard largely boils down to “You didn’t build a mechanism for us to extend MobileSafari with our plug-in”, to which the response is largely “Yeah… and?”, and justifiably so, especially given Adobe’s historical inability to produce a sane version of Flash for the Mac (10.1 is, apparently, much improved, by the way).

But then there’s the whole “Section 3.3.2” thing. This was a direct response to Adobe creating a compiler which generated native iOS code from ActionScript. This was a pretty clever move by Adobe, even if it was marred somewhat by an inability to use any native controls. For some games, this would be okay, but for most applications it’d be downright awful. Apple’s response, in the form of Section 3.3.2, was rather dubious, and it’s one which (curiously) saw a far more vocal response from Mac and iPhone developers than from the Adobe camp: the latter saw it as the end of the line and largely gave up, while the former saw it as an overreaction. Apple has since softened the line somewhat and altered the wording of the section, but it’s fair to say that you’re not going to see applications written in Flash (rather than Flash movies embedded in web pages, as the original furore was about) on iOS any time soon. Whether this actually proves to be a good or a bad thing for the platform is a matter of opinion, really. Personally, I’m not sure that, given the constraints of the devices, you could write a game in Flash and compile to a native and have it match the quality of the good iOS games today. Maybe I’m wrong, though.

But, back to Flash movies in web pages.

As long as I’ve been building websites, it’s always been the case that what I build has to cater to my audience. It’s no good me building stuff which only works in Google Chrome because it lets me do certain clever things if a big chunk (be it a minority or the majority matters little) can actually use it.

I can grumble all I like about the continued existence of Internet Explorer 6, for example. But that doesn’t change what I have to work with.

Flash has typically been a misnomer in this regard: Flash developers have tended to work on the basis of enjoying a near-complete monopoly in terms of support, and have got used to telling people to take a hike if they don’t have Flash. Indeed, those who don’t have Flash are often treated worse than good web developers treat IE 5 users (who at least get at the content, even if it lacks the ideal presentation).

And so we come to “other devices”, such as the iPad. Right now, there are a little over three million of these in circulation, and that number’s not going to do anything but grow in the near future. Competitors will emerge over time, but even if they support Flash, an author will have to think twice about whether to sprinkle it over their site if they’re targeting those users, thanks to the inherent performance issues.

And so we’re beginning to arrive at a situation where Flash authors are, for the first time, confronted with a situation where Flash isn’t in a position of unanimous support: the proportion of users without Flash support is growing, and it’s growing quite quickly. From a business perspective, there is a tipping point at which you have to make a decision, based on the numbers.

Web developers are used to this. A public site which only works in IE is, mostly, a forgotten horror, now buried in the recesses of our minds, and to hopefully stay there for the foreseeable future. We know that our clients’ customers’ requirements change over time, and so too must our assumptions and practices. This might be a culture shock for Flash authors, but it’s how it is. As much as you might want Flash to be on every device capable of accessing your website, the reality doesn’t fit. And so you have a choice: deal with it, or accept that a growing number of people won’t be able to get at your content.

It is a choice: you can weigh up the pros and cons, and decide that you don’t care about those users, that they’re not worth supporting. That’s fine, if you think that’s the best course of action, just like I could switch off all the IE 6 and IE 7 hacks on some websites right now, but you do that knowing what the consequences might be.

But, what you have no right to do, any more than the rest of the web development community has a right to, is criticise those who have bought into those devices because they don’t support your preferred solution for delivering content to them. Our job is to get content into the hands of users, based upon the choices they have made, not to dictate what those choices should have been based upon whatever set of skills we might have invested in.

And yes, you can criticise Apple for not “supporting” Flash if you like, but it’s not going to get you very far: dubious advertising and Section 3.3.2 aside, Apple’s criticisms of Flash have been closer to the truth than most pro-Flash folk like to publicly admit. And yes, you can talk about the App Store, the review processes, and so on, but they’re not really relevant to you and I, building for the web.

(For the record, I am quite regularly paid to write and maintain things in Flash. I am not unfamiliar with it either as a development environment or as an end-user).

So it boils down to this: some users aren’t going to be able to view Flash stuff. This has always been the case, but the numbers are getting bigger. It was always going to happen one day (honestly, did you think it wouldn’t?) If you care about those users, suck it up.


blog comments powered by Disqus
Page 1 of 1