AppleTV + Apps

I guess it's no surprise that the new iOS-based AppleTV was jailbroken instantaneously on release, but as the former AppleTV plugin developers race to the new platform to disassemble it and get their own plugins up and running on the new system, I can't help but wonder how the future of AppleTV will play out as regards developers.

It's widely rumored that Apple will open up the AppleTV platform and create an 'App Store', allowing developers write apps for the big screen. It seems almost inevitable that they will make this play, if not to compete against Google TV then to at least make the AppleTV a relevant platform; leverage against the movie studios reluctant to agree to Apple's movie rental terms and who knows what else.

What I don't see is an AppleTV SDK being built around BackRow, the current framework that provides the UI on the device. Previous AppleTV plugins have all been built for BackRow, using a framework that is decidedly not very Cocoa-like or developer friendly. They have nonstandard design patterns, and they run as actual plugins to the UI process; a crashed plugin can currently take out the entire UI. From what I've seen (and I've been using it since the original AppleTV hacks back in 2007), the BackRow framework is not fit for third party developers and was never designed to be.

Assuming Apple does launch an App Store, then, how are we going to write apps? The only option I see is UIKit. UIKit is familiar to all iOS developers, is very Cocoa-like, and very powerful. In fact, since iOS 3.2, 1280x720 (720p, or the same resolution as AppleTV) is a supported resolution for developers, mainly for those creating TV-out UIs in iPad apps (Chopper 2 is a great example of this). Developers have already started crafting ten-foot-UI experiences in existing iOS apps, so it would be a no-brainer for that to translate over to AppleTV wholesale. To make it work, Apple would have to build remote control support into iOS… - but hold on a second, Apple already added that in iOS 4! Effectively, all the pieces are in place to build a remote-control driven 720p iOS app. All Apple needs to do is build the distribution mechanism and open the floodgates, and 'Universal' apps would be a definite possibility.

Of course, some people will complain that UIKit isn't the native UI for AppleTV; our apps will look and act differently from the native experience on the device. Point taken, and it's an important one; I think Apple could effectively build an AppleTV UI framework on top of UIKit that internally uses the BackRow APIs but offers the developer a much cleaner way to implement common features. Does it need to happen? No, but it would certainly feel unfinished if they didn't do it. Then again, Apple can be surprising: I'm still astounded they let the iPad ship with that horrific iPhone app scale-to-2x support :o).

8 comments:

  1. Nice article....but we have to wait :-(

    ReplyDelete
  2. If Apple were to formally support apps on AppleTV, wouldn't it make sense to replace UIKit with a "TVKit" that offers UI components appropriate for the TV form-factor (large low-resolution screen, no windows, up/down/right/left + action remote control), but otherwise shares the same Foundation with Cocoa Touch and Cocoa (strings, collections, I/O, etc., plus the usual Media Layer, Core Services, and Core OS below). You could take the current iOS and swap out UIKit for this TVKit and most current iOS/OSX developers could adopt it quickly.

    ReplyDelete
  3. "I'm still astounded they let the iPad ship with that horrific iPhone app scale-to-2x support."

    More surprising is that the 4.2 betas so far don't use the retina display support Apple built to scale iPhone apps up instead of the horrible pixel doubling. Perhaps by the time 4.2 ships it will be there...

    ReplyDelete
  4. Take a look of how the voice over function operates in iOS.

    In voice over mode, iOS becomes aware of the concept of focus.
    You can change focus between UIKit controls via gesture instead of directly touching the control. Actually, I found in this mode, an APP is able to be operated by arrow keys without any modification.

    ReplyDelete
  5. Wouldn't it be possible to use an iphone or ipad as the 'remote' to control on-screen apps? That seems like a super compelling form factor. Sit on the couch with the ipad in lap and drive large screen apps on TV.

    ReplyDelete
  6. I get your opinion on why Apple TV is 720 is because the developer kit is already 720p. But why not make the Apple TV 1080p and update the dev kit to the same? Why go backwards?!

    Isn't this the same problem devs had when Apple upgraded to the Retina display? Everyone had to redesign their apps with higher res icons and UIs. What happens when everyone has made apps that run at 720p and in a few years Apple releases a true HD box running 1080?

    ReplyDelete
  7. @Wilder "and in a few years" ?? Seriously!? If it's a few years time, then too bad so sad, update your app. Developer's can't seriously expect to be future proof for several years against new functionality and platform features. Also, just because the platform supports 1080p does not mean 720p will stop working.

    ReplyDelete
  8. yes.
    my only question is just how 'open' will the hypothetical 'AppleTV App Store' be? Leaving it as (relatively) wide open as the iPhone/iPad App Store is could seriously undermine iTunes content sale/rental revenue even more than they're obviously willing to concede thus far with AppleTV2 (in the US market alone, Netflix, and presumably other equivalents in other regions seem obvious before too long).

    My hunch is Apple will restrict 3rd-party AppleTV apps to those made by 100% official/legit/bona fide content owners &/or creators, rather than any tom/dick/harry who wants to delve into IPTV sourced from questionable corners of the 'net.

    ReplyDelete