It is high time to take a fresh look at familiar and usual things. If you still think that TV is only about watching movies, then you will be surprised. Brand new Apple TV goes well beyond video streaming, enabling users to play games, use various productivity apps and feel shared experiences. Software developers find this news even more exciting, as not every day one of the most influential companies delivers a new platform.
Apple's tvOS for developers (Infographic)
The presentation of the new Apple TV at the main Apple's event this year wasn't overshadowed even by iPad Pro and iPhone 6s/6s+ introduction. This new exciting product is aimed to change the TV experience, adding new features and functionality to a familiar device. Apple CEO Tim Cook introduced the new Apple TV by saying 'We believe the future of TV is apps,' which turned out to be inspirational for both developers and customers. Though presently Apple TV is lack of available apps, things are about to change fast. With introduction of the platform itself Apple presented an App Store specially designed for Apple TV applications and the operating system powering Apple TV tvOS. These vital additions open up completely new possibilities for developers to build a diverse range of new apps.
Developing for Apple TV seems to us a new challenge, not only because we've never developed for such a big screen, and an exciting opportunity to enlarge the scope of our expertise. So sit back as if you are in front of TV screen and let's take a look at the process from the developer's point of view.
Getting to know tvOS SDK
Building apps for Apple TV means developing apps using tvOS new native frameworks as well as inherited iOS frameworks. Obviously iOS developers won't have troubles adapting to tvOS development, regarding it's new specific features like remote control or shared and multiuser experience. Apple suggests two approaches to tvOS apps creating: TVML Apps or Custom Apps creation.
Developing TVML apps is entirely a new approach that is based on TVML, TVJS and TVMLKit.
- Television Markup Language (TVML) is used to create pages in the client-server tvOS apps. Each page is built on a TVML templates, which are designed to display information in an intuitive and accustomed way.
In case your aim is to provide an immersive user experience there is a possibility to develop completely custom apps. tvOS has inherited many widely used iOS frameworks, making them available to tvOS developers. Coding incidentally can be performed using Swift or Objective-C.
What's new on tvOS
Top Shelf extension
The TVServices framework enables using Top Shelf in tvOS apps. The point of this new feature is simple: give users the opportunity to preview the content they are interested in. Top Shelf extension to an app displays shortcuts to chosen apps in the Top Shelf area of the Apple TV main menu. For developers it is a great chance to bring additional value to their apps, creating rapid access to the particular part of the application.
Focus engine and Parallax images
Layered images is among top-priorities in designing Apple TV user interface. Apple puts emphasis on the importance of applying parallax effects on pictures, icons, posters and other interface elements. Undoubtedly this effect looks neatly what significance it makes? Focus-based interaction between Apple TV and users is strongly supported by parallax visual effects aiming to deliver you a visible hint when you are performing manipulations. Parallax convey depth and dynamism to the element in-focus. To apply parallax images in apps developers use UIImageView class, which has been modified to allow developers work with parallax with minimum coding changes.
Another challenge to face for developers is dealing with new input method. Users don't interact directly with user interface as it is common with iPhones and iPads, they are using Remote control, which pleases with exciting features like:
- Touch surface enables gestures: swipes or taps;
- Microphone brings voice access to Siri;
- Gyroscope a powerful motion sensor to ensure immense experience in gaming.
To make this happen tvOS presented the system called focus engine. The main requirement of indirect manipulation is to ensure that focus moves in the direction of gesture and only one item is in focus at one point. Touchpad taps or swipe gestures launch focus engine. To enable focus feature developers use UIKit or study some new APIs revealing basic principles of making focus-based apps.
The remote uses Bluetooth to connect with Apple TV, which welcomes other Bluetooth game controllers to make gaming experience even better. Apple seems to place it's stakes on games and provides tvOS with strong game support. Such iOS gaming frameworks as SpriteKit and SceneKit adjusted on tvOS. Moreover, Apple is expected to provide Unity support in the near future.
Learn the restrictions
There are a few issues about tvOS apps development that may puzzle developers. Those are local storage and app size restrictions Apple TV doesn't have a persistent local storage for apps. That is why tvOS apps developers must provide data storage in iCloud or use their own back-end service. Developers should keep that in mind while designing an app. Along with the limited local storage, tvOS applications can't exceed 200MB. This doesn't mean you should develop small apps with minimum functionality and design, but anything beyond 200MB should be packaged and loaded using on-demand resources.
Basically, we expect developing on tvOS basis to be similar experience as iOS development in addition to new immersive opportunities. Apple's innovation leaves software developers the room to grow and sharpen their skills, delivering new exciting Apple TV experiences.