Apple TV: How to Design and Develop An App for the Big Screen

This is part two of my Apple TV series for@thinkapps. In the first post, we explored whether you should build an app for this platform. Now we’ll explain how to design and develop an Apple TV app.

As we explained in a previous post, the Apple TV has been around for quite some time. In fact, it was introduced back in 2007, when the very first iPhone was released.

But, unlike the iPhone, the Apple TV had a back-seat status of being more of an Apple hobby. And despite numerous incremental improvements over the years, this little black box had still not received much attention from Apple.

This all changed, however, in fall 2015. Amidst the excitement of Apple’s announcements of the new iPhone 6S and iPad Pro in September, the company finally put Apple TV in the spotlight.

The device has been reborn with an array of hardware enhancements, including a fast A8 processor. And the new Apple TV will be controlled through a cleaner interface with deep searching, a gesture-friendly remote control, and the ability to hook up gaming controllers — all powered by Siri.

But the most notable improvement is the all-new tvOS framework, which opens up the platform for the first time to third-party developers. No longer is the Apple TV a second class citizen in Apple’s app-driven ecosystem.

In this article, we’ll explain the process of developing and designing an Apple TV app, starting with the different approaches developers can take when building for tvOS, followed by some design considerations.

Apple TV Apps: TVML vs Custom

Being a completely new platform for third-party developers, Apple has provided two different approaches for creating tvOS apps.

The first utilizes Apple’s new Television Markup Language (TVML), a JavaScript-centric framework that is well suited to video consumption apps like Hulu or Ted TV.

The second option is a custom app, which essentially is an iOS app that conforms to various tvOS SDK features and requires extensive use of Swift or Objective-C.


TVML acts as a bridge or gateway between native iOS code and the UI for Apple TV.

If you decide to go with this approach, you would build your app through a series of JavaScript pages, without having to rely too heavily on Swift or Objective-C. Instead, you would utilize TVMLKit, consisting of TVML and TVJS.

Each TVML template represents a single page and is made up of a series of simple and compound elements, which contain content information or images that are displayed on screen.

The sequence of orchestrating and displaying TVML template pages is managed via a TVJS JavaScript file called by the tvOS binary app, which handles user input in addition to loading various pages.