Android: automatically starts and stops charging using AutomateIt and IFTTT

Modern smartphones are powerful computers and they could/should do things smartly! Such as automatically executing some frequent tasks.

The first thing I want to automate is “smartly charging” my smartphone to prolong its life: to start charging the smartphone when its battery level is below 65% and to stop charging when it is above 75%, as recommended by Battery University.

In my last blogpost I shared a few things that Google Assistant were good at. I want to turn my ASUS Zenfone 3 into an always on voice assistant, like a Google Home. I have to keep Zenfone 3 screen awake but I don’t want to charge it continuously since it is not good to the battery life, according to Battery University.

I need three things to make “smart charging”:

1.a plug or a charger which can be turned on/off dynamically. I have a TP-Link HS110 smart plug and it Kasa app. Checked. which can programmatically control the TP-Link HS100. TP-Link Kasa supports IFTTT. Checked.

3.a tool which can provide input to IFTTT based on the Zenfone battery level. There is a IFTTT trigger service “Android Battery”, however I find this IFTTT trigger service checking frequency is too low (every 15min). It doesn’t always work! I need something more…

Luckily we have the amazing app AutomateIt. I set up two rules:

(a)send an email to my gmail when battery level drops to 65%, and

(b)send an email to my gmail when battery level rises above 75%.

Then I create an IFTTT applet:

THIS condition: any new gmail from with me as the sender, and

THAT action: toggle the TP-Link HS100 smart plug

AutomateIT executes rules instantly. The IFTTT Gmail trigger service checks about every 5 minutes. They works hand in hand to keep 65% < battery level < 75%.

All these make Zenfone a smart device – to do the right things at the right times.

Android: What time is London when Hong Kong is 5pm?

Voice Assistant
Smart Home

I will write three blogposts about Android. This is the first one and is about Voice Assistant.

It is very cold today (31-Jan-2018) in Hong Kong. It is about 9-10c most of the time. Clear air at night but the Blue Moon keeps staying behind the cloud.


Voice interface is a very hot topic recently. Some believes Voice will replace Touch as the most popular computing interface, and people will interact with smart speaker/earpiece more than smartphone in the future.

Voice computing is interesting. Apple is launching is HomePod to compete with Amazon echo and Google home. I have been using Siri (occasionally) for many years. Siri cannot do much in Hong Kong (no “tell me the news”). Echo is not officially available in the Hong Kong. But we have Android Nougat and Google Assistant in Asia. I have a ASUS Zenfone 3. I can do more things with Google Assistant and write about it!


“Let there be light”, say this phase and the lamp is turned on is very very SciFi.

Most of the time I am the one to switch on/off the lights in my room. There are a few illumination devices in my room and I have to move my body physically to control them. It is very interesting, or inspiring, if I can stay still and turn on/off them. (Especially great if I can turn off the light when I’m laying in bed, finish bedside reading and go to sleep in a freezing cold evening!)

I want to experience smart home.

Smart plugs and smart bulbs are expensive, especially those supporting Apple HomeKit. We don’t have many options in Hong Kong. I decided to start my smart home experiment on Google Home platform. I picked up TP-Link HS110 as my first smart home device a few weeks ago.


I like this smart plug because
1.It supports Google Home and Alexa. I want choice and flexibility.
2.TP-Link Kasa mobile app supports both Android and iOS. I can control the plug on iPhone or Zenfone.
3.TP-Link is a reliable brand! Smart plug is a electronic gadget which requires future software update to do more and to become secure. A good brand helps me to protect my investment. I want to use my simple-tasked smart plug for a few years!

After I connect HS110 to my wifi and configure it with the Kasa app, It is easy to set up Google Assistant to control HS110 on Nougat. Follow the “How to Link Google Assistant to your TP-Link Kasa Account (Smartphone App)” guide, go to Google app -> Settings -> Google Assistant -> Settings -> Home Control and then add the TP-Link Kasa. Then give HS110 a name. That’s all and I can say “turn on” to switch on the plug and the lamp connected! It is fun! (More smart home in the coming post).

