This weekend I’ve been catching up on season two of Downton Abbey (I’ve only just started, so don’t spoil it!). I watched season one on my big screen TV via a Roku box and Netflix, but season two is not available on Netflix or Amazon, so the Roku box was not an option. I remembered that PBS has an iOS app and was happy to discover that I could play season two episodes through the app. I also have an Apple TV connected to the big screen in my living room which meant I could use AirPlay to send the show from my iPhone or iPad to the TV. Problem solved!
I found season two, episode one in the PBS app and streamed it from my iPhone to my Apple TV. Right away I noticed that the quality of the picture was much worse than I had seen with the Roku and wondered if I’d get a better picture through the iPad. On the surface, it didn’t seem like that should make any difference. If it’s the same show, same app, same OS, so the picture should be the same too. But it turned out that, when streamed from the iPad, the picture quality was significantly better. What was going on?
While I don’t know for certain, I’m fairly sure that PBS sends a smaller file to the iPhone than it does to the iPad. Why? The phone has a small screen, so all the extra data required for high resolution video is unnecessary. Phone users are “on-the-go” and often have slow connections, so a small file will download faster and start playing sooner. In other words, the PBS app has been designed for the “mobile context”. But the mobile context is a myth (be sure to check out Josh Clark’s excellent presentation on the topic). It falls apart as soon as I stream media from my phone to my big screen TV. In my living room I have a wi-fi connection and I don’t care about file size, I just want the best quality media experience I can get.
We can no longer presume that the content accessed through mobile devices will also be viewed on them. With AirPlay, mobile device experiences can just as easily become 10 foot lean-back experiences, negating all your assumptions about display size and bandwidth. Responsive meda strategies will need to get more sophisticated to take this into account.

This is exactly why navigator.connection will be so important (for the web at least). Reading connection type can be more accurate in interpreting user context than screen size. This will be increasingly important as iPads get Retina displays. Hi-res video/images or lo-res? Are you on a couch or on a bus?
These are things that keep me up at night…
Do you have any proposals to fix? I’m not positive, but I don’t believe the app knows that it’s being sent over airplay to a display.
If you’re extending this analogy to something more interactive than a movie, like a web site you still have to worry about the actual interface that people are interacting with is the physical device that they’re using, not the large TV.
It’s an interesting observation, but what the hell do you do about it?
True, the app doesn’t know about AirPlay. Perhaps this will change at some point. Brad Frost has suggested navigator.connection will eventually help with this problem. In the here and now it’s a challenge, but I’m thinking about how Netflix streaming has handled bandwidth variability with their “testing your connection” screen. Maybe more media apps should use this method until we have a more robust solution. Of course, just because you have a fat pipe doesn’t mean you need to send more data. That’s why a way of detecting AirPlay seems like the best long-term solution.
I have not upgraded to the latest version of iOS for iTV but didn’t you have to hack your phone to stream to your iTV? If so, wouldn’t this point basically be moot because you went around product restrictions?
Streaming from iOS devices is supported – iPhone or iPad. AirPlay support is also headed to the Mac in OSX Mountain Lion.
I stand corrected, with ipad2 and iphone 4s, you can stream anything….
The real problem here is that the device or User Agent is actually a pretty poor indicator of how something is being used. The assumption here is that because you are accessing it from an iPhone, you are watching it on a small screen, in an “on the go” scenario, with poor connectivity. None of this is true in your case. The question is: if user agent detection is insufficient, what are good indicators?
Good point, but what percentage of mobile users are doing this?
Your experience with the PBS app and AirPlay was probably due to their implementation and not for lack of ability. If correctly done iOS video streaming can support a range of devices with a single “stream”. See http://tools.ietf.org/html/draft-pantos-http-live-streaming-07 for more technical information about how this is done. Using AirPlay the initial device hands the stream over the end point device and that end point device can decide to change to a different resolution/bitrate if it can support it.
> Good point, but what percentage of mobile users are doing this?
Not just this. The problem is bigger. How many times do you open a website on a mobile device, just to find out that the designer has conveniently decided that, since you are a “mobile user” you only need access to the about 10% of the site that is useful when you are “on the go”, even though you have all the time in the world sitting on your couch.
Another example of trying to be too clever and making too many assumptions. Simply solved by giving users access to a quality control mechanism.
[...] AirPlay means we can crop to a site with my phone — that would expected trigger smaller images and videos given it’s a smaller shade — though afterwards plan a outcome on a outrageous HD TV screen. This is not even a suppositious problem, we can experience it currently with PBS’s iPhone app and AirPlay. [...]
[...] AirPlay means I can browse to a site with my phone — which would likely trigger smaller images and videos since it’s a smaller screen — but then project the result on a huge HD TV screen. This is not even a hypothetical problem, you can experience it today with PBS’s iPhone app and AirPlay. [...]
Having a “View Full Site” link in a mobile-oriented environment is very handy, and would probably help in this case.
Having a “View Full Site” link in your mobile-oriented environment has proved to be useful, and I imagine might help in this kind of situation…