Monday 14 May 2012

Design Approach for Google TV

As mentioned in my previous post about Google TV not all Android apps should be ported to Google TV. In this post I want to talk about differences of smartphones and TVs that
I'll be talking about things to keep in mind when deciding whether or not to make your app available to Google TV and if you decide to do so what factors are important in the process.

For the technical side of things I recommend checking out Mark Allison's posts on his Styling Android blog. At the time of writing this he has already published two parts of his Google TV series and more is to follow:
Styling Android - Google TV - Part 1
Styling Android - Google TV - Part 2

There's also Google TV team provided handy documentation about implementing and designing apps for the Google TV. It is good read and worth checking out: https://developers.google.com/tv/android/docs/gtv_android_patterns

Topics include:

Another good Google provided read is the recently added Designing for TV training on the Android developer site.



But let's dive in to the domain of connected TV and factors that affect app design.

TV is shared

TVs are used by the whole family. If your app requires users to login it will probably be difficult to users. Whose account should be used? If the app has accounts make sure that your app supports multiple accounts and easy switching between them.


TV is for entertainment

People use TVs to relax and to be entertained. We need to keep this in mind when we build apps for TV. Google TV is not a living room PC. It is not a good device for surfing the web and reading emails. People have better devices for those tasks.

For entertainment a large display is great. Naturally, watching video is a perfect fit to a Google TV but also other visual content and games can greatly benefit from the large screen experience.



Do people want to interact with the TV?

Hands off approach to entertainment works better than hands on. Showing users something they can skip / change easily by default makes a lot of sense. Avoid screens that don't have any content. If it is possible to start your app directly playing a video, displaying a photo etc. it can make the app feel more at home on a TV.



TV remotes are difficult to use

TV remotes are very different in nature than any other controllers we are using to control computers, tablets or smartphones. A complex remote defeats the purpose of the TV. For me and probably many of  you a keyboard is an acceptable form of TV remote but for large masses it is not. A computer keyboard is not a remote control for an entertainment device. I wrote about TV remotes some time ago.

Once the device manufacturers get the remote controller right (the latest generation Vizio and Sony is already looking much better) it is going to put more limitations to the apps we build. Pointer navigation is going to remain awkward and people don't want to do it. What this means is that we should design our apps for the D-pad.

Any UI component should be accessible from any other focused UI component by navigating with D-pad either directly or with minimum steps. This means that the app structure and component positioning must be designed much more carefully than on touch screens


Simple, direct access, one-click-experience

Let me introduce you to the optimal TV user interface:


That is full screen media player. Media in this case can be a video, picture or a game. If your app starts from this screen your app is getting your user directly where they want to be.

This is, of course, not always possible but it is a good goal to keep in mind when thinking about Google TV app design. Your users want to use the big screen they have to see content that utilises the big screen optimally.


One app?

Andy Rubin's famous view of Android app ecosystem has been one app running everywhere. Users should not have to look for a tab specific app but instead just install the same app they have on their phones to their tabs and the app need to know how to utilise the larger screen size. His point of view also extends to TVs. While I fully agree with him about tabs and phones I'm not convinced the same app needs to extend to Google TV.

An app can adapt from a phone display to a tab display using the awesome tools provided by the SDK because the user goals and app's main function in basically unchanged between these two device categories. The same does not apply to TVs. Users have very different goals on TV and on portable device. Simply tweaking the app UI to utilise TV screen space and making controls work is not enough.

I'm in the opinion that most apps do not need to be on TV. Many apps could work together with TV though.


Second screen

Second screen apps is a very interesting concept. I personally believe that this is the area where most innovation can be done. The way TV apps work together with tablets and phones is going to be interesting. This is going to be one of the great strong points of Google TV as a platform. Getting Android apps to talk with each other is easy.

We already have few second screen apps. They are fairly primitive but are already showing the potential that is there. The most obvious one is of course a remote control app. Able remote control app already does many great things.

Can't wait to see what kind of second screen apps people come up with! Let's think beyond remote controls.


Summary, TL;DR

Even though Google TV runs Android it doesn't mean that every Android app should run on it. TV is a very different environment and most importantly user goals are very different when they watch TV or use a smartphone (watch is passive use is active). Optimal TV user experience is a hands-off one-click experience.

3 comments:

  1. About your comments on one app:
    Yes, probably most apps do _not_ make sense on TV. But those that make sense on different devices including TV should be one app. They still might be two APKs, but should be one app (as Mark mentioned in his second blog post).

    ReplyDelete
    Replies
    1. Yeah true, for those few that serve the same purpose. Youtube is a good example. But for those apps that serve a different set of goals I'm not sure. Is it confusing or helping if you have same brand but different functions under one app? I haven't made up my mind on this yet.

      Delete
    2. If there really is a difference between the purpose of an app on Google TV compared to a phone or tablet, than by all means should it be a different app.
      But some apps (e.g. games - given sufficient controllers these might work very well on Google TV) might differ more in the way users interact with the game and probably some of the settings.
      Other might have to offer an (additional) overlay mode. E.g. Google+-notifications. I am informed in some way that a notification is pending. And I want to see them without interrupting television. Maybe Google TV offers this out of the box - maybe apps have to support this. The same is true for soccer-apps that should inform me that a goal has been scored and where and by whom. In the latter case a link to a corresponding soccer-channel would be ideal.
      Of course apart from games the majority of apps on Google TV probably will augment the TV content. E.g. I often wonder about the voices of German actors and for which foreign actors they are voice actors. On Google TV an app should realize what I am watching, what actors were visible in the last minute and offer an overlay that presents this information for this list of actors. For these no tablet/phone counterparts will exist - or they should have a different app name.

      Delete