Lie down with Adobe, get up with a broken cross-platform strategy

Sells cross-platform solution; drops platform support

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.


  1. Andrew Savory

    Wrote at 2011-06-16 07:35 UTC using Firefox 4.0.1 on Mac OS X:

    It’s a relief that Adobe have canned linux Air support. Perhaps now the BBC can finally focus on spending license-payers’ money on a proper iplayer app.

    I can’t wait for the Microsoft® Silverlight™ implementation, it’s going to be so awesome!
  2. tripu

    Wrote at 2011-06-16 08:42 UTC using Firefox 4.0.1 on Windows Vista:

    Definitely a bad move on the part of Adobe, which has been neglecting its Linux users and developers more and more in the last few years.

    As a developer, living partially “locked” by an environment which is not 100% open-source nor standard-compliant is sometimes frustrating. I don’t necessarily share your view on Adobe’s poor engineering practices, though. People tend to focus on irritating bugs of the Flash platform, or strategic moves that are difficult to understand or seem hostile to other technologies or companies (eg dropping Linux support today). While doing so, we overlook valuable technical achievements, like hardware-accelerated 3D; the good performance of Flash vs HTML5 on mobile devices; the ability to deploy (almost) the same application on a Mac desktop, a Windows browser, a RIM tablet and an Android phone… and so forth.

    That said, I’m first in line to ask Adobe to tear down the Cathedral and build up the Bazaar—such a radical move would only bring good things to the Flash platform, to Adobe itself and, most importantly, to end users.
  3. Haroun Butt

    Wrote at 2011-06-20 09:49 UTC using Firefox 4.0.1 on Windows 7:

    I don’t understand…
    I’ve been using iPlayer and Youtube on LinuxMint x64 for a while now. Flash Linux x64 is probably not as stable as the Windows version but… It’s there.

    I agree that Flash is definitely not the best solution video streaming websites should be adopting today, but I wasn’t aware that the alpha build was pulled…
    maybe a fresh install of my distro will prevent it from being installed.
  4. Paul Battley

    Wrote at 2011-06-20 17:20 UTC using Chrome 14.0.794.0 on Linux:

    Haroun, there are two likely scenarios: either you’re using the old (vulnerable) 64-bit plugin, or you’re using a 32-bit version with a wrapper. If you can find the actual player (probably or something like that), file ought to be able to tell you whether it’s 32- or 64-bit. There might be easier ways, too, but I don’t know them.
  5. ewanm89

    Wrote at 2011-06-26 22:46 UTC using Firefox 5.0 on Windows 7:

    There is a 64bit flashplayer preview release available now, it’s been named flashplayer “square”. Yes, they did remover the Linux only preview, this one is available for both 64bit Linux and Windows:
  6. encoder

    Wrote at 2011-06-28 14:47 UTC using Chrome 13.0.782.32 on Windows 7:

    that the bbc iPlayer runs on the platform and has issues, that’s not the platforms fault.

    the so called “neglect” comes from the below 1% usage of linux. i even find it a bit weird that adobe spends time on development for linux. however they seem have feelings for linux, otherwise i cannot explain.

    RTMP is a bbc choice. they could have used RTMFP, witch is a bit more built for the job and can even lower the strain on their servers.

    if the connection fails they could simply revert to HTTPS several hundred more lines of code is not much of a deal, that for a developer.

    however keep note that most of the flash developers come from the javascript world, which explains the crappy work they do most of the time. AS3 requires a whole different paradigm which cannot be learned by developing video players and tween animations all the time. thus the constant performance issues that Jobs barks about.

    recently started developing for android using the platform. and i am glad to be able NOT to use any looping tween animations, crappy function mazes and keyframe coding.

    the platform is as fast as it can be but it’s only as fast as the developer good. when it comes to player/runtime induced bugs, i haven’t experienced any for a very long time
    (do have issues with the garbage collector sometimes but that only when i do demo prototypes (sloppy work, usually)).
  7. John Parker

    Wrote at 2011-07-14 06:46 UTC using Firefox 5.0 on Windows XP:

    Adobe is just like communism, they are the leader, they dictate rules till the moment of advent of something innovative, better than their closed systems. Microsoft and Adobe are birds of a feather.