Simple Gmail Notes – Firefox Addon

One week after the Chrome extension of simple gmail notes was released, I started to plan on porting of extension to Firefox.

There are 2 major incentives for this porting:

  1. I spent quite a lot of effort to work out the google API for the extension. Most of them are just RESTful HTTP API, which are supposed to work with Firefox extension right alway.
  2. During the implementation of Google extension, I tried to get way from most Chrome specific API (e.g. chrome sync). So theoretically most code should work with Firefox extension.

Read more Simple Gmail Notes – Firefox Addon

Simple Gmail Notes – Chrome Extension

For a long time, I wanted a browser extension that allows me simply add notes to the Gmail. It is because I need some easy way to mark down the comments on the resumes of candidates, Sometimes they would send the resumes across a long time span. Of course I could mark down the notes on evernote, but it's time-consuming and difficult to have an organized list of comments overall candidates, most of which I would not review for the second time.

There was a useful plugin called Notes-For-Gmail. Yet it stopped functioning months ago, and I have no way to contact the author.

Finally I decided my own one, as I really need this. And it seems to be a good chance to learn the Google chrome extension writing as well.

Read more Simple Gmail Notes – Chrome Extension

Testing On Mobile Device – Part 2 – Network Data Mocking

Say, we have a perfect automation system,and we could basically control anything on the device, precisely. Would that imply we are going to have a perfect testing system right away?

Maybe not. Because data is also relevant.

For most automated testing systems, there is a common pattern:

  1. actions / inputs to the system
  2. assertions on the output
  3. further actions
  4. further assertions
  5. ...

That's true for testing system for either web based testing system (e.g. selenium), or mobile applications (e.g. iOS automated testing).

If the system can be fully controlled, such as a standalone invoice system, it would be easy. However, for the other system, especially the mobile apps with dynamic data, that would not be the case.

Read more Testing On Mobile Device – Part 2 – Network Data Mocking

Testing On Mobile Device – Part 1 – Sikuli – VNC


  1. We are a small sized IT company, with around 50 staff and 30 developers.

  2. Like most other IT companies in the world, we don't have full-time engineers work as QA.

  3. Most engineers got more one project at a time. (One for development and one for maintenance.)

  4. Engineers don't have the time (or they just don't care) to write the unit tests and functional tests, even if the tools are provided by iOS and Android development frameworks.

  5. Our QA did most of the testing manually, but it's a boring task. And they are not capable of writing the codes for the unit tests and functional tests.

  6. The Apps for iOS simulator and device have significantly different architecture, but the apps for Android simulator and device are the same.

  7. If the tasks depend on the work of engineers, it normally means the tasks need cooperation of engineer and QA, and the timing would be a big problem.**

So, our goal is

Allow our QA to set up the automated tests for the mobile applications, with zero or minimum efforts of engineering.

Read more Testing On Mobile Device – Part 1 – Sikuli – VNC

A Simple Gallery

So, I would like to give a little present to my newborn son, Bart.

As a programmer father, the most natural option (I believe) is to set up an album for my son. The album would record and consolidate most of the photos of him. It's very easy for people to take photos now, but it's difficult and time-consuming to consolidate them. Besides, as it's more and more easy to record the videos now, so I would also want this site to collect the videos.

This turns out to be an interesting experience, because what I have to be the customer, project manager and engineer at the same time. So I need to think in contradictory ways sometimes, e.g., as an engineer I believe the thing should be good enough to work, but as a customer it's just not yet right.

Read more A Simple Gallery