Thursday, December 18, 2014

Andromium Dock Display-Out Connection to TV/Monitor (Part 1)

I have been getting a lot of question about the internal working of the Andromium Dock, and why we need new docks for HTC and LG phones. I want to use the chance to create a new blog article(s) to explain how display-out from the Andromium Dock works, and why Android external display support is a big mess.

Before diving in the the design of the Andromium Dock, I want to give some technical background information in part 1 of the article. I think many of our backers would enjoy the technical information. Please feel free to comment and ask questions :)

Currently there are 3 different and incompatible display-out standards for smartphones, to connect a Android smartphone to TV/Monitor.

  1. MHL (Mobile High Definition Link): is the standard that Samsung and HTC and Sony back. Many of their high end devices have this function build into the smartphone to allow it to connect to an external TV/Monitor. There are 3(4) MHL standards, basically new updates (just like USB have 1.0, 1.1, 2.0, 3.0 and 3.1 standards that improved upon the last).
    1. MHL 1.0: First MHL standard, allow video connection to TV up to 1080p30, and also allow the phone/tablet to be charging while the connected to an external display, at up to 5v x 0.5a charging capacity.
      1. This standard is design for movie viewing. 30fps provide a smooth user experience for regular UI interaction and movies, but for gaming, usually 60fps is preferred.
      2. 5v x 0.5a is really low charging current for modern day smartphones, for many high end devices and tablets, the power supply is simply not enough to power both device and the MHL connection itself.
      3. Also simultaneous USB-OTG and MHL display-out is not supported. User have to decide if they want to use USB devices attached to the phone, or the display-out functionality.
    2. MHL 2.0: attempts to fix the shortcoming of MHL 1.0 standard
      1. New spec allow video-out at up to 1080p60, which also allow a smooth gaming experience when using MHL attached display to play games.
      2. Charging current has been increase to 5volt x 0.9amp, split between MHL dock and the phones, to provide more charging power to the phone. (In practice, even 5v * 0.9a is not enough for modern day smartphones/tablets, newer devices now a days wants 9v * 1.75a charging capacity)
      3. Simultaneous USB-OTG and MHL functionality is OPTIONAL, up to the manufacture if they want to provided it. (BIG MISTAKE, this should have been a standard requirement, not an optional feature!!!)
      4. MHL 2.0 is suppose to be backward compatible with MHL 1.0 (however based on our testing, this is not always true, especially in Samsung devices)
    3. MHL 2.1???: 
      • many current devices release toward the end of 2014 claim to use MHL 2.1 standard. But so far there is no information published that describe what the difference between MHL 2.0 and MHL 2.1 standard. (is MHL 2.1 standard really a published standard, or just marketing hype?)
    4. MHL 3.0: new standard finalized in 2014, 
      1. 4k support at 30hz (30fps)
      2. 1080p up to 120fps (1080p120), also support 3D.
      3. Simultaneous USB-OTG and MHL display-out NATIVELY SUPPORTED, no longer just an optional requirement (Finally!!!!)
      4. Multi-display support, allow 1port/link to support multiple external TV/Monitors
      5. And a few other minor cool features, like DTS 7.1 audio out support.
      6. Increase charging current limit further increase to 10w+?
      7. Only available on very few high-end Android phones as of Dec 2014.
      8. Backward compatibility with MHL 2.0 and MHL 1.0 is unknown!!!
  2. Slim-port: competing standard to MHL, supported by LG, and few other smaller manufactures
    1. DOES NOT allow Simultaneous USB-OTG and display-out.
    2. Similar charging current limit as the MHL 2.0 standard
    3. Single standard, so far. Support up to 4k (but very little public information about the specification)
  3. Micro-HDMI: no longer supported by major Android manufactures. But was backed by Motorola during 2011, and 2012
    1. Just a HDMI port shrunk down to fit on smartphones.
    2. Require a separate port to charge the phone and provide USB-OTG functionalities. (so the phone will need two ports, one for USB, one for the Micro-HDMI)
  4. USB-OTG: while not a display-out standard, I want to mention it here to let reader know what it is.
    1. It uses the same micro usb charging port on phones to also connect external USB devices (keyboard/mouse/HDD), to be use by the android devices.
    2. It is build into most Android phones, but not all, many low end Android phones DO NOT have this functions
    3. Optionally allows charging and also using external USB devices at the same time.
Ok, a lot of information, on the next article, I am going to go over how the above display-out standards affect the design of the Andromium Dock, and why we need to design separate docks for Samsung, HTC and LG devices. Stay tune.

Tuesday, December 16, 2014

Andromium OS - Chromecast (Nexus 6) support

      Nexus 6 and Chromecast support: What is the trade off between using Chromecast and direct HDMI connection?
  1.  Like the HTC and LG phone, the Nexus 6 phone is missing a hardware component. In this case Nexus 6 and most recent Moto phones doesn’t have any USB display-out capability build into the USB connector.
  2. When using N6 & Chromecast to do display-out to TV/Monitor, it will introduce a slight variable latency (25ms to 100ms+). This latency can be almost unnoticeable to the user, when users are working on office documents, coding, or watching videos. The latency varies depending on how much is changing on the TV/Monitor display at any given time.
    1. When users are working on Word or Excel documents or coding, the screen display is mostly static/unchanging. At this point the latency is at the lowest (~25ms) because there is a very low amount of data being sent between the N6 and Chromecast.
    2. Watching videos tends to introduce a bit higher latency (~60ms or higher), but since both video and audio are staying in sync, and because the user is not actively using keyboard or mouse. Latency won’t impact the user experience.
    3. Gaming is an area where latency can become an issue. For any games that require twitch reaction: FPS, Platform games…, latency can reduce the user experience. However, for games that are not driven by twitch reactions: RPG, 4x strategy, turn based games…, latency shouldn’t be a problem.
    4. For some reference on latency: Game controller manufactures usually target sub 15ms latency for their controllers.
    5. According to John Carmack, one of the chief developers of Oculus Rift, latency around 20ms and lower are not noticeable by most people.
  3. We are currently also testing GS5, OPO and Moto X 2nd gen. Chromecast support and the results are pretty encouraging
  4. Unfortunately, testing with GS4 and Note2 Chromecast is less than encouraging as both latency and image quality is a problem.
Update (12/20/2014): We have finished preliminary testing of GS5, N5, and OPO, and the latency and image quality was similar to the Nexus6 and Note4, so we are officially supporting Andromium OS on those devices. We are also further adding HTC One M8, and LG G3 to our support list, because they are very similar to the 3 phone tested above (One M8 same internal as GS5 & G3 same internal as OPO).

To all our supporters and backers: Happy Holidays.

- Gordon