It’s been 4 years since Google first unveiled its Android TV — an operating system for TVs and digital media players. Originally designed for digital media players only, Android TV is currently supported by six (out of ten) major manufacturers of Smart TVs:
So what? — you might ask. Why pay attention to Android TV? The answer is as simple as that. According to the data once shared at Google I/O, the US audience, for example, uses TV as the main platform for viewing video content. So if your mobile app is initially targeted at watching videos, then its Android TV-based version would be a good way to boost its popularity.
Android TV would also be quite handy for:
1. Music streaming services.
2. Games (similar to Final Fantasy and NBA Jam)
3. Everyday applications like weather services, browsers, etc.
4. Various media players, file managers.
Among Android TV apps on Google Play you will definitely find lots of major market players, engaged in both media entertainment (Netflix, Twitch, ESPN) and social networking business (Facebook). The number of downloads (Netflix has more than 10 million) suggests that they once made the right choice and significantly expanded their audience.
What is worth remembering if you decide to develop an application for Android TV? First of all, you need to understand that Android TV is a separate platform implying development of standalone apps. If you already have a ready-built mobile app in Android, its logic can be reused, but the design of the application will have to be re-created.
Secondly, Google is very much in favour of uniformity of applications for Android TV. Well in advance they laid a good groundwork for the core screens (for example, the main screen of the application, the screen with information (Pic.1), the search screen and the screen with the video playback) so that a developer would find it pretty difficult to get off the path created by Google. As a result, if you want your app to have a unique and inimitable look — No way! — as it will hardly conform to the Google guidelines.
Also be prepared that the development of such an application will become much more complicated and users may experience difficulties in interacting with it.
It should also be borne in mind that for your application to land on the list of Android TV apps on Google Play, the app manifest should read that the app can work on devices without a touchscreen.
Of course, you can use an emulator to develop your application. However, it will hardly be a complete replacement for a real device, and with an emulator you will not be able to test some specific cases, for example, low memory situations.
Android TV development aspects
Despite the fact that Android TV has existed for almost 4 years, a developer will have to face some sort of development ecosystem decentralization. It’s quite possible that if some implementation problems arise, a developer will have to look for solutions by him/herself, since no one before has ever encountered those.
Development of applications for Android TV is carried out using **Android TV Leanback SDK** — a set of tools that allows you to design your own applications for Android TV on the basis of unobtrusive mandatory recommendations from Google. Here are some samples as to the use of this sdk: https://github.com/googlesamples/androidtv-Leanback/
What does Android TV Leanback SDK offer? For example, there are base classes such as `SearchSupportFragment`, `DetailsSupportFragment`, `PlaybackSupportFragment`. The titles speak for themselves — they are responsible for the search screens, information and video playback respectively. The screen layout itself consists of blocks carefully collected by the `ArrayObjectAdapter` class instance. The `Presenter` class from the Leanback Support SDK and its successors are responsible for displaying items on the screen. This is one of the main differences between Android TV development and common Android app development.
If you look at the Presenter class sources, you’ll see familiar ‘onBindViewHolder` and `onCreateViewHolder` methods, as well as the static’ ViewHolder` class, which makes it obvious to the developer where the creators of this class got their inspiration from.
The design of application for Android TV should be based on the premise that a user is usually at a greater distance from the device than in the case with a smartphone, so it is not recommended to make a user look at the screen and read large chunks of text (Fig.2). It also makes sense to pay attention to the controls: the so-called `D-Pad-controller` is usually used for navigation. It allows you to move the cursor left, right, up and down (https://developer.android.com/training/tv/start/navigation).
Thus, one of the tasks for designers and developers is to provide intuitive ways to move the cursor on the screen. Also, do not forget that any element of the screen selected at the moment should have a clear indication. Voice-activated control could also come in handy and will be a great plus for your app.
Another feature of the Android TV platform is that it can be there both on expensive TVs and low-end ones. And more often than not low-end models make a ‘good show’ of certain user performance problems such as temporary freezing or being unresponsive to user’s actions. In this respect in future Google is going to introduce minimum system requirements for the devices that support Android TV. Given that we do not yet have those requirements, you should pay special attention to the optimization of the application. As always though.
Broadly speaking, monetization methods for Android TV apps are no different from those for standard Android apps. Paid subscriptions and purchases (like a monthly subscription to watch popular TV shows) is the most obvious way.
It also makes sense to add short video ads, but take good care of how you redirect a user, because Android TV does not have a built-in browser, and redirecting to Google Play should only lead to the application that has a version for Android TV.
In conclusion, I would like to note that Android TV is not standing still and is constantly evolving. This is confirmed by the fact that most popular streaming services already have their own apps for Android TV. So, if you have an application or an idea of the app where one of the main functions will be, for example, viewing media content, the application for Android TV is a great way to increase popularity and attract a new audience.