Lie down with Adobe, get up with a broken cross-platform strategy
I’ve said in the past that I think the BBC’s approach to cross-platform support is flawed. In summary, instead of using non-preferential open standards and protocols1, it relies heavily on a single supplier—Adobe—to support multiple platforms. It turns out that relying on Adobe for cross-platform support is not a very sensible thing to do.
Monocultures tend to be harmful, and Flash retards innovation: you can port a web browser to almost any platform with enough memory and MIPS, but you can only run Flash on devices for which Adobe has ported it and on which they will license you to use it2. The barrier to entry for new systems and architectures is thus higher than it needs to be. We’ve been using 64-bit computers for years, and yet Adobe still hasn’t managed to port the chthonic horrors3 of the Flash codebase to 64 bit Linux4. Apple has in fact done the world a huge favour by making Flash seem simultaneously undesirable and unnecessary.
If you want to use the BBC iPlayer and you’re not using one of the blessed platforms that get a custom implementation, you have to use Flash, because it’s cross-platform, innit?
Well, yes, it is cross-platform, insofar as it works on a few of them: Windows (Intel architectures only), OS X, and Linux (x86 only).
There’s also an offline application, the iPlayer desktop. That’s cross-platform, too: it uses Adobe Air. I say it’s cross-platform, but with Adobe’s attentions and engineering standards being what they are, Air was only ever available as a 32-bit Linux build, and I could never get it to work on my 64-bit machines.
That’s possibly one of the reasons it’s had such a low uptake, along with the fact that Air applications feel unpleasantly alien on every platform, of course.
And that’s why Adobe has given up on Air for Linux.
But the really important point is this: if your cross-platform solution relies on the vagaries of a single supplier, it’s not really cross-platform.
I doubt that many people will mourn the loss of Adobe Air, but the corollary is that the BBC iPlayer desktop can no longer claim to support Linux.
That’s a shame, but it was also an utterly predictable consequence of the strategy of relying on Adobe.
1 The iPlayer for iOS uses plain old HTTPS, but manages to lock things down by checking that the device has an Apple-signed client certificate. All open standards, but not a level playing field.
2 “Authorized Operating System(s)” means the desktop or standard-laptop version(s) of the operating system(s) set forth in Exhibit A […] For the avoidance of doubt, “Authorized Operating Systems” does not include embedded or device versions of such operating systems.
3 Have a look at the RTMP spec, for example: the endianness of the protocol is not even consistent. That’s not the hallmark of good engineering practice.
4 An alpha build of Flash for Linux x86_64 was available for a while, but they withdrew it after one of the regular cross-platform zero-day vulnerabilities was announced. Yeah, that’s right: the exploits are cross-platform, too. D’oh.