I had the recent pleasure of attending my first official Apple event recently. And not just any old Apple event, oh no. This was an Apple TV Tech Talk (hosted in London).
We’ve been doing a lot of exploratory work on tvOS & AndroidTV development at present, so any opportunity to learn more is greatly welcomed.
Here are some of the main take-aways from the event in regard to Apple TV and tvOS.
TV Tech Talk Titbits
- Developing for Apple TV is a great way to use some of the latest APIs available i.e. Metal, SpriteKit, SceneKit etc because you don’t need to support legacy devices.
- Apple TV is 64bit only and uses Bitcode.
- You can bundle your iOS and tvOS apps into a single purchase for users on the iTunes App Store. This may not be appropriate for your app but could be usual for companion apps.
- Developing for Apple TV is easy for iOS developers as both platforms share most of the same APIs including UIKit and the Foundation frameworks.
- UIKit is mostly the same but now has a Focus Engine, more on that later.
- Apple TV is designed for the living room so keep this in mind. Users generally want to relax when using TV and are expecting an immersive experience.
- We can assume users will have an always-on high speed Internet so when designing for Apple TV user higher quality assets i.e. textures than you would when developing for iOS.
- Hardware is fast too, A8 and 2GB of RAM, make use of this extra resource.
- Developing for tvOS uses the same developer tools as iOS so Xcode, Simulators and Instruments are all available.
- The system font for Apple TV is San Francisco which is optimised for reading at a distance, so worth sticking with the font.
- Apple like their screensavers.
- Focus more on the content, use minimal UI and adornments to create more immersive experience (immersive was mentioned quite a few times).
- Use edge to edge artwork, well because it’s immersive!
- Menu, Siri and Volume Up/Down buttons of the Siri remote are reserved for the system but you can hook onto the other physical buttons.
- On Apple TV you Click or Tap not Touch. Make sure you use the right terminology in your code.
- Menu is the back button, back button UI is not required unlike iOS.
- The touch pad can be used as a D-pad for games.
- In games it might make sense that user to pause the game before backing out, so there is an opportunity in this case to override the Menu button if using the Game Controller framework.
- Siri remote can be used in Landscape orientation ideal for flying/driving games.
- On Apple TV you move the focus not the object unlike most interactions on iOS. Even when content is off-screen moving the focus causes the scrolling container to scroll the focused element in to view.
Apple TV uses the same button states as iOS with the exception of the new Focused State which is Apple TV only.
Unselected – This is used when button is unselected.
Focused – This is used when the button is focused, when focused clicking the Siri remote will cause the focused element to be Highlighted.
Highlighted – This is a temporary state for when the button is actively being pressed.
Selected – This is used when the button or element is selected but not the focused element.
For example, you might have a split view UI with a list of categories on the left and maybe a listing of results on the right, the user has clicked on a category on the left and this category button then becomes Selected, at the same time the results list is updated on the right pane and the first result item is Focused.
Clicking the Siri remote will trigger the call-to-action on the focused element.
More on Apple TV
Read more about TV apps on our ideas blog.
This article was originally written for Brightec by Cameron Cooke