A Developer’s Perspective on Creating Apps for the New Apple TV

Apple TV, a digital media player that can receive content from multiple sources and stream it to a TV, was first released almost nine years ago. In October of this year, Apple released the fourth generation of the device with its own “tvOS” operating system. Numerous changes occurred to the platform, and one of the most exciting was Apple’s creation of the Apple TV App Store and the unprecedented invitation to outside developers to create apps for it.    

We couldn’t wait to experiment with coding on this new device, and two of our app developers jumped right in to test out the experience. Apple hopes to see the new Apple TV impact everything from entertainment to gaming to business, so we explored some simple apps in two of those areas.

Brad tested the process by creating an app that displays the lunch menu for his daughters’ school on the TV. While lunch menus aren’t necessary in most business settings, Brad believes the platform could be useful for displaying company dashboards on operations or sales through creation of custom apps that refresh automatically.

For years, we have been able to use a TV as an external display for presentations and dashboards. However, doing so required mirroring the screen on our laptop, desktop computer, or iOS device. The new Apple TV offers the ability to create and run apps directly on the Apple TV without the need to mirror the display of another device. In addition, the interactivity provided by the remote would enable a more complex app that allowed viewers to drill down to see detailed information for different regions, sales territories, or other functional areas of the business.

Through his experiment, Brad found that it’s not a big leap to develop for Apple TV if you already know iOS. It uses the same programming languages, has the same tools to build interfaces, and offers a majority of the same frameworks. Developers will need to learn a few new frameworks specific to working within tvOS, such as TVServices, which defines how content is presented to the user. Another notable difference from phone and tablet development is the lack of local storage.  Any data collected, like game progress or data entry of any kind, must be stored on a server. Further, apps cannot exceed 200 MB in size, so content rich apps must use the On-Demand Resources API. Bluetooth support is also less robust, making it hard to establish an ad hoc network between iOS, Mac, and TV devices.

While text entry with the new Siri remote is still cumbersome, the remote is much more sophisticated overall and has many new features ideal for those creating games. The touch surface responds to actions like swiping and tapping, and the included accelerometer and gyroscope detect movement and position.

Will experimented with Apple TV development by creating a pong game app using SpriteKit. He was able to port code originally written for the Mac OS X and use it as a foundation for the new game. While the starting point was the same, the remote’s voice control and touch inputs opened new options for how users could play. The ability to incorporate rich sound, thanks to the TV speakers, definitely immersed the player in the game in a more significant way than on a smaller device, adding to the enjoyment of playing. He noted that designing for the large screen is markedly different, but the singular size and scale does remove the need to accommodate different interface dimensions. 

All in all, we’re excited by the possibilities, and are eager to leverage our Apple development experience to build apps for this new platform. And playing a few games over the holidays won’t be too bad either…