The Toronto Apple TV Tech Talks on Dec. 7, 2015, was a remarkable event. Apple didn’t spare anything to make it great and memorable, from the choice of the venue – The Westin Harbour Castle in downtown Toronto – to the food and the event schedule. Apple came with awesome speakers, representing all the teams that work around the new TV device, and I had the opportunity to spend a few minutes talking with the manager of the app review department (you know, the guys who can make your app submission a joy or a nightmare).

The content of the event was very informative and got me thinking on the new opportunities that the 4th generation Apple TV is opening for businesses, developers and users. The topics discussed during the sessions caught my interest both as a businessman and a software developer/engineer. In this post, I will share some of the points that I found very important.

The new Apple TV is a great device. A clean design with the new Siri functionality lets you tell your device what you want to watch, and it brings back the content you desire. The device makes you feel immersed in the screen across the room, with a beautiful interface and great speed. But the best thing is that you can have more apps and games from the App Store to enjoy on your screen. In fact, Apple has properly documented and opened the new tvOS platform to developers to write great apps and games that users can download and play on their new Apple TV devices. This is a new market that app and game developers have in which they can expand their products. There are three major streams of thought that derive from this – what I call “The Business,” “The Design” and “The Code.”

 

The Business

When I first heard that developers could now deploy apps for the Apple TV on the App Store, I got very excited, and then I got very suspicious, wondering whether there was a trap somewhere. I applied for the developer kit that Apple so kindly sent me within few days. Now I was curious to know how to build money-making apps for the Apple TV – what are the requirements, would people buy those apps and what would it take to achieve that?

The good news is that tvOS is added to your Apple Developer Program automatically, so no expense there. You can start immediately and deliver your great games or apps into the Apple TV App Store. With the new Universal Purchase feature, a single purchase can give the user access to the iOS and tvOS versions of your app.

One other good news is that there are opportunities to make money with your apps since, to my great surprise, the Apple TV App store as of November 2015 had 38% free apps, 12% freemium, 3% paymium and an amazing 47% paid apps, according to Apple. Choosing the right business model could help you gain some money – not sure if that will suddenly turn you into a billionaire though.

Having said that you have to know this important thing: whether you build amazing games or great apps, your program must provide an immersive and living room experience that the user will enjoy and fill connected to. In other words, doing business on this platform requires you to really think about the purpose of your app and make sure it meets this Apple TV fundamental requirement. Simply porting existing iOS apps to tvOS won’t be a straightforward task. TvOS has its own interface guidelines that will require your attention and a budget. My point of view is that game developers and media content providers will not have as many problems as app developers who have been creating mostly products for personal use and on small screens.

Great apps on iPad or iPhone won’t necessarily be great for Apple TV

 

The Design

Once you have verified that it makes sense for you or your company to build apps for Apple TV and figured out your business model on whether you will deliver free, paid, freemium or paymium apps, the next thing is to design your app for tvOS. I think this is very significant because great apps and games on iPhone or iPad are not necessarily meant for Apple TV.

Apple has introduced an entirely new design guideline for tvOS that can be found at https://developer.apple.com/tvos/human-interface-guidelines/. This design defines three main principles that guide the design of apps for Apple TV: connected, clear and immersive.

  • Connected: When designing your app, people have to feel connected with your content or app. The introduction of the parallax effect allows you to achieve just that; it gives the elements of your screen this exceptional focus that will catch the user’s attention without distracting him/her with other elements.
  • Clear: People must be able to understand the navigation, which should be simple and straightforward. They should always be oriented clearly, never get lost. Your app must have clear text, legible from across the room. And no ambiguous gestures.
  • Immersive: Apps must take advantage of the entire canvas, which can be a challenge for developers who are used to building for phones and tablets where the real estate is very limited.

Also, Apple restricts your app main bundle size to 200 MB and allows you up to 20 GB of on-demand resources to enable faster downloads and richer app content. This is to be considered in the design phase; you need to carefully group your content and determine which one is bound to the main bundle and which will be downloaded on demand.

With that in mind, the design activities will require a lot of attention to properly apply the focus model paradigm and privilege the big-screen experience over cluttered navigation and features. Images must be great and big, offering an immersive experience on the screen, as should the sound. My guess is that a lot of time, effort and money are going to be spent at the design phase. You cannot afford to miss this.

 

The Code

Apple provides exhaustive documentation regarding the development of apps for Apple TV at https://developer.apple.com/tvos/. TvOS, the operating system for the new Apple TV, comes with its separate SDK, which contains tons of great built-in features that make the development easier.

TvOS SDK offers a new baseline that developers can take advantage of and use tvOS capabilities such as Metal, SpriteKit, SceneKit, QuartzCore, StoreKit, on-demand resources and cloud storage to build the new generation of apps running on the big screen. Developers will still use the same tools, programming languages and framework components.

The most important challenge for iOS developers will be to implement the Focus Model, which is the element that differentiates iOS from tvOS apps. The Focus Model requires that you:

  • interpret finger movements on the Siri remote
  • determine the next view to be in focus
  • detect which views are focusable
  • move the focus from one view to another
  • animate focus changes
  • provide appearance for the focused element

Fortunately, the Focus Engine included in the UIKit takes care of all these interactions and makes it easy for developers to implement the Focus Model in their UIKit-based apps.

For C# developers like me, you will be happy to learn that Xamarin has already implemented a preview of tvOS for you. Learn more about this at https://developer.xamarin.com/guides/ios/tvos/.

You learn, for example, how to design and work with icons and images, play with the Navigation and Focus Model, implement the on-demand resources feature and support the new Siri remote with the Xamarin.tvOS framework.

 

What’s Next?

TvOS is a great platform and has the promises of growth and excitement for entrepreneurs, app and game developers and Apple TV users. It is also an opportunity for developers to create a new baseline for their products and start building apps that can be used on all Apple devices.

We have the chance to deploy all sorts of ideas and apps in the Apple TV App Store while it is still new. Apple TV speakers expressed their excitement to see what developers will come up with as they submit their apps to this new store.

In the next couple of weeks, I’ll be exploring the new tvOS SDK in detail as I’m porting one of my apps to the Apple TV, and I’ll use both Apple’s original SDK and Xamarin to build my new app and learn more about this framework.

Posted by Didier Kashinda