“What time is London when Hong Kong is 5pm?”

My second use case for voice assistant is to check time. I will meet customers around the world, in different cities and different time zones. When schedule meeting, web tool (e.g. or app (e.g. Time Buddy) are very useful to check the times in different cities. It is not a complicated task, what I have to do is to select a time in pulldown menu or a sliding window. That said, when I write email and propose meeting schedules, it is great if I can focus on the mail client writing the message without switching to another application. It is handy if I can find the time of another city by asking “Hey Google, what time is London when Hong Kong is 5pm”! It just works!

It is sad that Siri cannot do what Google Assistant can!


“Please tell me something.”

My third use case is to talk to something when I am alone (and don’t want to do anything), and get some responses in return. Yes, just that simple. Google Assistant again does a better job that Siri!


I know the cost is high (to let myself becoming a Google product) to use Google Assistant effectively and usefully. Hope Apple improves Siri faster!

There is one thing Apple is better: the Listen for “Hey Siri” feature. Siri can always respond. Google Assistant can respond only when the smartphone screen is on. I have to keep my Zenfone 3 screen always on to make it acts like a smart speaker. I need to do something. Let’s talk about it next time.

Last but not least, half of this article is written VERBALLY!


iPhone X review – 3rd party accessories

I shared my iPhone X experience in the last blogpost. I want to add something more. iPhone X hardware is market leading. On the software side, iOS are much more better than Android in many areas:

1. Media playback control is very easy and user-friendly on iOS. I don’t know why I cannot control music or podcast playback on Android lock screen (ASUS Zenfone 3 with Nougat).
2. Speak Screen is another great iOS feature! It is so nice to lay back with closed eyes and listen to great articles found on web. Safari -> Reader -> Speak Screen.
3. Power management. With it and co-processor, we have Listen to “Hey Siri”. It is a heavy duty to listen for instruction around the clock! iPhone X speaker is loud and microphone is sensitive. It is always with its user. If Siri can do more, iPhone X is a better smart speaker than Amazon Echo and Google Home!

Great apps. Overcast, duet, Workflow and Transmit are fantastic!

Besides great apps, third-party hardware makes iPhone a better ecosystem! Especially true in the smart home market (which is my next blogpost topic). Below are some hardware accessories which I am using and I would like to recommend to you:
1. Spigen X Case Rugged Crystal
2. Quad Lock Run Kit. I used last year iPhone 7 Plus version. It was a must have when I ran. The new Quad Lock for iPhone X is improved and it fits even better with iPhone X. With its small footprint, iPhone X is better running companion! Special thanks to the improvement in delivery. I ordered before Thanksgiving and I received it on 1st Dec! Quick!

3. Momax Q.Pad Wireless Charger

4. Lamicall Foldable Stand


5. Lead Trend Z-Dock. I can plug and unplug my iPhone with a single hand.


6. PQI i-Cable Charging and Sync Stand for Apple Lightning Devices. I bought it a few years ago for iPhone 5. Subsequent Plus devices are too big and heavy to stay stable with this stand. iPhone X can!


iPhone X review. It is Freedom.

Like you, Q4 is a busy quarter! I didn’t wrote any blog since last August! There were many interesting things during the period to write! Let me do it now.

Like many lucky people, I’ve been using iPhone X 256GB Sliver for several month. I would like to share my experience and thoughts with you. If I have to use one word to describe iPhone X – it is freedom.

Apple iPhone X

Below are the great things of iPhone X:

1. Form factor. Size, weight and texture. Iphone X is 43.6mm (height) x 70.9mm (width) x 7.7mm (depth )7.7mm and 174g in weight. It maybe the prefect size of modern smartphone. I had to use two hands to operate the iPhone plus models. I like the bigger screen, more content at a glance and more battery life. I traded them with my single-hand control in the 6/6S/7 plus era. With iOS 11 Reachability, I CAN now use my right hand to ALMOST fully control the new iPhone. It is more challenging for my left hand to swipe-down from the top-right corner to activate the Control Center. The Freedom of single-hand control is (almost) back! Thanks Apple!

2. Great screen.

ASUS Zenfone 3 vs Apple iPhone X

3. Wonderful “Tap-to-Wake” feature. Responsiveness is the best competitive advantage of Apple devices. I have being using ASUS Zenfone 3 (ZE520KL) since last Mar. I love its Tap-to-Wake feature. The screen is the largest physical button. It is easy to tap. It is completely silent (comparing to the somehow annoying sound produced by the haptic engine when press on the iPhone 7 virtual home button). However sometimes the ZE520KL Tap-to-Wake does not work and I have to tap several times. Iphone X Tap-to-Wake always works. It just works!

4. Effort-less Face ID. It is easy to migrate from Touch ID to Face ID. Tap-to-Wake, Raise-to-Wake, and Always-on Listen for “Hey Siri” powered by M11 coprocessor, all these lay the foundation of Face ID. Touch ID requires one physical action to activate. Face ID too. No extra effort.

5. Battery life. Iphone X does a amazing job in power management! With a 2716mAh battery, I’ve never run of power in from 8am to 8pm. Or OLED display is less power demanding then LCD. I don’t have to evaluate if I should carry a battery charger. It is another form of freedom.

6. Wireless charging. Even with a 7.5W fast charging Qi charger, it is slower that a physical lightning cable + any 5Vx2.4A modern USB charger. However, wireless charging is a very pleasant experience. We need two hands to plug in and pull out the lightning cable every time we charge iPhone. To put down and bring up iPhone X from a wireless charger is a single-hand-action.

IPhone X is not perfect. To be exact, the Apple iOS ecosystem is not perfect. It is cool that I don’t have to do much to change form iPhone 7 Plus to iPhone X. It is almost effortless. I don’t have to pay special attention other than to avoid dropping it!

However, iPhone X is losing my attention too. I spend much more time on the 1.5-year-old ZE520KL in the last few weeks. Why? It is easy to hold (144g). Google Assistant can do more than Siri. There are more Smart Home devices supporting Google Assistant than Apple HomeKit!

More to share in the next blogpost!

“Let no corrupt communication proceed out of your month, but that which is good to the use of edifying, that it may minister grace unto the hearers.” Ephesians 4:29

How to use FlowPlayer to play HLS video without Flash plugin

Last update: 20170811

Flash is dead, announced by Adobe on 25th July 2017.

One major use of Flash is to playback video in browsers. If one uses videos on its website, one should better update its website to playback video without using Flash.

So I am going to do it now.

Mobile first, I use HLS videos in my website. It is year 2017 and HLS is the de facto video streaming communications protocol for mobile devices. However, many desktop browsers such as IE and Chrome do not natively support HLS. They cannot playback HLS video! Here is the list of browsers with HLS native support at Bitmovin.

In order to make videos viewable in all browsers and on all devices, there are video players to achieve cross browser and cross device compatibility. Flowplayer, Video.js and JWPlayer are the most popular ones. I am going to use the free version Flowplayer on my website.

The Flowplayer hlsjs plugin enables HLS playback in modern browsers and devices without requiring Flash. Here is the official setup documentation. In short, I have to do two things:

  • add Flowplayer skin, library and engines in the head section of webpage
  • install Flowplayer & using Pure Javascript methods in the body section

Here is the demo page using Flowplayer hlsjs plugin: The two things above-mentioned can be easily identified in the html source.



  1. I use AWS S3 to keep the HLS files. More information at my previous post How to use AWS S3 as Customer Origin for HLS videos
  2. I am comparing Soasta and Pingdom RUM solutions on my demo pages. I need more real users to generate more measurements. Please help to share my demo site with your friends.
  3. I am testing Fastly and NS1 Geotarget routing DNS feature. Here is the testing page:

Last but not least, may God bless the people in Jiuzhaigou.

Make your embed Youtube video works in China

To make your website videos great again.

A Forbes article says video is of the seven important areas which can improvement a website user experience and engagement.

Many companies agree and add Youtube videos to their websites. Why Youtube? No cost, easy to use (to embed videos in webpage) and easy to consume (to watch and to share, from enduser perspective). Besides some other downsides, one major challenge of using YouTube video on your corporate website is that YouTube is blocked in some countries (China, for example). So you neither can tell your story using Youtube nor you provide a good UX to all users.

Broken Youtube video

It is not unusual to see broken content… it is not great:(

Even Google cannot make Youtube works in China. I cannot too. What I am trying to do is to add user location-awareness to the website. To make a website to show different content to users in different locations.

I Cloud can do all things. I am going to use different cloud services to demonstrate the solution.
The key element is a DNS service with Geolocation Routing capability, such as Verizon Route and AWS Route 53. There is one hostname an and URL only. No need to remember,,, etc.


Geolocation Routing lets you choose the resources that serve your traffic based on the geographic location of your users, meaning the location from which DNS queries originate.


Demo setup:

  1. a webpage (a) with Youtube video, hosted on a AWS S3 bucket
  2. a similar webpage (b) using a mp4 video, hosted in another AWS S3 bucket
  3. webpage (a) is accelerated by KeyCDN for Europe, and AWS CloudFront elsewhere
  4. webpage (b) is accelerated by ChinaChina for China and Japan
  5. AWS Route 53 is configured to resolve the hostname to
    • ChinaCache CDN URL for users located in China or Japan
    • KeyCDN CDN URL for user located in Europe
    • CloudFront CDN URL for user elsewhere
AWS Route 53 Geolocation Routing setup

AWS Route 53 Geolocation Routing setup

We will use VPN service such as VyprVPN or Hola!VPN to connect to different locations and then browse and see what content we get. Below video showing that I received the webpage (a) (with embed Youtube video), then I got the webpage (b) when I was using Hola!VPN to connect to Japan.


Wish you a joyful weekend:)

Apple iPad Pro 10.5” review – web developer and admin perspective

Last update: 20170709

Objective: to build and operate a Fast and Responsive static website, as a habit

Tool: Apple iPad Pro 10.5” only

I have been using the new Apple iPad Pro 10.5” for nearly a month. My old iPad Air was mainly used to watch TV and to do video conferencing. It could not multi-task. It was too thick and too heavy to carry when compared to iPhone.

The new Apple iPad Pro 10.5” is more, VERY to be exact, powerful. Can do better multi-tasking with iOS11. With larger screen and Smart Keyboard, it can do somethings which are difficult to do on iPhone, such as webpage coding and cloud service management.

To build and operate a website, we need both Development Tools and Cloud Services. Since we’re using iPad only, we need to make sure the platforms provide fast and easy to use web portal. After trying many options, below are my suggestions for Cloud Services (1-3) and Development Tools (4-6) to achieve our above-mentioned objective.

1.Cloud storage: AWS S3 (upload/download and edit via Transmit)

2.CDN: AWS CloudFront, KeyCDN, ChinaCache


    • User demographics & behavior: Google Analytics
    • Real User Measurement: Soasta mPulse

    • Synthetic Performance Measurement: Uptrends

4.HTML Editor: Nitro HTML (split view to edit HTML source and visualize page at the same time)

5.FTP: Transmit (build-in editor to make small/quick modification on the fly is a bonus!)

6.Testing/checking Tools

    • VPN: VyprVPN
    • DNS checking: DIG

    • HTTP response header: WebScope

All these Cloud Services and Development Tools are good values and inexpensive, some of them are FREE!

With all these, I built and launched my revamped demo site .