Android host development

Android phone development nowadays is easier. You hardware board always comes with good processor, reasonable amount of RAM and internal storage (e.g. NAND). The chip vendor Android SDK is very stable.

The peak period of my Android host development was in the age of Eclair, Froyo and Gingerbread. At that time, the flat-ship hardware was HTC Desire.  Hm…. slow in 2018? The application software requirements could be demanding because most of the apps were not integrated with hardware accelerated codec. The GPU performance was very limited and it could basically drive a SVGA frame buffer.  All developers were learning how to design a better smart phone. With the opportunities granted from the brands, we deployed ZenTouch2, W920 and xtraTV.  It was not easy to build an Android R&D team from scratch in Hong Kong.

One of the platforms I spent more time was Freescale (NXP) i.MX51.  At that time, the CPU was ARM A8 800MHz and the RAM was mDDR 256MB. Running early Android in this kind of configuration is always challenging.

Nowadays, the mobile processors are very powerful. They can accomplish the job at a lower voltage (by DVFS).  It will dissipate less heat.  On the contrary, in the old days, processors were always running at full force and generate much heat.  Heat dissipation was a big mechanical design issue.  Also, if you plan to acquire the Google certification, the CTS requires you to bundle quite a lot of hardware peripherals in your Android device. If the end-users turn them on at the same time, they can feel the heat immediately.  A defensive approach is to limit your CPU voltage when the temperature sensor reporting it is overheat.

Another common problem I came across was OOM.  Back in 2010s, the common RAM configuration is 256MB.  For a general purpose Android OS, the capacity is not much when the end-users operate multiple Apps (notice that there are system apps and background apps running as well).  The VM heap size for every App were very limited and it introduces tight memory requirement to Android App developers.

I would like to talk more about the xtraTV R&D, in which we learnt a lot from mistakes. xtraTV is a Android box connecting to TV.  It was a pioneer of similar products. At that time, there were a few Apps supporting large TV screen resolution (e.g. 720p or above). Not much chip vendor provided RTM Android SDK with HDMI interface. Google CTS did not grant such hardware configuration with Google Play, which implied that you have to maintain your App community. End-user expected free multimedia channels/content and your business could not ride on illegal Apps.

xtraTV did not generate good sales. It was too early to the market. Although the mission was very tough, I learnt a lot of cross-domain technical know-how with my old teammates.

 xtraTV@siukoonHome 2018

Leave a Reply

Your email address will not be published. Required fields are marked *