Apple TV – Words of a developer

tvOS

Here at Reflections, we are excited with the Apple’s new TVOS release. We are looking at the potential of this new platform and it’s ability to change the way you interact with your television. Moreover, the opportunity we have into this world, and thereby the excitement we offer our iOS customers.

tvOS is derived from iOS but is a distinct OS, including some frameworks that are supported only on tvOS. We find that the familiarity of iOS development, combined with support for a shared, multi user experience, opens up areas of possibilities for app development that are not available on iOS devices. You can create new apps or use your iOS code as a starting point for a tvOS app. Either way, TVOS needs tools (Xcode) and languages (Objective-C, Swift, and JavaScript) that we’re already familiar with.

Apple TV Hardware

tvOS_02

The new Apple TV has the following hardware specifications :

– 64-bit A8 processor

– 32 GB or 64 GB of storage

– 2 GB of RAM

– 10/100 Mbps Ethernet

– WiFi 802.11a/b/g/n/ac

– 1080p resolution

– HDMI

– New Siri Remote / Apple TV Remote

User Interactions

As Apple says, “Apple TV does not have a mouse that allows users to directly select and interact with an app, nor are users able to use gestures and touch to interact with an app. Instead, they use the new Siri Remote or a game controller to move around the screen.”

A siri remote is shown here with its controls:

  1. Touch surface. Swipe to navigate. Press to select. Press and hold for contextual menus.
  2. Menu. Press to return to the previous menu.
  3. Siri/Search. Press and hold to talk in those countries that have the Siri Remote. In all other countries, press to open the onscreen search app.
  4. Play/Pause. Play and pause media.
  5. Home. Press to return to the Home screen. Press twice to view open apps. Press and hold to sleep.
  6. Volume. Control TV volume.
  7. Lightning connector. Plug-in for charging.

tvOS_03

Challenge :

Taking care of the user-interface and user-flow is going to be the main challenge when porting an existing app for TVOS. Since there is no hardware keyboard or big touch screen, inputting text feels challenging and less immersive.

The second challenge you are going to face is Local memory. You can no more download images and videos and run them locally whenever needed.

Apple Says : “The maximum size of an Apple TV app is limited to 200 MB. Moreover, your app can only access 500 KB of persistent storage that is local to the device (using the NSUserDefaults class). Outside of this limited local storage, all other data must be purgeable by the operating system when space is low.”

You can never guarantee the files you downloaded are available in your local. Your files are trashed the next second your app goes to background if your user is a good game player or a movie lover.

Apple also warns : “Do not use the entire cache space as this can cause unpredictable results.”

Apple has a new solution to data usage for TVOS named “On-Demand Resource”. On-demand resources are app contents that are hosted on the App Store and are separate from the related app bundle that you download. They enable smaller app bundles, faster downloads, and richer app content. The app requests sets of on-demand resources, and the operating system manages downloading and storage. The app uses the resources and then releases the request.

New tvOS Frameworks

Apple tvOS introduces the following new frameworks that are specific to tvOS. This opens up a space for non iOS developers to use the TVOS. Javascript again. It’s ruling the world.

  1. TVMLJS. Describes the JavaScript APIs used to load the TVML pages that are used to display information in client-server apps.
  2. TVMLKit. Provides a way to incorporate JavaScript and TVML elements into your app.
  3. TVServices. Describes how to add a top shelf extension to your app.

Developing Apps !

Apps should be developed for tvOS. Apple TV was previously running on iOS and the new tvOS is built upon iOS and shares many of the technologies and frameworks.

Tools

You’ll need xcode 7.1 or later for developing apps for Apple TV. This include support for tvOS and tvOS Simulator.

How to get Started ?

There are two methods you can develop apps for Apple TV.

  1. TVML Apps – apps are developed using TVML, TVJS and TVML kit.
  2. Custom apps – the conventional way of making apps with familiar iOS frameworks and concepts like Storyboard, UIKit , Auto layout etc.

TVML is Television Markup Language, which is nothing but a form of XML. TVJS is set of JavaScript APIs which provide you with the means to display apps created with TVML. TVML kit combines TVML, Javascript and the native tvOS application.

If you want to present your users with some content that is hosted on a server , then you may want to choose the TVMLKit. There are so many reusable templates provided by Apple. You can have a look at the templates provided by Apple here.

To view each template in action, you can simply run the TVML Catalog Sample app which is available here.

If you want to present your users with a unique kind of custom design, you may choose to develop a custom tvOS app. You can create tvOS apps with your iOS skills in UIKit, Auto Layout, Core Graphics etc. Apart from many of the iOS frameworks , more tvOS specific things are available. You can have a look at the added and removed features for tvOS from iOS here.

tvOS_04

How Apple TV could have been better

  1. Typing in the apple TV with the SIRI remote is a pain point.
  2. A little bit more of internal storage access for apps for at least a minimal caching.
  3. Siri support for developers.
  4. When it comes to Television, the screen is larger and so is the space for multitasking. Apple could support multitasking on Apple TV apps. They do support for iTunes channels.

Latest Updates

There’s a new software update awaiting Apple TV 4 as Apple released a small point update for all users early this year. tvOS 9.1.1 likely includes bug fixes and performance improvements without adding any major feature changes. The update, however, does include the new Podcasts app that first appeared in tvOS 9.2 beta.

The bigger update coming in the future also includes channel folders, Bluetooth keyboard support and more. You can update your Apple TV 4 through the Settings channel from the Home screen.

While tvOS 9.1.1 is available to all users, tvOS 9.2 is currently limited to testing by developers and expected to be released later this year.

With the latest version of Apple’s Remote app for iPhone and iPad, you can control your Apple TV over your home’s WiFi network with a higher degree of control. Plus, search is a snap because you can type stuff on your device’s keyboard. The free app is available for iPhone and iPad. Download it here.

We have tried few prototypes. We will be back with a next blog with more on development details.

Apple TV – Words of a developer was last modified: by Admin_REFL

About the Authors

Mohamed Haseel K
Module Lead - Mobility

iOS/Android/Web Developer, Problem Analyst, Solution Finder, Interested to work on anything that requires brains, Learn by helping - that is my way.

Priyanka S
Senior Software Engineer

Android Developer. Passionate about development. Hardworking, quick learner and willingness to learn new technologies.

Arun Vijay
Software Engineer

iOS Developer, like to work with innovative apps

Leave a Reply