15 Feb 2011

Official Android iPlayer app available

The BBC have released an official iPlayer app for Android (running firmware 2.2 or later). The lack of an way to access iPlayer from my G1 was the original reason I wrote beebPlayer, so to finally have an official solution makes me very happy indeed.

Any existing beebPlayer users may find that they get an obscure "-2147483648" error message when attempting to access any streams. It is an ex-parrot.

 

12 Jul 2010

BBC iPlayer's David Madden on Android and beebPlayer

BBC iPlayer Mobile boss David Madden explains on the iPlayer blog how the BBC are approaching Android support. He specifically explains what happened with beebPlayer:

Tiggs questioned why the BBC took down the beebPlayer which worked on older Android devices and did not rely on Flash, and why we have replaced it with something that only works on newer devices and requires Flash.

The BBC's syndication policy, which governs how the BBC makes its services available through other parties, clearly outlines the criteria for using BBC content. BeebPlayer was not a licensed distributor of BBC content online or on mobile. The BBC routinely looks for unauthorised usage of our brand and our content across all platforms and when we encounter it we work to resolve the issue. If on investigation we find that a company's service proposition does not adhere to our standard licence terms and conditions, we will take steps to remedy the issue.

28 Jun 2010

beebPlayer's secret sauce

While I was developing beebPlayer – and also since I’ve discontinued it – I’ve been surprised at some of the misunderstandings about how it actually worked. In fact, so much that I felt I should probably explain exactly what beebPlayer was and how it worked. Right now.

…but first we need to establish what the BBC’s iPlayer is.

iPlayer isn’t just a website – it’s an encoding powerhouse and delivery platform. It’s responsible for chewing through hours of broadcast TV and pumping out each programme into many different forms to ensure the widest and greatest number of people are able to access the content. For example, the finale of Doctor Who on Saturday will first have been converted into a dozen or so different formats. Half of these are all mostly the same format, but simply at different bitrates and qualities to suit a variety of different users on both slow and fast connections (smartly chosen automatically by the Flash player). There’s another format for viewers who want to watch the HD version. There are a few more versions for iPhone/iPod/iPad users. Then there are a couple more for services such as Virgin’s net-connected Freeview boxes. To encode all this on a normal desktop PC would take a few days, if not a week – and yet the BBC has to do this for every single television programme they air, for every hour of every channel every day. Altogether, it’s a complex and impressive system – and that’s before the whole server architecture, networking backend and immense amounts of bandwidth required to get it from the BBC’s servers to the content servers (mirrors) and finally from those all the way to your monitor or screen at the same time as everyone else. And of course, there’s also radio…

However, for our purposes, the most important thing about iPlayer is that it also caters for mobile phones, primarily those running the Symbian operating system (i.e. most ‘dumbphones’ made by Nokia, Sony-Ericsson and so on.), and provides mobile streams for these phones in a 3G streaming format designed for small screens and delivered over RTSP. All users of these phones have to do is load up their WAP or WWW browser and head to the iPlayer website to install the iPlayer app onto their phone.

Unfortunately, the BBC mobile TV website isn’t (or rather, wasn’t) particularly knowledgeable about Android phones. So, while Android phones were technically capable of playing these streams, they simply weren’t made available. (Why? I’ll come to that that later.)

This is where beebPlayer came in – allowing Android phones to access the streams intended for simpler phones* by simply reading the appropriate URLs. Unfortunately, the use of the mobile streams – which remember are designed for phones with small screens and not much CPU power – aren’t exactly beautiful on the big 3" screens that adorn most Android phones. The smearing, pixellation and sub-standard sound don’t exactly make for a cinematic viewing experience, but that wasn’t the point. The point was: “BBC iPlayer on my shiny new expensive phone!”

But, that’s all beebPlayer was – a simple little interface for the content that the BBC already produces. It really isn’t much more than a user interface for an XML reader that any competent Android programmer could whip up in an evening, if not a weekend. Indeed, the very first version of beebPlayer was practically that! Subsequent versions simply added more layers of polish and tweaks, but never anything particularly complicated (well, subtitles were a little tricky). It certainly didn’t require much investment from me, besides time and a little sweat. From the outset, my only aim was to provide a basic level of access to iPlayer content until the BBC could provide a more comprehensive and acceptable solution.

Were it not for the iPlayer platform pushing out two streams that most Android phones were capable of playing, beebPlayer would not have been possible without a lot of extra time and investment to augment Android’s existing media framework so it could understand the other streams. Fortunately, Android 1.5 and higher have had little problem playing the mobile streams provided by iPlayer, which made making beebPlayer very simple indeed! That is to say: the real power (read: magic) behind beebPlayer was the BBC.

Of course, there were problems. While Android is technically capable of playing those mobile streams, those mobile streams weren’t exactly designed nor tested for Android. Small errors or unexpected changes in the stream would utterly confuse Android, and hence would be unable to play the stream at all. In other cases, Android simply dislikes some routers (or rather they dislike Android and/or the BBC streams.) The mobile streams were great for mobile phones, but not so great for Android phones. For this reason, beebPlayer was not without its flaws – most of them were beyond my power to rectify.

