Ever since the introduction of the Apple TV there has been a lot of discussion and speculation about apps for the device. I think those discussions have missed some important technical aspects.
My Basic Assertion
Apple has sold over 13 million Apple TV boxes. This is a good market size for attracting developers to the platform. It avoids the chicken and egg problem where nobody wants to buy new hardware until there are apps for it, and developers don’t want to invest in a new platform until there are enough potential customers.
Apple TV customers are purchasing over 800,000 TV episodes and 350,000 movies per day. And Apple is continuously adding new services to the current generation Apple TV, also indicating that this is not a product that is about to be replaced.
Therefore, my basic assertion which the rest of this article builds upon is that an Apple TV SDK and subsequently apps for the Apple TV need to work on the current generation Apple TV hardware.
An Actual TV from Apple
For years there have been speculation that Apple is just about to launch a flat screen TV with the Apple logo on it; to revolutionize our living rooms. For the purposes of this article I will just posit that any app capable hardware built into an Apple TV set will have to be compatible with the current Apple TV box, per my basic assertion above.
The Apple TV SDK
The 3rd generation Apple already runs iOS, so “all” that’s missing is an App Store, some people say. Oh, and a way to control apps other than with the anemic Apple TV remote.
The solution to the latter problem is the new game controller API introduced with iOS 7. I’m speculating that compatible game controllers can come from third party accessory manufacturers as snap-ons to your existing iDevices, and as low cost freestanding devices similar in form factor to Wii remotes and other game console controllers. A minor complication is that the existing Apple TV owners don’t have game controllers, so if an App Store is introduced, I will not “just work” for them.
More problematic is where purchased apps will be saved on the Apple TV. The “black puck” generation Apple TV officially does not have any internal storage. However iFixit’s tear down showed that the device does have a 8 GB flash memory chip. Allegedly this memory is used for caching streaming movies to improve the watching experience.
8 GB seems a bit excessive for just a cache, so say that we allocate half to storing apps. Remember back in the day when we only had 4 GB storage on the original iPhone? How many high quality iOS games would fit into 4 GB today?
So why not stream the apps too? Movies and music are great candidates for streaming since you typically consume them linearly. Compiled code is unfortunately not so predictable. There are other systems out there that stream software, so it’s not an impossible problem. But it doesn’t seem like a trivial thing to add on top of iOS when it was not initially designed for this.
For this reason I think it’s unlikely that there will be an Apple TV SDK anytime soon.
Future Apple TV Hardware
Apple is no stranger to releasing new hardware that replaces and obsoletes their current models. Releasing a new Apple TV that has built-in storage would be easy for them. But wait, they already did that. The first generation Apple TV had a built-in 40 or 160 GB hard drive. Flip-flopping back to the hard drive design after they finally found success with the current model, would be a strange product evolution path.
What about flash memory? Even though Apple is the world’s largest buyer of flash memory, it’s not cheap. The main technical differences between the various iPhone/iPad/iPod models is the amount of flash memory included. Take a look at the price differences to get a feel for how expensive flash memory is. At the current $99 price the Apple TV would be a stand-out in the game console market. At $199 it would be in a crowd of low powered game machines.
The Apple TV can act as an AirPlay receiver for both audio and video. iOS apps have been able to send streams over AirPlay since iOS 4.3 and AirPlay mirroring is available in iDevices starting with iPhone 4S. I’ve written about the AirPlay potentials for app developers before. And there are several games on the App Store that make use of AirPlay. What is new this time around is the game controller API. This enhances game play in several ways, including: Significant screen areas no longer need to be dedicated to touch areas for your fingers to control the game. This makes even less sense when you’re viewing the action on your TV and (hopefully) not touching your TV to control the game. Also, with physical buttons on a game controller you can keep your eyes on the big TV screen instead of having to look down on your iDevice screen to see where your fingers are.
I this regard agree with Kyle Richter that the “Apple TV SDK” has already been launched. You will use the iDevice you already own to purchase and play games on, and then use the current Apple TV to display the action on your big TV screen so that your friends and family can be part of the fun.
The game controller API will certainly enhance game play and raise the awareness of gaming with your Apple TV. But it’s not a requirement, as all games that support the game controller API presumably have to work without a game controller connected.
New game console generations are launched about every 5-6 years. People just don’t upgrade components in their entertainment system as often as they upgrade their mobile phones. With this upgrade cycle Apple can take advantage of newer gaming hardware much quicker than the competitors if the games actually run on iDevices instead of on the Apple TV.
AirPlay has a drawback in that there is a lag between the bits being drawn on the screen on the iDevice and the image shows up on the Apple TV. This could be irritating for some fast paced games. But this could be countered in the app with some clever delay handling and by designing your game mechanics with this in mind. When this is not possible, the active player can use the iDevice screen and friends watching would look at the TV not caring that there is a slight delay.
iDevices can already communicate with each other, so a multiplayer game can be done by having one device be the master that renders the screen for all players, and the other devices just send the movements of their players to the master.
With stand-alone game controllers (i.e. those that don’t snap on to the device) you could connect multiple controllers to one iDevice for multiplayer capability. This is even easier to handle from a programming perspective.
What Does This Mean for Your App Business?
If you don’t already own an Apple TV go buy one. Also get that new fancier flat screen TV you’ve been wanting. Write them off as business expenses since you of course need these new toys to properly test your apps.
If you are developing games, you should definitely add support for the game controller API when you update your apps for iOS 7. Remember that Apple loves to feature apps that make good use of new technologies and APIs.
You should also consider supporting AirPlay. This is very easy to do.
The next level is to consider the Apple TV environment when you design a new game. I’m sure there are many new and exciting game ideas that will be invented over the next several months.