2016-12-27

Android vs. Android TV Apps

Google put users and developers in a confusing spot when it released the Google TV version of Android. But at least on the app side, users did not feel much difference since they pretty much ran the same apps from Android smartphones or tables and navigated via the touch pad on the remote control. Nevertheless, the apps designed for mobile devices are simply not all suitable for a large screen display operated by a remote control. Doing something like that is reminiscent of Microsoft putting Windows interface on a small mobile phone display in about two decades ago.

With Android TV, Google released an operating system UI better tailored for TV display and navigation. And it is placing app emphasis on TV contents- so much of that by limiting the search on media content with integrated voice search. The Android TV UI now looks more like what Microsoft did for Xbox and Sony did for Playstation  "a few years ago." But, wait, what does "a few years ago" mean? Simple, just put an Android TV next to an XBox One or PS4 and browse through their main screens, users can easily find that Android TV is missing a web browser app. Correct, as a TV console, XBox and Playstation users had asked Microsoft and Sony to include a web browser app for a long time and finally got it but somehow Google did not learn the lesson to include a web browser app in Android TV.

A sample Android TV main screen

Well, some would say, "fear not", because Android TV is Android anyway, it runs most apps designed for smartphones or tablets. Users can check that installation from "Unknown source" option, download the Chrome browser APK from Internet to a USB storage and plug it to the Android TV to install the much needed web browser. However, as mentioned earlier, Android TV is designed for TV navigation, and Google has different guidelines on its app's UI design, therefore, although Android TV runs apps designed for smart devices, its remote control cannot navigate those apps' UI fluently. The Chrome web browser app, for example, is very difficult to use unless a Bluetooth keyboard with a touch pad or a mouse is connected to the Android TV device to bring up the mouse pointer in order to reach all UI components in the app.

If users did install their favorite Android smartphone or tablet apps on the Android TV device, they would see that there is no place to launch the apps except by selecting the app to open from "Settings > Apps". This is because regular Android apps were not built with an "LEANBACK_LAUNCHER" category in the app's manifest XML(see sample below) to display the app's icon on Android TV's main screen.

   <intent-filter>  
         <action android:name="android.intent.action.MAIN" />  
         <category android:name="android.intent.category.LEANBACK_LAUNCHER" />   
   </intent-filter>  

A remedy to display installed Android app's icons is to install a free "side-load" launcher from the Google Play store on Android TV. When launched, such an app will list launch icons of installed Android apps on the system(Android or Android TV apps with "android.intent.category.LAUNCHER" intent-filter category defined) for users to select and launch through the navigation by an Android TV remote control.

Screen from a launcher app for side-loaded app

Android TV does have the on-screen keyboard for input via its remote control, and some Android TV devices manufacturers also sell game controllers to use with their products(such as Nvidia Shield TV). The game controller can bring up the mouse pointer for point and click on the Android app UI, therefore, it is useful for Android TV device that has Android apps installed.

2016-12-26

Xiaomi Mi Box - A small but capable Android TV device

Android TV is a version of the Android operation system Google tailored for TV sets. It is not the first attempt by Google to make an operating system for TVs. Its predecessor, Google TV, did not do well because its interface was too much like the touch UI of the smartphone/tablet Android versions, and it did not work with users' TV viewing experiences too well since the apps were not designed for simple remote control navigation.

With the release of Android TV, Google also sells the Nexus Player to promote it. And in this iteration, its UI is more similar to that of the TV game console such as XBox One or PS4, which is more suitable to navigate an app's functions through remote control. It therefore attracts company like Nvidia to build the Shield TV device and several name brand TV manufacturers to build TV sets with Android TV built-in.

The brief Android TV history aside, this blog is to introduce the Xiaomi Mi Box. It is a cheaper and more powerful Android TV device to replace the Nexus Player which Google no longer sells in its store.

The Mi Box is available in Xiaomi's Global store or WalMart for US$69. It is much cheaper than the Nexus Player or the Nvidia Shield TV. And unlike the Nexus Player which only supports WiFi network connection, the Mi Box also comes with an Ethernet port. Internet connection through Ethernet port is genuinely better for streaming performance, and it makes sense to households who actually have their cable modems or DSL modems near their TV sets; the Mi Box can conveniently connect to the modem with an Ethernet cable.

The content of the Xiaomi Mi Box package
In comparison to the Nexus Player, the Mi Box has a few features best the prior. As shown in the photo here, the Mi Box remote(the one at the bottom) has a Power On/Off button and the volume Up/Down buttons.


The Mi Box' Power button does not fully shut down the device by default, it is the Suspend/Resume button. Users can configure the Power button in the "Preferences, > Power key definition" option to do Restart instead but since such an option is available in "Settings > About", it is ideal to leave the Power button with its default setting.



As for the volume button, Google designed the Nexus Player to have the audio volume fully controlled by the TV's remote control, however, there are occasions where it is more convenient to control the device's audio output independently. For example, when the user is using the Android TV device to switch between streaming contents, it is more intuitive to adjust volume on the same remote control.

Another feature with the Mi Box worth pointing out, is in the Settings menu, it has a "Display" menu with options to set up how it works with the TV display. The most useful Display option among all, is the "Screen Position" option. Android TV devices do not work with all TVs display sizes perfectly. On some incompatible TVs, it is common to see "Overscan"(the device's display output is bigger than the TV's display area. To resolve such Overscan issue, on the Mi Box, users can go to "Settings > Display > Screen Position" to select "Zoom in screen" or "Zoom out screen" to adjust the device's display output to match the TV's display area(see screenshots below).




TV manufacturers like Sony and Sharp have products that have Android TV built-in. To those who are in the market for a new TV and want one with the Android TV capability, those are good options. However, they are generally a few hundred dollars more expensive than TV sets of about the same models but without the Android TV feature. Therefore, unless operating one additional remote controller is a concern, it is cheaper to attach an Android TV device like the Mi Box to the TV.