The new iPlayer site does a much better job at providing a good experience for Android users than beebPlayer ever could have – not only are the streams it uses designed specifically for Android phones, but because of this they’re higher quality and less likely to break at the merest sign of a lost bit or byte. It’s also maintained by the BBC and paid for by the license fee, so it’s level of service will be far higher than what beebPlayer could provide.

The fact the new site is limited to Flash-enabled devices is a sore-spot, but I can understand this requirement and its benefits, as well as its current and future limitations. RTSP (mobile/beebPlayer) isn’t exactly an ideal alternative if you have a level of service you wish to maintain, something RTMP (Flash) is far better at providing, especially across multiple different platforms.

And that’s how beebPlayer worked.


* Despite what many people assumed, beebPlayer did not use the higher-quality iPhone MP4 streams – which are simply not quite compatible with Android (but only by a whisker – while Android phones are easily capable of playing the streams, they just don’t quite understand the QuickTime container used.)

16 May 2010

beebPlayer discontinued

I'm sorry to announce that I have removed beebPlayer from the Android Market and ceased all further development of this application.

28 Apr 2010

Android 2.2 to deprecate beebPlayer (possibly)

It looks like with Android 2.2 (Froyo), beebPlayer will finally have served its purpose for users of current Android handsets, as it seems this edition of Android will feature Flash 10. So says Andy Rubin of Google:

He also promised that full support for Adobe’s Flash standard was coming in the next version of Android, code-named Froyo, for frozen yogurt (previous Android releases were called Cupcake, Donut and Eclair, and are represented outside Building 44 on the Google campus with giant sculptures of the desserts). Sometimes being open “means not being militant about the things consumer are actually enjoying,” he said.

This combined with the BBC's previous announcement of iPlayer for Android devices - powered by the same Flash 10 - should mean that Android phones will get complete and proper access to BBC iPlayer content, including the bits that have eluded beebPlayer - like on-demand ('listen again') radio and high-def video.

Of course, many handsets (such as the G1) probably won't get the see Android 2.2, so I'll be maintaining beebPlayer as long as is reasonable and manageable, to ensure those users can still access some iPlayer content.

Android 2.2 is due in the next month or two for Nexus One and HTC Desire, but the popular HTC Hero is currently unaccounted for.

26 Apr 2010

beebPlayer 0.6.4 released

beebPlayer 0.6.4 is now up on the UK Android Market, boasting the following changes:

  • Various live radio bug fixes.
  • Live radio now makes several attempts to buffer, rather than just one, before presenting an error.
  • Removed buffer percentage from live radio when not known.
  • Added brief programme synopsis when listing TV programmes.
  • Small UI tweaks.
14 Apr 2010

beebPlayer 0.6.3 released

beebPlayer 0.6.1 0.6.2 0.6.3 is now up on the UK market, with a few UI improvements:

  • Simplified main screen, now split into 3 tabs for Television, Live TV and Live Radio
  • Added pink titlebar across entire application
  • Added dialog on Live Radio player to indicate if buffering has failed, and offering to Try Again immediately (this was really very flimsy before!)

As always, please let me know if you encounter any issues with this new version.

(0.6.2 and 0.6.3 fixed some daft UI errors from 0.6.1)

8 Apr 2010

beebPlayer 0.6.0 released

I've just put beebPlayer 0.6.0 up on the market. This release fixes the radio channels, which were affected by the BBC changing their 3GPP stream URLs. Apologies for the tardiness, various things (including a broken laptop) hindered any development.

Full list of changes below:

  • Updated Live Radio stream URLs
  • Replaced background PNGs with XML shapes (i.e. The Way It Should Be Done)

Let me know if you encounter any issues.

(09/04/10: The app has also been submitted to AppsLib and waiting to pass through Archos' new approval process.)

18 Feb 2010

beebPlayer reaches 100,000 active users

Just saw on the Android developer site that beebPlayer has now reached 100,000 active users (i.e. there are 100,000 Android devices with beebPlayer installed on them), and 125,000 total downloads.

Thanks for sticking with me guys - iPlayer was never designed for Android, and I realise it's not especially reliable or of much quality sometimes!

17 Feb 2010

BBC trialling iPlayer on Android!

For the BBC iPlayer apps we're looking at using Adobe Flash 10.1 streaming, and are trialling on the Google Nexus One and Motorola Milestone. Flash 10.1 streaming offers a high quality viewing experience and means we can start using the BBC's flash based embedded media player (EMP) on mobile phones

Hooray!

(Actually, this was the exact approach I was planning on adopting in beebPlayer once Flash reached Android. Seems the BBC were thinking along the same lines.)

David Johnston's Posterous

I make computer games for a living, and write computer programs for fun.
My Google Profile