Now, after 5 months of development for Firefox extension of Simple Gmail Notes, most features are stabilized and the features could be shared between Chrome and Firefox easily. In the last few revisions, the cross-browser migration (Firefox -> Chrome or Chrome -> Firefox) all took less than 1 hour. Basically, the initial pain on the development of extension development gradually passed away.
However, I would like to further discuss the review process of Firefox. As mentioned before, Firefox uses a manual review process, it is much more strict than Google Chrome extensions (which is, basically, nil).
According to the official documentation of Firefox, normally, the first review process is going to take longer, and the review for afterward updates would be faster in general. And that's indeed true for most of the cases. However, when I try to update my extension to version 0.3.0
, I got stuck for more than a month!
There are two reasons for the slowness of review process,
-
They need to go through careful code review and functional tests. In my experiences, the reviewers like the code review part much more. Apparently most reviewers are engineers, instead of testers.
-
There is a huge variation among different reviewers. Some reviewer would give a brief check, and some would check very carefully. Like the iOS application submissions, you need a lot of luck to have you application passed smoothly. And for my
0.3.0
extension, I got a reviewer even worse: he disappeared. Yes, he just disappeared.
The Story
This is what happened, as far as I could tell:
-
When I first submit the application, I got a query email that night and I am asked for some more details about the change of open sourced library. Apparently, my extension review was assigned to that person by the first day.
-
However, there is no single official mechanism to respond to the query. I tried all I can: reply to the query email at the same day, add more detail to the existing application by the next day, and even submit a new application after 1 week of further dead air. But all no luck. Finally, as hinted by the email, I even tried to raise questions in the newsgroup, and for the first time of my life, I logged into the Firefox IRC (yes, I even installed an IRC client for this) and raise the question in the IRC, but there is still no reply.
-
I literally give up after three weeks.
-
One month later, someone from Firefox suddenly sent an email to me and apologize for the slow response. And he suggested me to re-submit the extension for the review process.
-
I re-submitted.
-
This time a very experienced reviewer carefully checked my code, and find a number of security issues. They are all very, very nice suggestions, including potential security flaws and name space conflict handling for jQuery.
-
I spent a week to study the comments and fix them, and submit again.
-
The extension got approved by the next day!
Lessons
Here is what I learned from the review process of Firefox:
-
In the notes to the reviewer, mark down all open sourced libraries you used, and the corresponding GitHub URL. You have to tell the exact revision of the library you used. They would use the sha checksum to ensure you did not slightly modify the library to do something evil.
-
If, for any reason, you have to change the open source library, you better spot out where did you change. One simple way is to fork the library in your own GitHub account, and send them a link for the changeset you made to the library.
-
In all future submissions, always put down all your previous comments about changes of open source libraries. The reviewer for last revision may not be the same one for the next revision.
-
In most cases, you need to resubmit the application in order to have the reviewers check you application again.
-
Don't complain in the newsgroup, it does not work. IRC does not help much either. Try to directly reply to query email from Firefox, or you may send a brand new email to the reviewer group (
[email protected]
), that might help a little. -
It's normal to take up to 3 days for the checking of extension, but if you got longer than that, good luck!
Leave a comment