Apology to Adblock Plus users - and call for participation · 2009-08-02 23:31 by Wladimir Palant
Note: I do not usually syndicate blog posts about Adblock Plus to Planet Mozilla. I chose to make an exception for this one to reach more Adblock Plus users.
Another note: This post grew quite long. If you are only interested in what you can do to help the Adblock Plus project, feel free to skip to the last section.
I messed up, really sorry about that. Some people already noticed that Adblock Plus 1.1 release didn’t have the quality you would usually expect. Right now, it looks like there are something like three distinct regressions of which I can only reproduce one so far. And what is worse, I went on vacation only a few days after the release and didn’t have a chance to properly investigate these issues — even less to fix those. So users who are affected and can no longer use Adblock Plus can only revert to Adblock Plus 1.0.2 for now.
People who have been with the project since the beginning will know that this is not the first time I do release and run. Back then I was a frequently flying between Norway and Germany and would occasionally push out a release just before leaving. This went without any real issues, most of the time I was releasing local and rather well-tested changes.
Not so this time. On the one hand, the user base has grown a lot — and with it the requirements on the quality of the releases. I get bug reports for pretty obscure configurations these days. On the other hand, Adblock Plus 1.1 changed some core functionality in a very significant way. This was to improve memory use and performance while cleaning up some old code at the same time — but the changes were pretty complex.
This would usually not be a problem, after all we have several hundred users installing Adblock Plus development builds to help catch issues early. But this time I had to do some late changes to fix issues they discovered — and still rushed out the release despite some concerns because otherwise it would come out significantly later. I also had the impression that there was less feedback on the development builds than usually, probably due to summer vacations. All regressions only happen for some users while not for others which made sure that they weren’t caught before the release.
What is being done now
I am back from my vacation. The bad news still: I cannot start working on these regressions right now. Between my other responsibilities there is very little time left for Adblock Plus and I am still going through my mail some of which contains the info I need to reproduce the issues. I hope that the forum has some useful info as well but I didn’t get to it yet and most likely won’t be able to look at all threads (please send me a mail if you think that something there needs my attention). I should have more time starting Tuesday next week, if everything goes well Adblock Plus 1.1.1 will be released around 10th of August.
How to prevent such issues in future
More development build usage
One measure that will hopefully help catch more issues before release was already implemented shortly before Adblock Plus 1.1 release. Previously I would upload development builds manually whenever major changes are made. Now the builds are created automatically each day if changes are found in the source code repository. And you will get update notifications for development builds, with all changes to the previous development build listed (make sure to click “Show Information” button):
I hope this will make sure that more people are running the latest Adblock Plus development build and I will continue to announce major changes in the corresponding section of the blog. I already see around 400 active daily users for development builds, tendency increasing. If you are one of them, don’t hesitate to report any abnormalities you notice. This is easiest in the forum (you can just hit “post reply” button, registration not required).
Respecting quality concerns
Of course you don’t do significant changes shortly before a release — this is something I should have known better. So in future I should accept the fact that the pace of Adblock Plus development is rather moderate, that’s all that is possible with the time available. Saving on the quality is not the solution. If significant changes are necessary this should be more than reason enough to push back a release, as it has been in this project in the past.
The other fact that I need to accept is that I can no longer deal with any issues after a release in just three days. For future releases I should make sure that I have enough time to investigate any issues reported, create a fix if necessary, get it tested by the community and release a new version. Two weeks should be more realistic for that.
Distributing tasks and responsibilities
The issue that is harder to fix is that I’m hitting my limits with the maintenance of this project. Time has been a big issue lately and while getting more time to work on Adblock Plus is probably an option (I have an idea that I will probably blog about later), it is better to make sure that we don’t have everything depending on a single person. I’ll list the various tasks around Adblock Plus and I hope that some people will feel the urge to help with some of those (contact me then):
- Coding. This is no longer the most time-consuming part of the project but I am happily accepting contributions. So far, the only significant code contribution came from Nickolay Ponomarev and I would definitely like to see more. Read the documentation, get the source code and send me your patches. For more complicated changes better check with me first, otherwise you might spend too much time on a suboptimal solution which will need to be reworked.
Note: Much of the source code has JSDoc comments. In future I would like to have source code documentation generated from those automatically when development builds are created.
- Documentation. As I indicated in the forum, I would like to move the documentation into a wiki. The idea is to both simplify syncing of documentation across languages (something that I currently spend a fair amount of time on) as well as have more people work on it. There are several parts of the FAQ that need updating, reorganizing the documentation to put more stress on documents like Getting started wouldn’t be wrong either. Both are tasks I didn’t manage to get to in a while.
- Forum. This is one area where distribution of responsibilities works pretty well already, there is a fair number of people helping newbies and exchanging knowledge. One improvement would be creating some documentation for typical problems however. Another would be providing some guidance on how to help people reporting bugs — e.g. getting the relevant information from them, reproducing the bug, placing the blame correctly. In case of Adblock Plus the blame rarely goes to Adblock Plus itself. More often it is filter lists, the website, the browser, browser plug-ins, other extensions.
- Forum moderation. This is mostly about fighting spam. While automatically generated spam is at zero, we have occasional spam posts created by humans (typically Chinese or Indian, some even advertise “data entry jobs”). At the moment, Adblock Plus Fan and IceDogg usually remove these in a timely fashion (thanks!) but having more people at it might help.
- Bugzilla. I have been playing with the thought of closing Bugzilla for a while already. While it has some advantages to have it around, it seems to have more disadvantages for us. Now seems to be a good time to actually do it.
- Email. I currently have a stock of around 350 unread emails (it was 200 before my vacation, slowly growing). Given that I advertise my email address everywhere this it not a surprise, rather the fact that in the end I get relatively few emails. But of course the users who took the time to write me deserve better. I am playing with the thought of forwarding some of the mail coming to email@example.com to some other people who could take care of the easy questions then (which make up the bulk of it), would be nice to see some forum veterans volunteer. Only problem is that people don’t expect a mailing list behind this address, it would be nice to communicate this fact somehow.
- Server. Now that the server is all set up it requires relatively little attention. There is a recurring task however: upgrading PHP applications installed (currently phpBB and Textpattern, in future a wiki as well). Given that I have custom patches applied to both (this is worse for phpBB that doesn’t support plug-ins) this task isn’t quite trivial and takes some time. So I would like to give away maintenance of the PHP applications — if I find a suitable volunteer. Please have understanding that I will only accept somebody with sufficient credibility here, this would give the person responsible significant power, despite restricted user accounts.
- Releases. Getting releases out of the door takes considerable time. My current release checklist has 23 bullet points — this is already an improvement, it used to be longer. Managing translations is the most time consuming part here, despite using Babelzilla. While I managed to automate some tasks there, there is still much communication with translators required (note that there are 50 of them). I don’t expect any volunteers for that task but I would like to be surprised.
Commenting is closed for this article.