Recently those nice folks at Google sent me a Logitec Revue which implements Google TV. Having played with it for a few weeks here are some initial thoughts about how best to design your UI / UX for this platform.
Firstly. I should mention that Google has been giving Google TV devices to developers in order to encourage app development for the platform. I applied for a device through this page. At the time of writing applications are still being accepted through this link. Please note that I am in no way affiliated with Google and cannot help you if your application for a device is unsuccessful, or if / when Google decides to cease its developer seeding programme for Google TV.
My first impressions of the device are largely positive. It has massive potential despite a few rough edges. That said it is the first commercially available Google TV release and I am expecting that it will get better and better through further OS releases. Moreover the recent 4.0.4 drop to AOSP contained some TV specific featues, so maybe ICS is coming to Google TV in the near future.
One of the main things that was missing as a consumer device was the lack of Electronic Programme Guide (EPG) support for the UK. This is perfectly understandable given that Google TV is only available in the USA at present. Hopefully this will change soon as Google TV is reportedly being launched in Europe in September 2012.
One feature which I can see great potential is the ability to build apps around the TV content being viewed. Unfortunately this requires a greater degree of communication between Google TV and the TV receiver than is currently available. I can can see the platform being rather limited until we have better integration, but this will surely come once we start seeing TV receivers which directly incorporate Google TV.
One feature which is full of potential is the Anymote Protocol. This is a protocol which enables you to pair another device to the Google TV box and send input events. The possibilities here are quite enormous as we can write apps for phones and / or tablets which will allow us to control the Google TV device remotely. The obvious candidate is to create a remote control app and Google have already done this and released the source code as a working example of how to use the Anymote protocol. Anymote is based upon protocol buffers (or protobuf) which is Google’s data interchange format. This is an interesting choice as it means that Google TV can be controlled by non-Android devices which would simply not be possible if Anymote was implemented as a native Android API.
One potential limitation of Google TV is that gaming can be quite limited if the only control mechanism is the D-pad. The inclusion of Anymote overcomes this by making it possible to have custom controllers which can greatly enhance the control mechanisms available. For example a relatively simple smart phone app could add a touchscreen-based controller, and / or an accelerometer-based controller which could work in a similar way to the Nunchuk Controller for the Nintendo Wii.
In the next article in this series we’ll have a look at the key differences between developing for Google TV compared to the Android phone and tablet devices that we’ve become accustomed to.
© 2012, Mark Allison. All rights reserved.
Google TV – Part 1 by Styling Android is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at http://blog.stylingandroid.com/license-information.