Should You Port Your iPhone/iPad App to Apple TV?

Your business or enterprise has an iOS app for iPhone and/or iPad, and you’re intrigued by the new app support on Apple TV and tvOS. Should you port your app to tvOS?

It seems like a fairly easy decision. Despite its different name, tvOS is very similar to iOS and has many of the same foundational building blocks. Much like Apple Watch and watchOS, Apple TV and tvOS allow you to build much of your app without changes.

But there are both technical and user experience reasons that feed into the decision on whether to port your app.

First let’s look at the user experience.

A TV is very, very different from an iPhone or iPad or Apple Watch.

  • A TV experience is often a shared experience.
  • A TV is often in a living room, den, kitchen, or bedroom.
  • A TV can replace a projector in an educational or enterprise setting.
  • You don’t sit up close & touch your TV the way you do an iPhone or Apple Watch.
  • You use a remote–or Siri–to control the interface.
  • Multiple game controllers (or iPhones or iPads) can be used via Bluetooth to control the screen.
  • A TV experience is usually an immersive experience.
  • Text has to be larger and/or pared down, because nobody wants to read a book from a screen 10 feet away.
  • For the time being, Apple is more heavily pushing video streaming and gaming for Apple TV, although just about any app can be ported and put on the App Store.

So ask yourself these hard questions:

  • Does your app work within these confines?
  • Does your app make sense being seen by multiple people simultaneously in a family, business, or educational setting?
  • Would someone sooner pull out their iPhone and use that before wanting to see your app on the big screen?
  • Does your app entertain or stimulate collaboration for multiple people at once?

If the answer is ‘no’ to most of these questions, pause before considering porting your app to Apple TV. Or perhaps consider a subset of your app that makes the most sense for these use cases.

Now let’s look at some technical limitations:

  • Not all of iOS is in tvOS. Xcode release notes describe which frameworks are included.
  • Notably, web views and maps are not included in tvOS (but see my post from earlier this week about how to display HTML-formatted text in tvOS).
  • If you’re using a web-based, cross-platform development tool, don’t. Stop. Start over. It’s not supported. It’s a dead end.
  • Some UI controls from iOS are missing, and many act subtly differently.
  • tvOS introduces the concept of Focus for navigating controls and the screen.
  • Focus affects what is highlighted on the screen. You will likely have to modify your view controller code to handle focus events.
  • Your data model code will likely require no changes at all. tvOS is based on iOS and most non-UI features are present.

If your app mostly consists of web views or maps, don’t even bother looking at tvOS yet. Maps will probably come eventually, but Apple has no real incentive to include web views: web views would be hard to read, hard to navigate, promote Apple competitors such as Google and Facebook, and promote uninspiring cross-platform tools.

In the coming weeks, I’ll have more to say about porting apps to tvOS. But before delving into the nuances, it’s a good thing to print this out and stew over these points for a few days. Talk to your UX people, talk to your designers, talk to your product managers, talk to your users, talk to your BAs, talk to your architects & best developers.

A successful Apple TV app demands thoughtful review from your whole team to decide if it makes sense, and how it makes sense.

Advertisements
Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s